Intereting Posts
VSFTPD вырезанные загрузки Файловые менеджеры (nemo и т. Д.), Точки монтирования «mount / disk / image / etc» Подавлять конкретные экземпляры ключа поиска в grep Ошибка vgextend Не удалось создать временное имя архива Войдите в систему как пользователь unix, используя пароль, хранящийся в htpasswd Как управлять интерактивной оболочкой (например, vim) с другого компьютера? Просмотр видеороликов YouTube в терминале Вставьте новые строки в последовательный поток перед записью в текстовый файл конвертировать jpg-файл после загрузки с помощью inotifywait Как изменить номер порта для любой услуги? использование sudoers, чтобы позволить привилегированному пользователю перезапустить apache Чтение текстового файла; Копирование текстовой строки без отступов; Заменить начало отступов с указанным текстом GNU Parallel – grepping n строк для m регулярных выражений Режим управления системой во встроенных системах Простой регулярный матч не работает

Как заставить ghostscript не стирать метаданные PDF

Ghostscript стирает метаданные PDF, такие как author, title, subject и т. Д. Как я могу сказать ghostscript не касаться метаданных? Я вызываю это следующим образом:

 gs \ -dBATCH \ -dNOPAUSE \ -sOutputFile=<output_file> \ -sDEVICE=pdfwrite \ -dPDFSETTINGS=/ebook \ <input_file> 

По-видимому, невозможно сохранить метаданные PDF при использовании ghostscript. Вот обходной путь, который сначала сохраняет метаданные в файл с помощью pdftk , затем сжимает файл с помощью ghostscript и, наконец, записывает метаданные, используя pdftk .

 INPUTPDF=<input_file> OUTPUTPDF=<output_file> TMPPDF=$(mktemp) METADATA=$(mktemp) # save metadata pdftk "$INPUTPDF" dump_data_utf8 > "$METADATA" # compress gs \ -q \ -sOutputFile="$TMPPDF" \ -sDEVICE=pdfwrite \ -dNOPAUSE \ -dBATCH \ -dPDFSETTINGS=/ebook \ "$INPUTPDF" # restore metadata pdftk "$TMPPDF" update_info_utf8 "$METADATA" output "$OUTPUTPDF" # clean up rm -f "$TMPPDF" "$METADATA" 

Изменить: это ошибка в ghostscript, см. Отчет об ошибке и подтверждение того, что это не должно произойти .