2015-05-17 7 views
1

Я работаю над простым проектом Java в eclipse juno, используя jre6/jdk6 как runtime/compiler. Я хочу использовать apache pdfbox для создания некоторых PDF-файлов. У меня есть downloaded и добавлен pdfbox 1.8.9 в мой путь сборки. теперь я взял образец кода от here и использовал его в своем приложении, но он дает мне несколько ошибок, которые, я думаю, связаны с некоторыми проблемами среды.Ошибка при использовании pdfbox для создания pdf: Идентификатор, ожидаемый после этого токена

import org.apache.pdfbox.pdmodel.PDDocument; 
import org.apache.pdfbox.pdmodel.PDPage; 
public class TestPdf { 

PDDocument document = new PDDocument(); 
// Create a new blank page and add it to the document 
PDPage blankPage = new PDPage(); 
document.addPage(blankPage); 
// Save the newly created document 
document.save("BlankPage.pdf"); 
// finally make sure that the document is properly 
// closed. 
document.close(); 
} 

Эти ошибки я получаю:

Syntax error on token "blankPage", VariableDeclaratorId expected after this token 
Syntax error on token ""BlankPage.pdf"", delete this token 
Syntax error on token "close", Identifier expected after this token 
+1

Кажется, ошибки Javac! – Raffaele

+0

Я тоже думаю, что @Raffaele, но как исправить? –

+0

@SubhamTripathi См. Мой ответ и дайте мне знать, если вам нужны дополнительные разъяснения. – CKing

ответ

3

Вы должны создать метод и переместить часть кода внутри метода:

public class TestPdf { 

    PDDocument document = new PDDocument(); 
    // Create a new blank page and add it to the document 
    PDPage blankPage = new PDPage(); 

    public void createDocument()throws Exception { 
     document.addPage(blankPage); 
     // Save the newly created document 
     document.save("BlankPage.pdf"); 
     // finally make sure that the document is properly 
     // closed. 
     document.close(); 
    } 
} 

код, который Вы отправили в ваш вопрос противоречит синтаксическим правилам языка Java. Вы можете узнать больше о структуре класса here

+0

Я работал для меня. но почему он не работал раньше, можете ли вы пролить свет на него? –

+2

Это очень распространенная ошибка, которую разработчики делают, когда они быстро пишут код. Ваш код не работал, потому что код, который я переместил в метод createDocument, не может быть объявлен без использования метода-экземпляра, статического блока или блока экземпляра. Это синтаксис Java для вас, и вы не можете идти против синтаксиса языка. Я верю, что ответил на ваш вопрос, поэтому не забудьте нажать галочку и верхнюю часть :) – CKing

+1

нажмет на галочку точно ... спасибо за помощь :) –