[ 
https://issues.apache.org/jira/browse/PDFBOX-2846?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aaron Eischeid updated PDFBOX-2846:
-----------------------------------
    Description: 
attempting to upgrade from 1.8.9 to 2.0.0 and Working with the snapshot builds 
I am bumping into what might be a bug regarding fonts.

trying to setValue on a PDTextField object. If the value contains a space char 
I get an error.

on Ubuntu my stacktrace is: 
{code}
No glyph for U+0020 in font Arial-BoldMT. Stacktrace follows:
java.lang.IllegalArgumentException: No glyph for U+0020 in font Arial-BoldMT
        at 
org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.encode(PDTrueTypeFont.java:297)
        at org.apache.pdfbox.pdmodel.font.PDFont.encode(PDFont.java:282)
        at org.apache.pdfbox.pdmodel.font.PDFont.getStringWidth(PDFont.java:311)
        at 
org.apache.pdfbox.pdmodel.interactive.form.PlainText$Paragraph.getLines(PlainText.java:169)
        at 
org.apache.pdfbox.pdmodel.interactive.form.PlainTextFormatter.format(PlainTextFormatter.java:177)
        at 
org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.insertGeneratedAppearance(AppearanceGeneratorHelper.java:246)
        at 
org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.setAppearanceContent(AppearanceGeneratorHelper.java:152)
        at 
org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.setAppearanceValue(AppearanceGeneratorHelper.java:106)
        at 
org.apache.pdfbox.pdmodel.interactive.form.PDTextField.constructAppearances(PDTextField.java:262)
        at 
org.apache.pdfbox.pdmodel.interactive.form.PDTerminalField.applyChange(PDTerminalField.java:220)
        at 
org.apache.pdfbox.pdmodel.interactive.form.PDTextField.setValue(PDTextField.java:217)
...
{code}

On OS X the stacktrace is : 
{code}
Caused by: java.lang.NoClassDefFoundError: Could not initialize class 
org.apache.pdfbox.pdmodel.font.FontMapper$DefaultFontProvider
        at 
org.apache.pdfbox.pdmodel.font.FontMapper.getProvider(FontMapper.java:99)
        at 
org.apache.pdfbox.pdmodel.font.FontMapper.findFont(FontMapper.java:428)
        at 
org.apache.pdfbox.pdmodel.font.FontMapper.getTrueTypeFont(FontMapper.java:326)
        at 
org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.<init>(PDTrueTypeFont.java:155)
        at 
org.apache.pdfbox.pdmodel.font.PDFontFactory.createFont(PDFontFactory.java:75)
        at org.apache.pdfbox.pdmodel.PDResources.getFont(PDResources.java:96)
        at 
org.apache.pdfbox.pdmodel.interactive.form.PDAppearanceString.copyNeededResourcesTo(PDAppearanceString.java:173)
        at org.apache.pdfbox.
pdmodel.interactive.form.AppearanceGeneratorHelper.setAppearanceContent(AppearanceGeneratorHelper.java:130)
        at 
org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.setAppearanceValue(AppearanceGeneratorHelper.java:106)
        at 
org.apache.pdfbox.pdmodel.interactive.form.PDTextField.constructAppearances(PDTextField.java:262)
        at 
org.apache.pdfbox.pdmodel.interactive.form.PDTerminalField.applyChange(PDTerminalField.java:220)
        at 
org.apache.pdfbox.pdmodel.interactive.form.PDTextField.setValue(PDTextField.java:217)
...
{code}

not sure what the difference is on the two systems that causes this, but this 
and the fact that setField worked pretty well in 1.8.9 with the same pdf file 
makes me think it isn't related entirely to something broken about the embedded 
font in the pdf.

example code for setting a value

{code}
PDDocumentCatalog catalog = document.getDocumentCatalog()
                PDAcroForm acroForm = catalog.getAcroForm()
                def fieldtest = acroForm.getField('certNo')
                fieldtest.setValue('test Something')
{code}

  was:
attempting to upgrade from 1.8.9 to 2.0.0 and Working with the snapshot builds 
I am bumping into what might be a bug regarding fonts.

trying to setValue on a PDTextField object. If the value contains a space char 
I get an error.

on Ubuntu my stacktrace is: 
{code}
No glyph for U+0020 in font Arial-BoldMT. Stacktrace follows:
java.lang.IllegalArgumentException: No glyph for U+0020 in font Arial-BoldMT
        at 
org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.encode(PDTrueTypeFont.java:297)
        at org.apache.pdfbox.pdmodel.font.PDFont.encode(PDFont.java:282)
        at org.apache.pdfbox.pdmodel.font.PDFont.getStringWidth(PDFont.java:311)
        at 
org.apache.pdfbox.pdmodel.interactive.form.PlainText$Paragraph.getLines(PlainText.java:169)
        at 
org.apache.pdfbox.pdmodel.interactive.form.PlainTextFormatter.format(PlainTextFormatter.java:177)
        at 
org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.insertGeneratedAppearance(AppearanceGeneratorHelper.java:246)
        at 
org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.setAppearanceContent(AppearanceGeneratorHelper.java:152)
        at 
org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.setAppearanceValue(AppearanceGeneratorHelper.java:106)
        at 
org.apache.pdfbox.pdmodel.interactive.form.PDTextField.constructAppearances(PDTextField.java:262)
        at 
org.apache.pdfbox.pdmodel.interactive.form.PDTerminalField.applyChange(PDTerminalField.java:220)
        at 
org.apache.pdfbox.pdmodel.interactive.form.PDTextField.setValue(PDTextField.java:217)
...
{code}

On OS X the stacktrace is : 
{code}
Caused by: java.lang.NoClassDefFoundError: Could not initialize class 
org.apache.pdfbox.pdmodel.font.FontMapper$DefaultFontProvider
        at 
org.apache.pdfbox.pdmodel.font.FontMapper.getProvider(FontMapper.java:99)
        at 
org.apache.pdfbox.pdmodel.font.FontMapper.findFont(FontMapper.java:428)
        at 
org.apache.pdfbox.pdmodel.font.FontMapper.getTrueTypeFont(FontMapper.java:326)
        at 
org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.<init>(PDTrueTypeFont.java:155)
        at 
org.apache.pdfbox.pdmodel.font.PDFontFactory.createFont(PDFontFactory.java:75)
        at org.apache.pdfbox.pdmodel.PDResources.getFont(PDResources.java:96)
        at 
org.apache.pdfbox.pdmodel.interactive.form.PDAppearanceString.copyNeededResourcesTo(PDAppearanceString.java:173)
        at org.apache.pdfbox.
pdmodel.interactive.form.AppearanceGeneratorHelper.setAppearanceContent(AppearanceGeneratorHelper.java:130)
        at 
org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.setAppearanceValue(AppearanceGeneratorHelper.java:106)
        at 
org.apache.pdfbox.pdmodel.interactive.form.PDTextField.constructAppearances(PDTextField.java:262)
        at 
org.apache.pdfbox.pdmodel.interactive.form.PDTerminalField.applyChange(PDTerminalField.java:220)
        at 
org.apache.pdfbox.pdmodel.interactive.form.PDTextField.setValue(PDTextField.java:217)
...
{code}

not sure what the differnence is on the two systems that causes this, but this 
and the fact that setField worked pretty well in 1.8.9 with the same pdf file 
makes me think it isn't related entirely to something broken about the embedded 
font.


> setValue failing with font issues.
> ----------------------------------
>
>                 Key: PDFBOX-2846
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-2846
>             Project: PDFBox
>          Issue Type: Bug
>          Components: AcroForm
>    Affects Versions: 2.0.0
>         Environment: Ubuntu, Java 7 & OS X Java 7
>            Reporter: Aaron Eischeid
>         Attachments: Pulmotil_VFD_Swine_Template.pdf
>
>
> attempting to upgrade from 1.8.9 to 2.0.0 and Working with the snapshot 
> builds I am bumping into what might be a bug regarding fonts.
> trying to setValue on a PDTextField object. If the value contains a space 
> char I get an error.
> on Ubuntu my stacktrace is: 
> {code}
> No glyph for U+0020 in font Arial-BoldMT. Stacktrace follows:
> java.lang.IllegalArgumentException: No glyph for U+0020 in font Arial-BoldMT
>       at 
> org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.encode(PDTrueTypeFont.java:297)
>       at org.apache.pdfbox.pdmodel.font.PDFont.encode(PDFont.java:282)
>       at org.apache.pdfbox.pdmodel.font.PDFont.getStringWidth(PDFont.java:311)
>       at 
> org.apache.pdfbox.pdmodel.interactive.form.PlainText$Paragraph.getLines(PlainText.java:169)
>       at 
> org.apache.pdfbox.pdmodel.interactive.form.PlainTextFormatter.format(PlainTextFormatter.java:177)
>       at 
> org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.insertGeneratedAppearance(AppearanceGeneratorHelper.java:246)
>       at 
> org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.setAppearanceContent(AppearanceGeneratorHelper.java:152)
>       at 
> org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.setAppearanceValue(AppearanceGeneratorHelper.java:106)
>       at 
> org.apache.pdfbox.pdmodel.interactive.form.PDTextField.constructAppearances(PDTextField.java:262)
>       at 
> org.apache.pdfbox.pdmodel.interactive.form.PDTerminalField.applyChange(PDTerminalField.java:220)
>       at 
> org.apache.pdfbox.pdmodel.interactive.form.PDTextField.setValue(PDTextField.java:217)
> ...
> {code}
> On OS X the stacktrace is : 
> {code}
> Caused by: java.lang.NoClassDefFoundError: Could not initialize class 
> org.apache.pdfbox.pdmodel.font.FontMapper$DefaultFontProvider
>       at 
> org.apache.pdfbox.pdmodel.font.FontMapper.getProvider(FontMapper.java:99)
>       at 
> org.apache.pdfbox.pdmodel.font.FontMapper.findFont(FontMapper.java:428)
>       at 
> org.apache.pdfbox.pdmodel.font.FontMapper.getTrueTypeFont(FontMapper.java:326)
>       at 
> org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.<init>(PDTrueTypeFont.java:155)
>       at 
> org.apache.pdfbox.pdmodel.font.PDFontFactory.createFont(PDFontFactory.java:75)
>       at org.apache.pdfbox.pdmodel.PDResources.getFont(PDResources.java:96)
>       at 
> org.apache.pdfbox.pdmodel.interactive.form.PDAppearanceString.copyNeededResourcesTo(PDAppearanceString.java:173)
>       at org.apache.pdfbox.
> pdmodel.interactive.form.AppearanceGeneratorHelper.setAppearanceContent(AppearanceGeneratorHelper.java:130)
>       at 
> org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.setAppearanceValue(AppearanceGeneratorHelper.java:106)
>       at 
> org.apache.pdfbox.pdmodel.interactive.form.PDTextField.constructAppearances(PDTextField.java:262)
>       at 
> org.apache.pdfbox.pdmodel.interactive.form.PDTerminalField.applyChange(PDTerminalField.java:220)
>       at 
> org.apache.pdfbox.pdmodel.interactive.form.PDTextField.setValue(PDTextField.java:217)
> ...
> {code}
> not sure what the difference is on the two systems that causes this, but this 
> and the fact that setField worked pretty well in 1.8.9 with the same pdf file 
> makes me think it isn't related entirely to something broken about the 
> embedded font in the pdf.
> example code for setting a value
> {code}
> PDDocumentCatalog catalog = document.getDocumentCatalog()
>               PDAcroForm acroForm = catalog.getAcroForm()
>               def fieldtest = acroForm.getField('certNo')
>               fieldtest.setValue('test Something')
> {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