1
我能够创建一个PDF文件使用PDFBox的(版本1.8.9),然后用下面的代码转换成PostScript文件:如何使用PDFBOX PDF文件转换成PostScript文件2.0
DocFlavor flavor = DocFlavor.SERVICE_FORMATTED.PRINTABLE;
StreamPrintServiceFactory[] factories =
StreamPrintServiceFactory.lookupStreamPrintServiceFactories(flavor,
DocFlavor.BYTE_ARRAY.POSTSCRIPT.getMimeType());
if (factories.length == 0) {
throw new PrinterException("No PostScript factories available");
}
PDDocument document = pdfGenerator.getDocument();
// Attributes are specified by https://docs.oracle.com/javase/7/docs/api/
// see package javax.print.attribute.standard
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
aset.add(MediaSizeName.NA_LETTER);
aset.add(new PageRanges(1, document.getNumberOfPages()));
FileOutputStream fos = new FileOutputStream(filePathAndName);
factories[0].getPrintService(fos).createPrintJob().print(
new SimpleDoc(new PDPageable(document), flavor, null), aset);
fos.close();
document.close();
PDPageable对象似乎不在PDFBox 2.0代码中,我没有在迁移文档中看到它。如何使用PDFBox 2.0将PDF文件转换为PostScript文件?
谢谢
有一个PDFPageable。 –
如果您发现问题的答案,将其作为答案发布很有帮助。这样,其他人可以从你发现的东西中学习。 –
谢谢。我最终做的是使用PDFBox在PDF中读回,并使用PDFBox从PDF读取的x/y坐标自己写出后脚本命令。我不想让自己发布脚本命令,但这是我发现可以创建合理大小的脚本文件的唯一方式。 PDPageable类将每个PDF页面写为一个图像,以便后脚本文件比我需要的大很多倍。 – user3991484