When I do this, it prints this exception:

Exception in thread "main" java.lang.IllegalArgumentException: U+8364 is not 
available in this font's Encoding
        at 
org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.encode(PDTrueTypeFont.java:260)
        at org.apache.pdfbox.pdmodel.font.PDFont.encode(PDFont.java:268)
        at org.apache.pdfbox.pdmodel.font.PDFont.getStringWidth(PDFont.java:297)
        at 
org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.calculateHorizontalOffset(AppearanceGeneratorHelper.java:564)
        at 
org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.insertGeneratedAppearance(AppearanceGeneratorHelper.java:305)
        at 
org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.createAppearanceContent(AppearanceGeneratorHelper.java:228)
        at 
org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.setAppearanceValue(AppearanceGeneratorHelper.java:203)
        at 
org.apache.pdfbox.pdmodel.interactive.form.AppearanceGenerator.generateFieldAppearances(AppearanceGenerator.java:61)
        at 
org.apache.pdfbox.pdmodel.interactive.form.PDField.updateFieldAppearances(PDField.java:121)
        at 
org.apache.pdfbox.pdmodel.interactive.form.PDTextField.setValue(PDTextField.java:286)
        at PdfTest.main(PdfTest.java:15)

which looks wrong, because as you can see in the the first text field in the 
sample PDF, it is possible to use the Euro sign, it is part of the Arial font. 
And I can open Word, set Arial as the font, then type Alt-8364 and the Euro 
sign appears, so looks like it is part of the font's Encoding.

This bug is a show stopper for my application, because the Euro sign is 
required for a business application.


> -----Original Message-----
> From: Gilad Denneboom [mailto:[email protected]]
> Sent: Saturday, April 18, 2015 5:39 PM
> To: [email protected]
> Subject: Re: Euro not set in text field
> 
> Maybe try specifying the unicode value directly, like so:
> test2.setValue("\u8364");
> 
> On Sat, Apr 18, 2015 at 12:57 PM, Frank Buss <[email protected]> wrote:
> 
> > I have a PDF document with a text field and I want to enter an euro symbol
> > (€) with a program, but I'll get a strange character (¬). This is the code:
> >
> > import java.io.*;
> > import org.apache.pdfbox.pdmodel.*;
> > import org.apache.pdfbox.pdmodel.interactive.form.*;
> >
> > public class PdfTest {
> >
> >         public static void main(final String args[]) throws Exception {
> >                 // load test document
> >                 PDDocument pdfDocument = PDDocument.load(new
> > File("test.pdf"));
> >                 PDDocumentCatalog docCatalog =
> > pdfDocument.getDocumentCatalog();
> >                 PDAcroForm acroForm = docCatalog.getAcroForm();
> >
> >                 // get test2 field and set Euro
> >                 PDFieldTreeNode test2 = acroForm.getField("test2");
> >                 test2.setValue("€");
> >
> >                 // save as new document
> >                 pdfDocument.save("test2.pdf");
> >                 pdfDocument.close();
> >         }
> > }
> >
> > See http://www.frank-buss.de/tmp/pdfTest.zip for the test.pdf and the
> > generated test2.pdf. I'm using the latest snapshot
> > (pdfbox-app-2.0.0-20150418.010411-1224.jar), but the same problem was
> in a
> > snapshot from January, too. How can I solve the problem? I can try to fix
> > it in the library, too, if someone can give me a hint where to search.
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [email protected]
> > For additional commands, e-mail: [email protected]
> >
> >


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

Reply via email to