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

