Как проверить PDF? - PullRequest
       3

Как проверить PDF?

0 голосов
/ 16 апреля 2020

У меня есть файл PDF, сгенерированный в php (с использованием tFDF), который прекрасно открывается в chrome, firefox и Safari. Но не в Edge или Adobe Acrobat Reader. Edge отображает белую страницу, и Adobe сообщает: «На этой странице существует ошибка. Возможно, Acrobat не может правильно отобразить страницу».

Возможно ли получить информацию об этой ошибке? Файл PDF использует некоторые встроенные шрифты, которые могут быть проблемой, но я не уверен.

1 Ответ

1 голос
/ 16 апреля 2020

Вы можете использовать Ghostscript следующим образом (пути являются чисто предположениями):

# On Linux
gs -o /dev/null -sDEVICE=nullpage -dBATCH -dNOPAUSE /home/ebaars/sample.pdf

# On Windows, using gswin32

gswin32 -o nul -sDEVICE=nullpage -dBATCH -dNOPAUSE C:\Users\Eric\Desktop\Sample.pdf

Или вы можете использовать iText (то есть pdftk) и попросить, скажем, (un) сжать файл и обработать его в другой файл. Тем временем библиотека выполнит проверки.

Вы также можете проверить этот другой ответ .

update

Эта ошибка "" 0,686 не оператор "- это означает, что он нашел число там, где ожидал оператора. Я полагаю, под "tFDF" вы подразумеваете "tcPDF"? Я подозреваю - я могу ошибаться - что мы смотрим на ошибку i18n , где число, такое как 2/3, которое должно быть "0.66666", представлено кодом сервера с десятичной запятой делая то, что интерпретатор PDF считает списком («0,666»).

Конечно, мне понадобится либо PDF-файл - я распакую его с помощью iText, а затем перепишу 0,686 и c. как 0,686 и c., затем посмотрите, работает ли он таким образом или нет - или точный PHP код, сгенерировавший файл, плюс конфигурацию сервера (чтобы проверить, соответствуют ли настройки локали ).

Я предполагаю, что это ошибка библиотеки. Проверьте версии программного обеспечения, если возможно обновить код и, возможно, избавиться от проблемы таким образом.

Я встречался с этой ошибкой несколько раз, так как я из Италии и "тысяча и один цент" здесь записывается как «1.000,01» или «1'000,01» вместо «1000.01».

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