2013-04-14 49 views
2
try { 
    Document document = new Document(); 
    PdfWriter.getInstance(document, new FileOutputStream("Report.pdf")); 
    document.open(); 
    document.add(new Paragraph("Hello World")); 
    document.close(); 
} catch (Exception e) { 
    JOptionPane.showMessageDialog(null, e); 
} 

這是我寫在NetBeans的代碼,但我在第一線得到錯誤:文檔是抽象的;不能被實例化

error 1 in 1st line: Document is abstract; cannot be instantiated 

error 2 in 2nd line cannot find symbol ,symbol: variable PdfWriter 
+0

PdfWriter是由第三方罐子提供的還是由您自己提供的? –

+0

PdfWriter由第三方罐子提供 – user2279470

+0

所以有兩個問題!首先,在編譯代碼時檢查第三方jar是否在類路徑中。其次,檢查API類的Document以瞭解如何創建新文檔,我猜這個對象應該由一些Factory類創建。 –

回答

5

你都清楚地導入錯誤Document類,正確導入com.itextpdf.text.Document,更新進口報表,這將被修復。

+1

如何導入com.itextpdf.text.Document? – user2279470

+2

看看http://itextpdf.com/examples/iia.php?id=12你可以看到行import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.Paragraph; import com.itextpdf.text.pdf.PdfWriter; (另外:你有沒有寫過Java應用程序?) –

+0

當我移植這些頭文件時,它再次在導入行中出現錯誤(在import com.itextpdf.text.Document; )本身。我得到這個錯誤:未使用導入 – user2279470

2

要解決此問題,你必須複製並粘貼此import語句:

import com.itextpdf.text.Document; 
1

下載iText的-5.1.3它將工作100%地肯定。 :)和將所有JAR添加到您的項目中。 我面臨同樣的問題並解決它。

+0

這不會有什麼好處。首先,如其他答案所述,操作者必須使用正確的「文檔」類,例如,通過導入它。如果有人建議重新下載圖書館,應該推薦一個最新版本(截至目前至少5.5.10),而不是一個古老版本。 – mkl