Удаление подписей из PDF без увеличения размера файла на Linux

Вопрос или проблема

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

Я использую KDE Neon, с просмотрщиком документов Okular и PDFChain (GUI для pdftk) для объединения. PDFChain не объединяет подписанные документы.

Один из вариантов – напечатать каждый файл в PDF, а затем объединить полученные неподписанные PDF, но распечатанный PDF из Okular получается огромным (10 КБ -> более 500 КБ, умноженное на примерно 20 файлов в общей сложности).

Так есть ли способ:

  • Эффективнее распечатать в PDF, без утечек в размере файла (настройки печати PDF в Okular не вносят никаких изменений в источник, которые я могу видеть, т.е. те же самые форматы и поля, как и в оригинале)
  • Удалить подписи с помощью любого другого инструмента?

Я ищу любые предложения – будь то настройки печати в Okular, или отдельный инструмент вообще. Также стоит добавить, что я использую KDE Plasma 6.

Подписи отдельно
вставьте описание изображения сюда

Зарплатные ведомости, объединенные с помощью GhostScript (ссылки сохранены, как и визуальные элементы подписантов), и конечный файл меньше всех частей.

GS -q -sDEVICE=pdfwrite -o Payslips-2024.pdf -f PS001-2024-01.pdf PS001-2024-02.pdf PS001-2024-03.pdf и т.д.

Чтобы избежать перечисления всех имен файлов в командной строке, вы можете легко добавить их в Linux, используя *.pdf или в списке @filelist.txt

GS -q -sDEVICE=pdfwrite -o Payslips-2024.pdf -f @filelist.txt
вставьте описание изображения сюда

Ответ или решение

Для решения вашей проблемы с объединением подписанных PDF-документов на Linux без увеличения размера файла, вы можете воспользоваться инструментом Ghostscript. Он позволяет эффективно обрабатывать PDF-файлы, сохраняя при этом их содержимое, и, как показано в вашем примере, уменьшает размер итогового файла.

Вот как это сделать:

Шаги по объединению подписанных PDF-документов с использованием Ghostscript:

  1. Установите Ghostscript.
    Если у вас его ещё нет, вы можете установить Ghostscript с помощью пакетного менеджера. Откройте терминал и выполните:

    sudo apt-get install ghostscript
  2. Создайте список файлов для объединения.
    Например, создайте текстовый файл filelist.txt, в который запишите имена всех PDF-документов, которые вы хотите объединить. Формат файла должен быть следующим:

    PS001-2024-01.pdf
    PS001-2024-02.pdf
    PS001-2024-03.pdf
  3. Выполните команду Ghostscript для объединения PDF.
    После создания списка файлов, выполните следующую команду в терминале:

    gs -q -sDEVICE=pdfwrite -o Payslips-2024.pdf -f @filelist.txt

    Эта команда объединит все файлы, указанные в filelist.txt, в один файл Payslips-2024.pdf.

Альтернативный способ – использование ‘*.pdf’

Если ваши файлы находятся в одной папке и вы хотите избежать создания списка, вы можете использовать шаблон для объединения:

gs -q -sDEVICE=pdfwrite -o Payslips-2024.pdf -f *.pdf

Дополнительные рекомендации:

  • Оптимизация качества и размера PDF: Вы также можете настроить параметры Ghostscript для оптимизации выводимого PDF, добавив ключи, такие как -dPDFSETTINGS=/screen, -dPDFSETTINGS=/ebook и т.д., для изменения качества и размера выходного файла.

    Пример с настройкой:

    gs -q -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -o Payslips-2024.pdf -f @filelist.txt
  • Проверка: После выполнения команды проверьте новый файл на предмет сохранения важной информации и качества.

Таким образом, использование Ghostscript является эффективным методом для объединения подписанных PDF-документов, который позволяет избежать увеличения занимаемого пространства на диске.

Оцените материал
Добавить комментарий

Капча загружается...