Я пытаюсь сделать свой PDF, сгенерированный доступной библиотекой Java PDFbox, и это требует помечения встроенных изображений в файле, чтобы его можно было прочитать с помощью экрана. < /p>
После ссылки на несколько онлайн -ресурсов я написал следующий код, который использует PDFMARMEDContent, чтобы дать альтернативный текст изображения. < /P>
Однако, когда я запускаю сгенерированные Документируйте через проверку доступности PDF из PAC, он по -прежнему показывает, что изображение QR -кода не сочетается. Как я могу правильно отладить/добавить альтернативный текст в изображение QR -кода? Спасибо! < /P>
Вот мой фрагмент кода для рисования изображения на каждой странице PDF < /p>
for (int pageidx = 0; pageidx < totalPage; pageidx++) {
PDPageContentStream contentstream = new PDPageContentStream(
doc, doc.getPage(pageidx), PDPageContentStream.AppendMode.APPEND, true);
PDPage page = doc.getPage(pageidx);
COSDictionary dict = new COSDictionary();
dict.setInt(COSName.MCID, mcid);
mcid++;
contentstream.beginMarkedContent(
COSName.IMAGE, PDPropertyList.create(dict));
contentstream.drawImage(image, x, y, px, py);
contentstream.endMarkedContent();
contentstream.close();
PDStructureTreeRoot root = new PDStructureTreeRoot();
doc.getDocumentCatalog().setStructureTreeRoot(root);
PDStructureElement parent =
new PDStructureElement(StandardStructureTypes.Figure, root);
root.appendKid(parent);
PDStructureElement element =
new PDStructureElement(StandardStructureTypes.Figure, parent);
element.setPage(doc.getPage(pageIndex));
element.setAlternateDescription("alternate");
dict.setString(COSName.ALT, "alternate");
PDMarkedContent marked = new PDMarkedContent(COSName.IMAGE, dict);
marked.addXObject(image);
element.appendKid(marked);
}
Подробнее здесь: https://stackoverflow.com/questions/794 ... ing-pdfbox