В Windows много программного обеспечения для слияния PDF-файлов, но как мы можем сделать то же самое в Ubuntu?
pdftk
Чтобы слить два файла PDF, file1.pdf и file2.pdf:
pdftk file1.pdf file2.pdf cat output mergedfile.pdf
Доступна дополнительная информация pdftk Way Back Machine.
Ghostscript - это пакет (доступный по умолчанию в Ubuntu), который позволяет просматривать или печатать файлы PostScript и PDF в других форматах или конвертировать эти файлы в другие форматы. Чтобы использовать Ghostscript для объединения файлов PDF, введите что-то вроде следующего:
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=finished.pdf file1.pdf file2.pdf
Вот краткое описание команды:
gs starts the Ghostscript program.
-dBATCH once Ghostscript processes the PDF files, it should exit.
If you don't include this option, Ghostscript will just keep running.
-dNOPAUSE forces Ghostscript to process each page without pausing for user interaction.
-q stops Ghostscript from displaying messages while it works
-sDEVICE=pdfwrite
tells Ghostscript to use its built-in PDF writer to process the files.
-sOutputFile=finished.pdf
tells Ghostscript to save the combined PDF file with the specified name.
Ваши входные файлы даже не должны быть PDF-файлами. Вы также можете использовать файлы PostScript или EPS или любую смесь из трех.
С Ghostscript можно многое сделать. Вы можете прочитать его документацию для более подробной информации.
Источник
Вы также можете использовать pdfunite для объединения PDF-документов:
pdfunite in-1.pdf in-2.pdf in-n.pdf out.pdf
PDF Chain
Очень приятное решение - PDFChain. Это графический интерфейс - это интерфейс PDFTK, в котором вы можете объединять, разделять или даже добавлять некоторый фон в ваши PDF-файлы.
Дайте PDFMod попробовать, это из проекта GNOME:
https://wiki.gnome.org/Apps/PdfMod
Я использую pdfseparate для извлечения определенных страниц из большого pdf-файла:
pdfseparate -f 156 -l 157 input.pdf output_%d.pdf
pdfseparate -f 1 -l 2 input.pdf output_%d.pdf
и после этого я присоединяюсь к ним через команду:
pdfunite $(ls -v output_*.pdf | tr '\n' ' ') out$(date +%Y-%m-%d_%H_%M_%S ).pdf
Это объединяет: [!d2 ]
output_1.pdf output_2.pdf output_156.pdf output_157.pdf
в:
out2014-12-14_23_25_36.pdf
Может быть, есть более простой способ справиться ...: -)
Вы также можете использовать jPDFTweak, pdfsam или pdfjam.
(Тем не менее, я использую pdftk.)
Используйте pdfsam http://www.pdfsam.org/, он очень хорош для разделения и слияния PDF-файлов
Вы можете использовать pdftk для объединения и изменения PDF-документов в целом. В качестве альтернативы есть онлайн-сервис, чтобы сделать именно это: http://www.pdfmerge.com/
Вот мой подход:
Я хотел, чтобы он был легко доступен, поэтому я создал ярлык правой кнопки мыши в Nautilus (см. https://help.ubuntu.com/community/NautilusScriptsHowto). Я хотел это было очень быстро, поэтому я использовал pdfunite pdfunite, только принимал файловые пути в середине команды, поэтому мне пришлось почесать голову, чтобы управлять пробелами в пути к файлам. Поэтому я принял предположение, что все пути к файлам начнутся с «/ home /» и заканчиваются на «.pdf»Вот результат:
#!/bin/sh
CLEANED_FILE_PATHS=$(echo $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS | sed 's,.pdf /home/,.pdf\\n/home/,g')
echo $CLEANED_FILE_PATHS | bash -c 'IFS=$'"'"'\n'"'"' read -d "" -ra x;pdfunite "${x[@]}" merged.pdf'
Juste вставьте этот скрипт в
/home/your_username/.local/share/nautilus/scriptsи назовите его «merge_pdfs.sh» (например). Затем сделайте его выполнимым (щелкните правой кнопкой мыши на вкладке merges_pdfs.sh -> Permissions -> отметьте «Разрешить выполнение файла как программы»
Итак, теперь для объединения файлов PDF вам просто нужно выбрать их -> right click -> scripts -> merge_pdfs.sh, и он создаст файл "merged.pdf" в том же каталоге
Надеюсь, что это поможет!
Альтернативный подход - использовать латекс, как описано в этом сообщении (без доступа root, предполагая, что у вас установлен pdflatex): https://tex.stackexchange.com/questions/8662/merge-two-pdf-files-output -by-latex
Это полезно, если у вас нет упомянутых инструментов или привилегий root, но у вас есть pdflatex.
Я скопирую код tex ниже, чтобы объединить file1.pdf и file2.pdf. Создайте файл с именем output.tex и поместите:
\documentclass{article}
\usepackage{pdfpages}
\begin{document}
\includepdf[pages=-]{file1}
\includepdf[pages=-]{file2}
\end{document}
И для компиляции просто используйте: pdflatex output.tex
Объединенный файл будет называться как output.pdf.