Java iText PDF创建错误

Java iText PDF创建错误,java,pdf,netbeans,itext,Java,Pdf,Netbeans,Itext,我正在使用iText从使用NetBeans 8.2的Java文件创建PDF文件。我已经从下载了iText JAR文件。我的iText版本是7.0.2 以下是部分代码(我只包括从Java文件导入的文件和与iText相关的代码): attention.java import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfReader; import com.itextpdf.kernel.pdf.PdfW

我正在使用iText从使用NetBeans 8.2的Java文件创建PDF文件。我已经从下载了iText JAR文件。我的iText版本是7.0.2

以下是部分代码(我只包括从Java文件导入的文件和与iText相关的代码):
attention.java

import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfReader;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Paragraph;

.
.
.
.

try {
    OutputStream output = new FileOutputStream(new File("C:\\Users\\dell\\Desktop\\Attendance.pdf"));
    DefaultListModel model1 = (DefaultListModel)present.getModel();            
    Document doc = new Document();
    PdfWriter.getInstance(doc, output);
    doc.open();
    for (int i = 0; i < 68; i++) {
        doc.add(new Paragraph((String) model1.getElementAt(i)));
    }                      
} catch (FileNotFoundException ex) {
    Logger.getLogger(Attendance.class.getName()).log(Level.SEVERE, null, ex);
}
import com.itextpdf.kernel.pdf.PdfDocument;
导入com.itextpdf.kernel.pdf.PdfReader;
导入com.itextpdf.kernel.pdf.PdfWriter;
导入com.itextpdf.layout.Document;
导入com.itextpdf.layout.element.paragration;
.
.
.
.
试一试{
OutputStream输出=新文件OutputStream(新文件(“C:\\Users\\dell\\Desktop\\Attention.pdf”);
DefaultListModel1=(DefaultListModel)present.getModel();
单据单据=新单据();
PdfWriter.getInstance(文档,输出);
doc.open();
对于(int i=0;i<68;i++){
添加文件(新段落((字符串)model1.getElementAt(i));
}                      
}捕获(FileNotFoundException ex){
Logger.getLogger(attention.class.getName()).log(Level.SEVERE,null,ex);
}
问题:

我发现以下3个错误:

  • 找不到适合文档的构造函数(无参数)

  • 找不到符号:getInstance(文档,OutputStream)

  • 找不到符号:open()


  • 我已经学习了很多教程,比如,但不知何故,它们没有遇到我所面临的错误,即使我使用了相同的代码。如果有人使用iText做了这样的事情,任何建议都将不胜感激。如果您需要更多信息,请告诉我。

    您混淆了iText 5教程和iText 7代码。您使用的是iText 7,但您看到的是描述如何使用iText 5的非官方教程。iText 7是对iText 5的完全重写,而API则完全不同

    请查看官方网站上的以下教程:

    可以找到hello world示例,如下所示:

    //Initialize PDF writer
    PdfWriter writer = new PdfWriter(dest);
    //Initialize PDF document
    PdfDocument pdf = new PdfDocument(writer);
    // Initialize document
    Document document = new Document(pdf);
    //Add paragraph to the document
    document.add(new Paragraph("Hello World!"));
    //Close document
    document.close(); 
    
    正如您所看到的,它与您正在使用的iText 5代码完全不同

    重要提示:请始终转到以获取信息!有许多网站包含给你错误建议的例子,特别是关于数字签名(过时的例子)和合并PDF(错误的方法)


    至于下载iText,请始终从开始,因为其中包含指向最新版本的链接,包括附加组件的兼容性矩阵。

    您将iText 5教程和iText 7代码混为一谈。您使用的是iText 7,但您看到的是描述如何使用iText 5的非官方教程。iText 7是对iText 5的完全重写,而API则完全不同

    请查看官方网站上的以下教程:

    可以找到hello world示例,如下所示:

    //Initialize PDF writer
    PdfWriter writer = new PdfWriter(dest);
    //Initialize PDF document
    PdfDocument pdf = new PdfDocument(writer);
    // Initialize document
    Document document = new Document(pdf);
    //Add paragraph to the document
    document.add(new Paragraph("Hello World!"));
    //Close document
    document.close(); 
    
    正如您所看到的,它与您正在使用的iText 5代码完全不同

    重要提示:请始终转到以获取信息!有许多网站包含给你错误建议的例子,特别是关于数字签名(过时的例子)和合并PDF(错误的方法)


    至于下载iText,请始终从开始,因为其中包含指向最新版本的链接,包括附加组件的兼容性矩阵。

    Hi Michaël。我们同时回答。我将把我的答案合并到您的答案中,然后删除我的答案。您可能还想指出,source forge不是下载当前iText版本的最佳站点。@mkl我在iText网站上添加了一个指向下载页面的链接。这样,人们也有一个“如何安装”的视频。我正在使用iText7 for.NET。我得到“文档不包含接受1个参数的构造函数”。。如果notHi Michaël,该示例从何处获得文档类。我们同时回答。我将把我的答案合并到您的答案中,然后删除我的答案。您可能还想指出,source forge不是下载当前iText版本的最佳站点。@mkl我在iText网站上添加了一个指向下载页面的链接。这样,人们也有一个“如何安装”的视频。我正在使用iText7 for.NET。我得到“文档不包含接受1个参数的构造函数”。。如果没有,示例从何处获得文档类