Какую библиотеку для PHP 8 можно использовать для редактирования метадаты в PDF файлах?
Нужно изменить метадату в PDF файлах, искал либу под это дело, но всё, что удаётся найти, либо на 8-ке не запустится, либо для генерации PDFок, а мне нужно работь с готовыми файлами. Подскажите, через какую библиотеку такое можно сделать?
JastaFly, гуглим "ghostscript pdf metadata change".
Копируем рецепты с SO, кропаем функцию либо метод, который сформирует нужную строчку и вызовет exec.
JastaFly, ЭТО и есть самый прямой и не костыльный метод.
Если кому-то массово требовалось заниматься подделкой метаданных, да еще и с другими делиться этим кодом - возможно, кто-то уже сделал это за вас и выложил в виде какой-нибудь библиотеки. Но я бы на это не очень рассчитывал.
взял от туда. В плане вставки метаданных, всё прекрасно работает, но вот обнаружилась проблема, что после генерации из результирующего PDFа, могут пропадать картинки. Не подскажите в чём может быть проблема?
JastaFly, в кривизне исходной PDF, возможно.
У меня не было случаев, чтобы GhostScript портил файлы при обработке, так что конкретнее не подскажу.
Можно же попробовать прогнать файл без замены метаданных - если и он сломается, то проблема не в них.
Да, и выполните эту команду в терминале без -dBATCH и -dNOPAUSE - пусть GS покажет проблемы, если они происходят в процессе. Скажем, для обработки картинки могло не найтись нужных фильтров...
Судя по всему Вы правы. Попробовал прогнать файл через консоль, как раз таки на проблемной странице получаю ошибки:
**** Error reading a content stream. The page may be incomplete.
Output may be incorrect.
**** Error: Form stream has unbalanced q/Q operators (too many q's)
Output may be incorrect.
**** Error reading a content stream. The page may be incomplete.
Output may be incorrect.
**** Error: File did not complete the page properly and may be damaged.
Output may be incorrect.
И итоговый отчёт:
**** This file had errors that were repaired or ignored.
**** The file was produced by:
**** >>>> iLovePDF <<<<
**** Please notify the author of the software that produced this
**** file that it does not conform to Adobe's published PDF
**** specification.
**** The rendered output from this file may be incorrect.
JastaFly, для получения дополнительной информации можно прогнать проблемный файл через бесплатный VeraPdf - но, скорее всего, по его выводу информации будет больше, чем понимания, что с ней делать ;)