В Windows существует множество программ для объединения PDF-файлов, но как мы можем сделать то же самое в Ubuntu?
Ghostscript - это пакет (доступный по умолчанию в Ubuntu), который позволяет просматривать или распечатывать файлы PostScript и PDF в другие форматы или конвертировать эти файлы в другие форматы.
Чтобы использовать Ghostscript для объединения файлов PDF, введите что-то вроде следующего:
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dAutoRotatePages=/None -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.
-dAutoRotatePages=/None
Acrobat Distiller parameter AutoRotatePages controls the automatic orientation selection algorithm: For instance: -dAutoRotatePages=/None or /All or /PageByPage.
Ваши входные файлы даже не нужно быть PDF файлами. Вы также можете использовать файлы PostScript или EPS или любую их комбинацию.
С Ghostscript можно многое сделать. Вы можете прочитать его документацию для более подробной информации.
pdftk
заняло 0m0.484s, gs
- 1m32.898s (это почти в 200 раз медленнее). Файл из gs
был примерно на 21% меньше.
– halfer
22.03.2013, 19:47
file1.pdf file2.pdf
на file*.pdf
– laukok
30.05.2014, 03:58
gs
работал с некоторыми «неконформными» PDF-файлы, где pdftk
будет работать вечно.
– claudiu.nicola
09.12.2014, 16:37
-dPDFSETTINGS=/prepress
из улучшения качества. Все спасибо благодаря оригинальному вкладчику
– JesusMurF
21.04.2016, 00:58
file*.pdf
на file1.pdf file2.pdf
перед передачей аргументов команде.
– m93a
15.06.2016, 23:15
Вы также используете pdfunite для объединения PDF-документов:
pdfunite in-1.pdf in-2.pdf in-n.pdf out.pdf
out.pdf
будет перезаписан без предупреждения, поэтому pdfunite *.pdf
не будет работать должным образом.
– TamusJRoyce
05.12.2014, 03:02
cp
также перезаписывает последний аргумент без предупреждения. Это только для спешащих пользователей (как и я) - мне повезло, у меня была резервная копия рассматриваемого файла ...
– Pekka 웃
05.12.2014, 03:08
Очень хорошее решение - PDFChain. Это графический интерфейс PDFTK, где вы можете объединять, разделять или даже добавлять фон в ваши PDF-файлы.
apt
didn' t дают любые результаты также хотя:/
– T.J. Crowder
06.09.2019, 02:54
Я использую 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
Это объединяет:
[112 ]в:
out2014-12-14_23_25_36.pdf
Может быть, есть более простой способ справиться ...: -)
Используйте pdfsam http://www.pdfsam.org/ , это очень хорошо для разделения и объединения PDF-файлов
Вы можете использовать pdftk для объединения и изменения документов PDF в целом. В качестве альтернативы для этого есть онлайн-сервис: http://www.pdfmerge.com/
Альтернативный подход заключается в использовании латекса, как описано в этом посте ( без корневого доступа при условии, что у вас установлено 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
.
Вот мой подход:
Вот результат:
#!/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= Juste вставьте этот скрипт в
/home/your_username/.local/share/nautilus/scripts
blockquote> и назовите его «merge_pdfs.sh» (например). Затем сделайте его исполняемым (щелкните правой кнопкой мыши на merge_pdfs.sh -> вкладка «Разрешения» -> установите флажок «Разрешить выполнение файла в качестве программы»
). Теперь, чтобы объединить файлы PDF, вам просто нужно выбрать их -> щелкните правой кнопкой -> scripts -> merge_pdfs.sh, и он создаст файл «merged.pdf» в том же каталоге
Надеюсь, это поможет!
"'"'\n'"'"' read -d "" -ra x;pdfunite "${x[@]}" merged.pdf'
Juste вставьте этот скрипт в
/home/your_username/.local/share/nautilus/scripts
blockquote>и назовите его «merge_pdfs.sh» (например). Затем сделайте его исполняемым (щелкните правой кнопкой мыши на merge_pdfs.sh -> вкладка «Разрешения» -> установите флажок «Разрешить выполнение файла в качестве программы»
). Теперь, чтобы объединить файлы PDF, вам просто нужно выбрать их -> щелкните правой кнопкой -> scripts -> merge_pdfs.sh, и он создаст файл «merged.pdf» в том же каталоге
Надеюсь, это поможет!
pdfshuffler
отлично работает на 14.04 amd64. – Brad 29.12.2014, 09:35