Вопрос или проблема
У меня есть несколько цифровых подписанных 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:
-
Установите Ghostscript.
Если у вас его ещё нет, вы можете установить Ghostscript с помощью пакетного менеджера. Откройте терминал и выполните:sudo apt-get install ghostscript
-
Создайте список файлов для объединения.
Например, создайте текстовый файлfilelist.txt
, в который запишите имена всех PDF-документов, которые вы хотите объединить. Формат файла должен быть следующим:PS001-2024-01.pdf PS001-2024-02.pdf PS001-2024-03.pdf
-
Выполните команду 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-документов, который позволяет избежать увеличения занимаемого пространства на диске.