[
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]