Я использую PDFBox 1.8.10 для добавления текста в документы PDF. Он отлично работает, за исключением некоторых документов, где текст добавляется в документ (проверяется с помощью инспектора структуры pdf), но не отображается в формате PDF. Образец документа находится здесь: https://kali-docs.ks2.fr/share/s/Ut_LdO8LR4WEeEd1y2k58QPDFBox Добавленный текст не отображается в документе PDF
Поскольку я хочу установить некоторый пользовательский AlphaConstant в текст (и прямоугольники), я использую словаря параметров состояния графики, чтобы добавить текст.
код используется:
PDPageContentStream contentStream = new PDPageContentStream(pdfDoc, pdfPage, true, true);
this.textGraphicState = new PDExtendedGraphicsState();
textGraphicState.setNonStrokingAlphaConstant(1f);
Map<String, PDExtendedGraphicsState> graphicsStatesMap = pdfPage.getResources().getGraphicsStates();
if (graphicsStatesMap == null)
{
graphicsStatesMap = new HashMap<String, PDExtendedGraphicsState>();
}
graphicsStatesMap.put("textGraphicState", textGraphicState);
pdfPage.getResources().setGraphicsStates(graphicsStatesMap);
contentStream.appendRawCommands("/textGraphicState gs\n");
contentStream.setNonStrokingColor(fontColor);
contentStream.beginText();
contentStream.setFont(font, fontSize);
contentStream.moveTextPositionByAmount(pagePosX, pagePosY);
contentStream.drawString(text);
contentStream.endText();
contentStream.close();
Любая идея?
Спасибо, Винсент
см. Ответ https://stackoverflow.com/questions/27919436/pdfbox-pdpagecontentstreams-append-mode-misbehaving и https://stackoverflow.com/questions/14657602/cannot-figure-out-how-to- потребительная pdfbox –