[英]Converting dynamic XFA to static PDF
要求:在移動設備上查看基於 XFA 的 PDF。
我試過的選項:
下面是打印任務的示例代碼。 為“Adobe PDF”打印服務安裝了 Adobe Acrobat DC。
import java.awt.print.PrinterJob;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
...
private static void writePDF(long uid, Path path) throws Exception {
final String inFile = path.toString();
PDDocument pdfdoc = PDDocument.load(inFile);
PrinterJob printJob = PrinterJob.getPrinterJob();
printJob.setPageable(new PDPageable(pdfdoc));
// printJob.setPrintable(new PDPageable(pdfdoc));
printJob.setPrintService(getSystemPrinter("Adobe PDF"));
printJob.setJobName(path.getFileName().toString());
pdfdoc.silentPrint(printJob);
}
private static PrintService getSystemPrinter(final String printerName) {
PrintService desiredPrinter = null;
for (PrintService printer : PrintServiceLookup.lookupPrintServices(null, null)) {
if (printerName.equalsIgnoreCase(printer.getName())) {
desiredPrinter = printer;
break;
}
}
return desiredPrinter;
}
有人請提出一種解決方法來實現所需的。 謝謝!
我使用免費的 PDF Creator 打印機解決了這個問題,該打印機配置為將文件存儲到某個目錄。 然后我創建了一個 REST API 來打印 XFA PDF 並將 PDF 1.4 返回給 API 客戶端。 它有效,但工作緩慢。 應該說結果 PDF 的質量非常好。
還嘗試通過 Ghostscript 將 Adobe PDF 和 Microsoft Print 打印到 PDF 打印機,但它只打印“請稍候...”頁面。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.