PdfBox кодирует символ валюты евро

Я создал PDF-документ с библиотекой Apache PDFBox. Моя проблема заключается в кодировании символа валюты евро при рисовании строки на странице, потому что базовый шрифт Helvetica не предоставляет этот символ. Как я могу преобразовать вывод «þÿ ¬» в символ «€» ?.

Это сработало для меня:

 char symbol = '€'; Encoding e = EncodingManager.INSTANCE.getEncoding(COSName.WIN_ANSI_ENCODING); String toPDF = String.valueOf(Character.toChars(e.getCode(e.getNameFromCharacter(symbol))));` 

Создано решение многих:

  String text = "Lorem ipsum dolor sit amet, consectetur adipisici € 1.234,56 " + "elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua."; contentStream.beginText(); contentStream.setFont(font, 12); contentStream.moveTextPositionByAmount(10, 500); char[] tc = text.toCharArray(); StringBuilder te = new StringBuilder(); Encoding e = EncodingManager.INSTANCE.getEncoding(COSName.WIN_ANSI_ENCODING); for (int i = 0; i < tc.length; i++) { Character c = tc[i]; int code = 0; if(Character.isWhitespace(c)){ code = e.getCode("space"); }else{ code = e.getCode(e.getNameFromCharacter(c)); } te.appendCodePoint(code); } contentStream.drawString( te.toString() ); contentStream.endText(); contentStream.close(); 

Для пространства символов это неизвестный код beacause имя «spacehackarabic», не описанное в WinAnsiEncoding, я не знаю, почему возвращает это имя. В любом случае, я проверяю пробелы символов, но возможно также сопоставление этого имени с эквивалентным кодовым пространством:

 e.addCharacterEncoding( 040, "spacehackarabic" ); 

Благодаря...

Может быть, слишком поздно, но я сделал это, используя:

 String toPDF = String.valueOf(Character.toChars(e.getCode("Euro"))); 

Убедитесь, что вы вставили верхний регистр «E», если вы делаете «евро», выдает ошибку. Пожалуйста, взгляните на эту ссылку, это поможет мне много http://partners.adobe.com/public/developer/en/opentype/glyphlist.txt

Interesting Posts

Как создать кросс-платформенный диск с TrueCrypt

Диалоговое окно сообщает мне, что отсутствует драйвер при установке 64-разрядной версии Windows 7

Как инвертировать цвет?

Как я могу выполнить загрузку в Windows XP?

Использование нескольких клавиатур с разной раскладкой клавиатуры в Windows

Можно ли использовать программы, установленные на втором жестком диске после переустановки Windows?

Почему компилятору C / C ++ нужно знать размер массива во время компиляции?

Windows 8: добавьте немецкие умлауты в раскладку клавиатуры США (возможно, используя AutoHotKey)

Могу ли я получить Linux в статусе «Party / Kiosk-Mode»?

Каковы типы MIME Google Apps в Документах Google и Google Диске?

Как сделать установщик для моего приложения C #?

Chrome / Safari не заполняет 100% высоту гибкого родителя

Распространение Anaconda Ошибка Python

Windows 8 Бесконечный цикл перезагрузки

Правило фильтрации SMS / текстовых сообщений в обмене активной синхронизации (синхронизация SMS)

Давайте будем гением компьютера.