我正在使用PDFBox尝试打印出一些pdf文档。它们是pdf开头所以我根本不会将文本转换为pdf。我想做的就是拿走文件并打印出来。问题是,当我这样做时,我会在一个方框中得到随机问号而不是某些字符。通过各种印刷品并不总是相同的。有时它不想打印大写X有时它是资本H或W。它似乎总是像大写字母。当我在Adobe中打开文档时,一切都显示并打印正常。只有当我从Java打印它时才会这样。看起来文档字体都是'PDTrueTypeFont'。任何人都知道可能会发生什么?
我的代码:
PDDocument document = null;
try {
document = PDDocument.load(queue.getDocumentPath() + "\\" + queue.getDocumentName());
}
catch (IOException e) {
logger_.error("Error loading document [" + queue.getDocumentName() + "]", e);
}
try {
PrinterJob job = PrinterJob.getPrinterJob();
PrintService service = getPrintService(queue.getPrinterName());
job.setPrintService(service);
job.setJobName(queue.getDocumentName());
document.silentPrint(job);
queue.setPrintedFlag(true);
queue.setCompleteTimestamp(new Date());
queue.persist();
} catch (PrinterException e) {
logger_.fatal("Error printing pages [" + queue.getDocumentName() + "]", e);
success = false;
}