java - 是否可以使用 IText java 读取 itextsharp 生成的 pdf 表单?

标签 java pdf itext pdf-generation

是否可以使用 IText java 读取 itextsharp 生成的 pdf 表单?

 public static void main(String[] args) {
    String src = "D:\\Doc\\Filled_PDF_Form.pdf";
    PdfReader reader;
    try {
        reader = new PdfReader(src);
        AcroFields fields= reader.getAcroFields();

        Set<String> fieldKeys = fields.getFields().keySet();
        for(String itemKey : fieldKeys){
            System.out.println(itemKey + ": " + fields.getField(itemKey));
        }
        reader.close();

    } catch (IOException e) {
        System.out.println("IO Exception");
        e.printStackTrace();
    } 

}

字段返回 null

最佳答案

简短的回答是:

您可以使用IText库读取和写入使用itextsharp或任何不同工具生成的任何pdf。因为它将是一个扩展名为 .pdf 的文件,并且该库允许读取和写入 pdf。

以下是在 IText 中阅读 pdf 的示例:

public class PDFReadExample {
  public static void main(String args[]){
    try {
    //Create PdfReader instance.
    PdfReader pdfReader = new PdfReader("D:\\itextsharp\\testFile.pdf");    

    //Get the number of pages in pdf.
    int pages = pdfReader.getNumberOfPages(); 

    //Iterate the pdf through pages.
    for(int i=1; i<=pages; i++) { 
      //Extract the page content using PdfTextExtractor.
      String pageContent = 
        PdfTextExtractor.getTextFromPage(pdfReader, i);

      //Print the page content on console.
      System.out.println("Content on Page "
                          + i + ": " + pageContent);
      }

      //Close the PdfReader.
      pdfReader.close();
    } catch (Exception e) {
    e.printStackTrace();
    }
  }
}

因此,您将获得一个使用 itextsharp 生成的 pdf 文件,该文件位于 D:\\itextsharp 中。

关于java - 是否可以使用 IText java 读取 itextsharp 生成的 pdf 表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53105170/

相关文章:

java - 在设备上运行的 PopupWindow 中聚焦 EditText 时出现异常

debian - VM 启动后更改 java -Xmx

javascript - 如何在我的 angularjs 应用程序发送的 iOS 上显示 PDF (Blob)

python - Matplotlib:带有光栅化图的多页 PDF

java - 方法 add(Element) 不适用于参数 (String[])

java - 在未设置的 android 字体上使用 iText

java - 书签未被复制

java - Android DrawerLayout 与 NullPointerException

java - 如何获取另一个fragment中EditText中TimePickerDialog的时间?

javascript - Pdf.js 的加载栏