使用bufferedimage的PDFBOX文档打印失败

时间:2015-09-24 21:48:54

标签: java pdfbox

显然,这一切都没有模糊irl ...

我从一个空白文档开始,您将在此处看到:

Original document

我让用户给我一个帐号,然后填写表格。弹出一个窗口并获取签名。它会创建您在此处看到的文档:

Filled in document

我可以保存这个文件并在adobe中将其拉出来并进行格式化,我可以看到签名,可以打印出来,yadda yadda。但是,如果我尝试从我的应用程序中打印它,我会得到这个:

Bad printout document

为了比较,这是我用来保存它的代码:

contentStream.close(); // type PDPageContentStream containing a page of the overlayDoc
mergedDoc = overlayObj.overlay(overlayDoc, originalDoc); // overlayObj is of type Overlay. Docs are of type PDDocument
mergedDoc.save(someFileName);

这是我试图用来打印它的代码:

contentStream.close(); // same as above
mergedDoc = overlayObj.overlay(overlayDoc, originalDoc); // same as above
PrinterJob printJob = PrinterJob.getPrinterJob(); // java.awt.print.PrinterJob
mergedDoc.print(printJob);

我的理解是PDDocument的print方法接受一个PrinterJob对象并打印到该对象。正在打印文档,但它没有正确的签名字段。这只是一个黑盒子。我也尝试将其保存为图像,但是当我尝试打印图像时,我遇到了同样的问题。

同样,我可以打开这个保存的文件而它没有这个框。当我在屏幕上查看它时,它没有那个黑盒子。它只有在我尝试打印时才有。其他一切都正常。

任何猜测我应该从哪里开始?我已经为这一天做了很好的工作而没有成功。

0 个答案:

没有答案