1

我正在使用 PDFBOX,它的文档似乎很少,所以我来这里寻求帮助。我正在尝试打印出我创建的 pdf 表单,其中的字段由 eclipse 动态填充。我可以让它导入和打印,但是当我打印时,我设置的字段不显示(尽管当我将它保存到 HDD 时它们会显示)。有人可以指出我在打印时设置为可见的设置吗?我看到 itext 有类似的东西,我希望 PDFBox 也有。

这是我当前的代码。

PDDocument doc = null;

   try{
        doc = PDDocument.load("resources/orderForm.pdf");
        PDDocumentCatalog docCatalog = doc.getDocumentCatalog();
        PDAcroForm acroForm = docCatalog.getAcroForm();
        PDField field = acroForm.getField("Orderer");
        field.setValue("JohnTest");

} catch (IOException ie){
    System.out.println(ie);
}
//doc.addPage(new PDPage());
try{

    //doc.save("Empty PDF.pdf");
    doc.silentPrint();
    //doc.print();
    doc.close();
} catch (Exception io){
    System.out.println(io);
}

}
4

1 回答 1

1

找到了我的答案,虽然替代方法同样简单,但不能使用 pdfbox 来做到这一点。使用桌面打印文件!示例代码如下

    public void printOrder(){
    try {
        File myFile = new File(finished);
        //Desktop.getDesktop().open(myFile);
        Desktop.getDesktop().print(myFile);
        doc.close();
    } catch (IOException ex) {
        // no application registered for PDFs
    }
}
于 2013-01-29T20:29:30.207 回答