[
https://issues.apache.org/jira/browse/PDFBOX-5696?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tilman Hausherr updated PDFBOX-5696:
------------------------------------
Description:
This is reduced from the example presented by Pados Attila on the mailing list
{code}
public static void main(String[] args) throws IOException
{
InputStream resourceAsStream =
NewClass.class.getResourceAsStream("/pdf/TemplateTank.pdf");
try (PDDocument a1doc = Loader.loadPDF(new
RandomAccessReadBuffer(resourceAsStream)))
{
PDAcroForm form = a1doc.getDocumentCatalog().getAcroForm();
PDResources dr = form.getDefaultResources();
form.getField("Site Name").setValue("Site Name");
a1doc.save(new File("30-1.pdf"));
PDFont font = PDType0Font.load(a1doc,
PdfGenerator.class.getResourceAsStream("/fonts/CambriaMath.ttf"), false);
dr.add(font);
a1doc.save(new File("30-2.pdf"));
}
}
{code}
The result file 30-1.pdf has "Site Name" in the rendering, the result file
30-2.pdf doesn't, because the appearance stream is now a dictionary.
(The test was done on jdk21, I didn't test on another jdk)
was:
This is reduced from the example presented by Pados Attila on the mailing list
{code}
public static void main(String[] args) throws IOException
{
InputStream resourceAsStream =
NewClass.class.getResourceAsStream("/pdf/TemplateTank.pdf");
try (PDDocument a1doc = Loader.loadPDF(new
RandomAccessReadBuffer(resourceAsStream)))
{
PDAcroForm form = a1doc.getDocumentCatalog().getAcroForm();
PDResources dr = form.getDefaultResources();
form.getField("Site Name").setValue("Site Name");
a1doc.save(new File("30-1.pdf"));
PDFont font = PDType0Font.load(a1doc,
PdfGenerator.class.getResourceAsStream("/fonts/CambriaMath.ttf"), false);
dr.add(font);
a1doc.save(new File("30-2.pdf"));
}
}
{code}
The result file 30-1.pdf has "Site Name", the result file 30-2.pdf doesn't,
because the appearance stream is now a dictionary.
(The test was done on jdk21, I didn't test on another jdk)
> COSStream lost, becomes a COSDictionary
> ---------------------------------------
>
> Key: PDFBOX-5696
> URL: https://issues.apache.org/jira/browse/PDFBOX-5696
> Project: PDFBox
> Issue Type: Bug
> Affects Versions: 3.0.0 PDFBox
> Reporter: Tilman Hausherr
> Priority: Critical
> Attachments: 30-1.pdf, 30-2.pdf, CambriaMath.ttf, TemplateTank.pdf
>
>
> This is reduced from the example presented by Pados Attila on the mailing list
> {code}
> public static void main(String[] args) throws IOException
> {
> InputStream resourceAsStream =
> NewClass.class.getResourceAsStream("/pdf/TemplateTank.pdf");
> try (PDDocument a1doc = Loader.loadPDF(new
> RandomAccessReadBuffer(resourceAsStream)))
> {
> PDAcroForm form = a1doc.getDocumentCatalog().getAcroForm();
> PDResources dr = form.getDefaultResources();
> form.getField("Site Name").setValue("Site Name");
> a1doc.save(new File("30-1.pdf"));
> PDFont font = PDType0Font.load(a1doc,
> PdfGenerator.class.getResourceAsStream("/fonts/CambriaMath.ttf"), false);
> dr.add(font);
> a1doc.save(new File("30-2.pdf"));
> }
> }
> {code}
> The result file 30-1.pdf has "Site Name" in the rendering, the result file
> 30-2.pdf doesn't, because the appearance stream is now a dictionary.
> (The test was done on jdk21, I didn't test on another jdk)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]