Как конвертировать PDF версии 1.5 в версию 1.4 в PHP? Может ли кто-нибудь указать мне в правильном направлении?
Как конвертировать PDF версии 1.5 в версию 1.4 в PHP
Ответ 1
У меня есть аналогичное требование, и я обнаружил, что Ghostscript может изменить версию PDF. Документация находится здесь: http://ghostscript.com/doc/current/Use.htm
Однако я не нашел ничего конкретного о параметре dCompatibilityLevel в документации. Скорее, я нашел эту статью, которая продемонстрировала ее использование: http://rohieb.wordpress.com/2012/06/09/use-ghostscript-to-convert-pdf-files/
Вот команда:
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dNOPAUSE -dQUIET -dBATCH
-sOutputFile=new-pdf1.5.pdf original.pdf
Ответ 2
вы можете легко конвертировать PDF версии 1.5 в 1.4. В настоящее время я работаю в той же ситуации, когда мне нужно конвертировать PDF-версию. я заметил в моем случае, что PDF, созданный из библиотеки dompdf, - это версия 1.3, и я использую последний mozilla firefox, но все же mozilla показывает черный экран, когда я пытаюсь прочитать мой PDF. (черный экран на любой странице моего многостраничного PDF файла, не все).
поэтому, когда мой dompdf генерирует PDF-версию 1.3, я преобразую его в версию 1.4, потому что 1.4 отлично подходит для моего браузера Mozilla и, действительно, для всех браузеров.
вы можете конвертировать PDF-версию, используя 2 способа.
1) используйте инструмент командной строки ghostscript
<?php
exec('gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dNOPAUSE -dBATCH
-sOutputFile=new.pdf old.pdf')
?>
2. используя библиотеку PHP, указанную в github. Загрузите его из здесь
Сейчас я работаю над этим инструментом, который зашифровывает файл PDF. он почти готов и готов к использованию. Здесь
Ответ 3
У меня была такая же проблема в течение многих лет, без переустановки каких-либо вещей, есть онлайн-конвертер: https://docupub.com/pdfconvert/
Ответ 4
Вот рабочий полный сценарий, не идеальный, но простой. Скрипт читает все pdf из c:\temp_in \, преобразует их и сохраняет как версию 1.4 в папке c:\temp_done. Возникли проблемы с путями к скрипту-призраку, поэтому путь полностью объявлен в shell_exec. Также добавлена некоторая отладка в скрипт путем реализации "2> & 1". (Очевидно, что ghost script требует установки.)
<?php
if ($handle = opendir("c:/temp_in/")) {
while (false !== ($file = readdir($handle))) {
if ('.' === $file) continue;
if ('..' === $file) continue;
$result = shell_exec('"C:\Program Files\gs\gs9.27\bin\gswin64c" -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dNOPAUSE -dBATCH -sOutputFile="c:\temp_done\\'.$file.'" "c:\temp_in\\'.$file.'" 2>&1');
echo $result;
}
closedir($handle);
}
?>