无法将生成的横向pdf正确打印到打印机

时间:2014-05-01 03:00:11

标签: java pdfbox apache-fop

我一直在使用Apache fop xsl-fo转换器来pdf用于打印目的,但是当我尝试打印横向pdf时,打印机制试图将横向pdf转换为纵向并以纵向打印。

我还试图通过pdfbox进行打印,但它也无法正常工作。

所以我的问题是,我能否在打印前明确指定页面方向,并防止打印机制在打印前将横向pdf变为纵向。

代码:

ExampleFO2JPSPrint pjs = new ExampleFO2JPSPrint();
pjs.printFOOldStyle(PathUtility.getInstance().getFileByPath("cache/cache.xsl"),
                    printService);

FO2PDF obj = new FO2PDF();
obj.main(PathUtility.getInstance().getFileByPath("cache/cache.xsl"),
         PathUtility.getInstance().getFileByPath("out/ResultFO2PDF.pdf"));

Generated pdf file

这段代码能够生成正确的pdf方向,但问题在于此打印代码。

PDDocument doc = PDDocument.load(
                PathUtility.getInstance().getFileByPath("out/ResultFO2PDF.pdf"));

//doc.print(pj); 
//doc.silentPrint(pj);
pj.defaultPage();
pj.setCopies(1);
pj.setPrintService(printService);                  
pj.setPageable(doc);
pj.print();

doc.close();

生成以下print pdf。如果我将它发送到我不发送的A4打印机,并且我发送到的打印机无法识别方向并以纵向模式打印,那么它看起来很好,因此文本的方向错误。 / p>

有没有办法在发送到printjob之前指定打印文件的方向?

Printed layout

0 个答案:

没有答案