Разбор PDF, содержащего специальные шрифты в php - PullRequest
0 голосов
/ 29 мая 2018

Я использую smalot / pdf-parser в проекте Zendframework 3 для получения содержимого файлов PDF.До сих пор использовались файлы PDF 1.3 с базовым шрифтом.Но источник, из которого создаются файлы, скоро обновится, и файлы будут иметь формат PDF 1.5 с несколькими конкретными шрифтами.

При попытке проанализировать новые файлы я получаю эту ошибку:

Object list not found. Possible secured file.

Я пытался преобразовать в более низкую версию PDF и мог проанализировать файл.Но я получаю ошибки в специальных символах из-за используемых специальных шрифтов, и, поскольку мы получаем много этих PDF-файлов, преобразование каждого файла и загрузка его в нашу систему нецелесообразна.

Я также попытался установитьиспользуемые шрифты в библиотеку tcpdf.Ошибка остается.

При создании PDF 1.5 с основным шрифтом я могу прочитать файл, так что я уверен, что ошибка может быть решена путем правильного использования правильных шрифтов или преобразования шрифтов в pdf.

Я нашел эту проблему с 2 возможными решениями.Сначала кто-то упомянул об установке шрифта в пакет tcpdf, готово, но не сработало - хотя я не уверен на 100%, что я получил все шрифты ... есть ли способ отладить это с помощью tcpdf?

Во-вторых, кто-то упомянул

Я изменил код для интересующих меня escape-последовательностей.

, что решило проблему для него.Но я не знаю, как это сделать.

1 Ответ

0 голосов
/ 12 июня 2018

В итоге я использовал ghostscript для преобразования PDF-файлов

$cmd = 'gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dBATCH -dNOPAUSE -sOutputFile=' . $outputFile . ' ' . $inputFile;        
exec($cmd);
...