PDFbox在打印时设置可见

时间:2013-01-26 21:16:14

标签: java pdfbox

我正在使用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);
}

}

1 个答案:

答案 0 :(得分: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
    }
}