[
https://issues.apache.org/jira/browse/PDFBOX-6187?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18071135#comment-18071135
]
Tilman Hausherr commented on PDFBOX-6187:
-----------------------------------------
I can now reproduce it, and I realize I also misread your text.
{noformat}
Exception in thread "main" java.lang.NullPointerException: Cannot invoke
"String.contains(java.lang.CharSequence)" because the return value of
"org.apache.pdfbox.pdmodel.font.PDFont.getName()" is null
at
org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.insertGeneratedAppearance(AppearanceGeneratorHelper.java:516)
at
org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.setAppearanceContent(AppearanceGeneratorHelper.java:460)
at
org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.setAppearanceValue(AppearanceGeneratorHelper.java:259)
at
org.apache.pdfbox.pdmodel.interactive.form.PDTextField.constructAppearances(PDTextField.java:262)
at
org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm.refreshAppearances(PDAcroForm.java:344)
at
org.apache.pdfbox.pdmodel.fixup.processor.AcroFormGenerateAppearancesProcessor.process(AcroFormGenerateAppearancesProcessor.java:52)
at
org.apache.pdfbox.pdmodel.fixup.AcroFormDefaultFixup.apply(AcroFormDefaultFixup.java:56)
at
org.apache.pdfbox.pdmodel.PDDocumentCatalog.getAcroForm(PDDocumentCatalog.java:132)
at
org.apache.pdfbox.pdmodel.PDDocumentCatalog.getAcroForm(PDDocumentCatalog.java:113)
at com.mycompany.mavenpdfboxtest.PDFBOX6187.main(PDFBOX6187.java:38)
{noformat}
> NullPointerException in AppearanceGeneratorHelper when PDFont.getName()
> returns null
> ---------------------------------------------------------------------------------------
>
> Key: PDFBOX-6187
> URL: https://issues.apache.org/jira/browse/PDFBOX-6187
> Project: PDFBox
> Issue Type: Bug
> Components: AcroForm
> Affects Versions: 3.0.6 PDFBox
> Environment: Java 17 (OpenJDK)
> Reporter: Joseph Jezerinac
> Priority: Major
> Attachments: failingdocument.pdf, screenshot-1.png
>
>
> When opening a PDF that contains an AcroForm text field whose font resource
> has no /BaseFont entry, PDFont.getName() returns null. The default AcroForm
> fixup triggered by getAcroForm() calls refreshAppearances(), which leads to a
> NullPointerException in
> AppearanceGeneratorHelper.insertGeneratedAppearance() at line 516, where
> String.contains() is called on the null return value without a null check.
> Steps to reproduce:
> {code:java}
>
>
>
> import org.apache.pdfbox.Loader;
>
>
>
> import org.apache.pdfbox.pdmodel.PDDocument;
>
>
>
> import org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm;
>
>
>
> import java.io.File;
>
>
>
>
> public class PdfBoxNullFontNameTest {
>
>
>
>
> private static final String PDF_PATH = "/path/to/failingdocument.pdf";
>
>
>
>
> public static void main(String[] args) throws Exception {
> File pdf = new File(PDF_PATH);
>
>
>
> PDDocument doc = Loader.loadPDF(pdf);
> PDAcroForm form = doc.getDocumentCatalog().getAcroForm();
>
>
>
> }
> }
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]