Мы читаем и пишем заметки / аннотации / комментарии к PDF-файлам с помощью элемента управления activex в нашем приложении в течение ряда лет. Недавно мы обновились до Delphi2009 с поддержкой Unicode. Следующее вызывает проблемы.
Когда мы звоним
CAcroPDAnnot.GetContents
Результаты кажутся довольно странными, и мы теряем наши символы Unicode. Это не похоже на сохранение в виде строки ANSI, которая обычно приводит к возвращению ????? вместо этого мы получаем строку, такую как
, És, «ú,É • -Z ×, ð,Ð, ¢, ½,ç
Для строки японских символов.
Однако, если я сохраню комментарии в pdf-файле в файле данных через меню в самом pdf-файле, он записывается в файл как что-то вроде
0kL0Oeå0k~¨ª0'0r0D0_0 ‰
Последний может быть экспортирован и повторно импортирован в PDF-файл акробата и воссоздает правильные символы Юникода. Однако, когда я вызываю CAcroPDAnnot.GetContents в моем коде, он возвращается как-то еще.
- Не поврежден ли CAcroPDAnnot.GetContents?
- Есть ли схема кодирования, о которой мне следует знать?
- Есть ли альтернатива, которую я мог бы сделать?
Спасибо