[ 
https://issues.apache.org/jira/browse/PDFBOX-3314?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15433183#comment-15433183
 ] 

Tilman Hausherr commented on PDFBOX-3314:
-----------------------------------------

{quote}
This happens when I have a Japanese embedded font.
{quote}
The font isn't embedded in the acroform fields. It is embedded for the page, 
which is not the same, it should have been embedded in /AcroForm/DR or in the 
field/DR. This is likely a bug in Excel, from which this was exported. 

Of course it is still a PDFBox bug. And it gets worse: I can't reproduce it 
because I don't have the "HiraKakuPro-W3" font on my local system, and I get a 
second, different bug with the substituted font:
{code}
WARN  [main] org.apache.pdfbox.pdmodel.font.PDCIDFontType0:146 - Using fallback 
ArialUnicodeMS for CID-keyed font HiraKakuPro-W3
Exception in thread "main" java.lang.UnsupportedOperationException: 26085
        at 
org.apache.pdfbox.pdmodel.font.PDCIDFontType0.encode(PDCIDFontType0.java:378)
        at 
org.apache.pdfbox.pdmodel.font.PDType0Font.encode(PDType0Font.java:351)
        at org.apache.pdfbox.pdmodel.font.PDFont.encode(PDFont.java:316)
        at org.apache.pdfbox.pdmodel.font.PDFont.getStringWidth(PDFont.java:345)
        at 
org.apache.pdfbox.pdmodel.interactive.form.PlainTextFormatter.format(PlainTextFormatter.java:195)
        at 
org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.insertGeneratedAppearance(AppearanceGeneratorHelper.java:408)
        at 
org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.setAppearanceContent(AppearanceGeneratorHelper.java:275)
        at 
org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.setAppearanceValue(AppearanceGeneratorHelper.java:160)
        at 
org.apache.pdfbox.pdmodel.interactive.form.PDTextField.constructAppearances(PDTextField.java:263)
        at 
org.apache.pdfbox.pdmodel.interactive.form.PDTerminalField.applyChange(PDTerminalField.java:223)
        at 
org.apache.pdfbox.pdmodel.interactive.form.PDTextField.setValue(PDTextField.java:218)
{code}
This is because encode of a CIDFontType0 as descendent font isn't implemented 
yet :-(
{code}
    @Override
    public byte[] encode(int unicode)
    {
        // todo: we can use a known character collection CMap for a CIDFont
        //       and an Encoding for Type 1-equivalent
        throw new throw new UnsupportedOperationException();
    }
{code}
So this won't be fixed soon. Please try a different font and see if it works. 
If possible, attach an excel file that uses a more common font, maybe this 
could help a little bit.


> NullPointerException in PDCIDFontType0 when setting value to PDTextField
> ------------------------------------------------------------------------
>
>                 Key: PDFBOX-3314
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-3314
>             Project: PDFBox
>          Issue Type: Bug
>          Components: FontBox
>    Affects Versions: 2.0.0, 2.0.2, 2.0.3, 2.1.0
>         Environment: Java 1.8.0u71
>            Reporter: Yusuke Yamamoto
>         Attachments: pdfboxnpe.zip, sofujo.pdf
>
>
> I get a NPE in PDCIDFontType0 when setting value to PDTextField.
> This happens when I have a Japanese embedded font.
> Full exception stacktrace:
> {code}
> Exception in thread "main" java.lang.NullPointerException
>       at 
> org.apache.pdfbox.pdmodel.font.PDCIDFontType0.<init>(PDCIDFontType0.java:134)
>       at 
> org.apache.pdfbox.pdmodel.font.PDFontFactory.createDescendantFont(PDFontFactory.java:121)
>       at 
> org.apache.pdfbox.pdmodel.font.PDType0Font.<init>(PDType0Font.java:128)
>       at 
> org.apache.pdfbox.pdmodel.font.PDFontFactory.createFont(PDFontFactory.java:83)
>       at org.apache.pdfbox.pdmodel.PDResources.getFont(PDResources.java:123)
>       at 
> org.apache.pdfbox.pdmodel.interactive.form.PDDefaultAppearanceString.processSetFont(PDDefaultAppearanceString.java:164)
>       at 
> org.apache.pdfbox.pdmodel.interactive.form.PDDefaultAppearanceString.processOperator(PDDefaultAppearanceString.java:131)
>       at 
> org.apache.pdfbox.pdmodel.interactive.form.PDDefaultAppearanceString.processAppearanceStringOperators(PDDefaultAppearanceString.java:107)
>       at 
> org.apache.pdfbox.pdmodel.interactive.form.PDDefaultAppearanceString.<init>(PDDefaultAppearanceString.java:85)
>       at 
> org.apache.pdfbox.pdmodel.interactive.form.PDVariableText.getDefaultAppearanceString(PDVariableText.java:93)
>       at 
> org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.<init>(AppearanceGeneratorHelper.java:88)
>       at 
> org.apache.pdfbox.pdmodel.interactive.form.PDTextField.constructAppearances(PDTextField.java:262)
>       at 
> org.apache.pdfbox.pdmodel.interactive.form.PDTerminalField.applyChange(PDTerminalField.java:221)
>       at 
> org.apache.pdfbox.pdmodel.interactive.form.PDTextField.setValue(PDTextField.java:218)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to