Maybe try using a different font?

On Sun, Apr 19, 2015 at 2:51 AM, Frank Buss <[email protected]> wrote:

> 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