Буквы кириллицы в метаданных PDF, созданные FO.NET - PullRequest
3 голосов
/ 12 октября 2011

Кому-нибудь удалось показать кириллические буквы в метаданных файла PDF, созданного FO.NET? Я попробовал следующий код, но метаданные сгенерированного PDF-файла отображают только «Заголовок: ??????»:

FonetDriver driver = FonetDriver.Make();

PdfRendererOptions options = new PdfRendererOptions();
options.FontType = FontType.Embed;
options.Title = "Title: Услуги";
driver.Options = options;

driver.Render("Input_cyrillic.fo", "Output.pdf");

Ответы [ 2 ]

0 голосов
/ 21 сентября 2012

Я не знаю деталей FO.NET, но обычно типы «текстовой строки» в PDF могут содержать данные UTF-16 (не UTF-8!), Если вы добавляете строку с шестнадцатеричным FEFF (метка порядка байтов UTF)- спецификация).В PHP это выглядит так:

$pdfTitle = "\xfe\xff" . mb_convert_encoding($myTitleString, "UTF-16BE", "UTF-8");

Это преобразует заголовок из UTF-8 в UTF-16 и добавляет к нему спецификацию.

Подробнее см. В документах PDF: http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/pdf/pdfs/PDF32000_2008.pdf
(глава 7.9.2.2: «Тип текстовой строки»)

0 голосов
/ 05 мая 2012

Здесь - ссылка на обсуждение на их форуме.Кажется, что они вообще не поддерживают Unicode, потому что метод MapCharacter имеет такой жестко заданный код:

ushort charIndex = CodePointMapping.GetMapping("WinAnsiEncoding").MapCharacter(c);

Также кажется, что у последней версии есть та же проблема.

...