После дополнительных исследований выяснилось, что библиотека PDFClown очень затруднительна. Существует несколько вопросов:
- Преобразует большинство форм пробела в одно нормальное пространство персонаж.
- Вставляет пробелы вместо строк новой строки.
- Если вы попытаетесь использовать предоставленные переопределения, чтобы вставить свой собственный символ для пробелов или строк новой строки, внутренние сопоставления символов в извлеченном массиве в поля для каждого отдельного символа будут уничтожены.
- Невозможно правильно декодировать все встроенные шрифты.
- Поскольку он не может правильно декодировать встроенные шрифты, он будет молча пропускать символы из извлеченного текста.
- Нельзя надежно обрабатывать лигатуры или разложение лигатур. Часто молча удалялся из извлеченного текста.
Прийти непосредственно к теме, которую я имел, вы можете обнаружить и удалить эти «ложные» пробельные символы, проверяя их прямоугольник, чтобы увидеть, если они перекрывают другие не пробельные символы, но учитывая все другие вопросы, с библиотека, мой совет использовать вместо этого использование PDFBox.
Если вы используете .NET и хотите использовать PDFBox, вы можете использовать Tika On Dot Net, который является проектом Apache Tika, перенесенным на .NET через IKVM.
Apache Tika - это коллекция других библиотек, включая PDFBox. В настоящее время Tika On Dot Net имеет PDFBox 1.8.10, а также пакет Nuget, который упрощает добавление в ваш проект.
У меня был проект на 1,5 недели сверх установленного срока, потому что все эти проблемы были обнаружены на полпути, что потребовало полной перезаписи. Просто голова.
Не могли бы вы предоставить образец файла и ваш точный код? Я спрашиваю, потому что еще более вероятно, что Adobe Reader делает что-то особенное, когда * игнорирует * что-то, чем этот PDF-клоун делает что-то особенное, когда * включая * новый символ строки, но нужно проверить. – mkl
@mkl Я попробую найти образец, который я могу поделиться. К сожалению, это файлы клиента, с которыми я сталкиваюсь, поэтому я не могу их публиковать. –
* К сожалению, это файлы клиента, с которыми я сталкиваюсь, поэтому я могу их публиковать. * В этом случае попробуйте создать файл с одинаковой проблемой. Вероятно, есть страница (с этой проблемой) в файле клиента с некоторым общим chit-chat, который вы можете разделить и опубликовать. – mkl