PDFsharp не может читать текст из документов Crystal Reports CR23 - PullRequest
0 голосов
/ 16 мая 2019

Мы используем Crystal Reports, C # и PDFsharp для создания PDF-документов отдельными пользователями. Crystal Reports сначала используется для создания одного монолитного PDF-документа со всеми записями пользователей, причем соответствующая часть каждого пользователя очерчена текстовыми «тегами». После этого программа на C # генерирует отдельные PDF-файлы из монолита, извлекая их текст с помощью PDFsharp, выполняя поиск по тегам, а затем генерируя PDF-файл из каждой части между тегами.

Этот процесс работал отлично в течение многих лет, но начиная с пакета Crystal Reports 23, кодирование сгенерированных PDF-файлов больше не читается PDFsharp, и, следовательно, теги не могут быть найдены. (Такая проблема не возникает при копировании из этих документов, если они отображаются в Chrome или Firefox.)

Есть ли параметр, который можно изменить в Crystal Reports для восстановления старой кодировки, или мы должны либо изменить PDFsharp, либо использовать другую библиотеку обработки PDF?

Ответы [ 2 ]

1 голос
/ 03 июня 2019

Я опубликовал этот ответ, но он был удален.Я не могу понять, почему, учитывая, что он решает явный вопрос: «или мы должны либо изменить PDFsharp , либо использовать другую библиотеку обработки PDF ?»У меня нет финансовой заинтересованности в предлагаемой библиотеке!Я не разработчик этого.Я только использую это.Возможно, кто бы ни решил удалить, не удосужился прочитать весь вопрос.


Рассмотрите возможность использования другой библиотеки.Я использую библиотеку Quick PDF (Foxit, ранее Debenu) для разделения PDF по тегам в экспорте Crystal.Он отлично работает для PDF-файлов, экспортируемых из любой версии Crystal, включая последнюю версию.

0 голосов
/ 03 июня 2019

В сгенерированных SP16 PDF-файлах использовалась кодировка WinAnsi, а в SP23 - Unicode.SAP заявила, что в Crystal Reports нет настройки для принудительного кодирования в WinAnsi.

Для решения этой проблемы необходимо добавить ToUnicode CMap-получение в PDFsharp и использовать CMaps во время выполнения для сопоставления каждого текстового индекса CString с соответствующим символом Unicode..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...