Я пытаюсь создать PDF-документ с помощью Apache PDFBox 2.0.18, а затем распечатать его.
Все работает нормально, но при печати я получаю много предупреждений:
Jun 18, 2020 5:24:05 PM org.apache.pdfbox.pdmodel.font.PDType0Font toUnicode
WARNING: No Unicode mapping for CID+73 (73) in font ArialMT
Jun 18, 2020 5:24:05 PM org.apache.pdfbox.pdmodel.font.PDCIDFontType2 codeToGID
WARNING: Failed to find a character mapping for 73 in ArialMT
Jun 18, 2020 5:24:05 PM org.apache.pdfbox.pdmodel.font.PDType0Font toUnicode
WARNING: No Unicode mapping for CID+82 (82) in font ArialMT
[...]
Вот код для воспроизведения проблемы:
PDDocument doc = new PDDocument();
String fontPath = "C:\\Windows\\Fonts\\arial.ttf";
PDFont font = PDType0Font.load(doc, new File(fontPath));
PDPage page = new PDPage(PDRectangle.A4);
doc.addPage(page);
PDPageContentStream contentStream = new PDPageContentStream(doc, page);
contentStream.setFont(font, 8f);
contentStream.beginText();
contentStream.newLineAtOffset(75f, page.getMediaBox().getHeight() - 25f);
contentStream.showText("foo");
contentStream.endText();
contentStream.close();
PrinterJob job = PrinterJob.getPrinterJob();
job.setPageable(new PDFPageable(doc));
job.print();
Я пробовал поискать в Google эту ошибку, но все, что я могу найти, - это люди, пытающиеся извлечь текст из существующего документа. Я делаю не это, я пытаюсь создать документ и распечатать его.
Что я делаю не так?
Спасибо.