在Windows中有很多合并PDF文件的软件,但是在Ubuntu中我们如何做到同样的操作呢?
pdftk
要合并两个pdf文件,file1.pdf
和file2.pdf
:
pdftk file1.pdf file2.pdf cat output mergedfile.pdf
更多信息请点击这里Way Back Machine。
安装方法如下:
sudo snap install pdftk
cat
和output
在可变输入参数之后,并再次跟随一个输出参数。 - Jeff Puckettsudo snap install pdftk
- aptitude应用程序不再有发布候选版本,它已被作者弃用,而创建了snap包。 - GrayedFoxpdftk-smoser
被标记为过时。 - Flimmsudo apt install pdftk-java
。 - michaeljdk
是过度杀伤力,不应该是必需的。 - Timosudo snap install pdftk
命令进行安装,而pdftk接受"*.pdf"作为有效的参数。 - Celal Ergünpdftk
将无法正常工作。 - CJ7sudo apt install pdftk
- Reynadanpdfshuffler
在14.04 amd64上运行良好。 - conualfypdfarranger
。您仍然可以通过apt安装pdfshuffler
,但它只是指向pdfarranger
的空指针,安装后您需要使用pdfarranger
命令来操作。 - Carl Zulauf$ apt show pdfshuffler
并仔细查看。 - Carl Zulaufapt show pdfshuffler
输出的pastebin链接。这是在运行sudo apt update
之后的情况。我使用的是Ubuntu 20.04,apt -v
返回apt 1.6.14 (amd64)
。关于pdfarranger,我找到的唯一文档是github仓库,但似乎没有提供任何基于apt的安装说明,而是通过pip。 - topher217gs -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.
pdftk
只花了0m0.484s,而使用gs
则需要1m32.898s(几乎慢了200倍)。不过,使用gs
生成的文件大小要小约21%。 - aidanfile1.pdf file2.pdf
替换为file*.pdf
。 - Antonios Hadjigeorgalisgs
在一些“不符合规范”的PDF文件上起作用,而pdftk
则会无限运行。 - ntc2file*.pdf
替换为file1.pdf file2.pdf
。 - Midgardgs
将大约20个小pdf文件合并成一个单一的文件,只需不到一飞秒的时间。无需下载70MB的pdftk
。感谢@ignite! - Campags
方法会破坏由pdflatex创建的PDF中的href和URL链接。pdfshuffler可以保留链接。 - HD189733bgs
无故将其中一个文件的标题作为新文档的标题(在 PDF 查看器的标题栏中显示)。我想知道是否可以明确指定新标题。 - MWBgs -dBATCH -sDEVICE=pdfwrite -sOutputFile=finished.pdf file1.pdf file2.pdf
,不需要使用 -q
和 -dnopause
这两个参数,它们并不能帮助更加静默地输出。也不需要使用 dAutoRotatePages
参数。 - Timogs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dAutoRotatePages=/None -sOutputFile=finished.pdf *
(带通配符)。太棒了,而且是开源的。谢谢! - Giovanni Bassipdfunite in-1.pdf in-2.pdf in-n.pdf out.pdf
pdfunite
,请运行以下命令进行安装:sudo apt-get install poppler-utils
out.pdf
将会在没有警告的情况下被覆盖,因此 pdfunite *.pdf
的预期效果将无法实现。 - krlmlrcp
命令也会在没有警告的情况下覆盖最后一个参数。这只是为了急于使用的用户(比如我自己)而设定的——幸运的是,我有被影响文件的备份... - krlmlrsudo apt-get install poppler-utils
。然后你就可以输入pdfunite --help
来查看它是否已安装。 - Volomikepdfunite
。(我肯定没有自己安装它...) - Frank N一个非常好的解决方案是PDFChain。它的图形用户界面是PDFTK的前端,您可以合并、拆分甚至为您的PDF文件添加一些背景。
apt
中搜索也没有任何结果 :/ - jena另一种方法是使用Latex,如本帖所述(无需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
。https://wiki.gnome.org/Apps/PdfMod
sudo apt install pdfmod
sudo apt-get install pdfshuffler
就解决了问题 :-) - Will59pdfseparate -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
这个加入:
output_1.pdf output_2.pdf output_156.pdf output_157.pdf
转换为:
out2014-12-14_23_25_36.pdf
sudo apt install poppler-utils
pdfunite output_*.pdf out$(date +%Y-%m-%d-%H_%M_%S).pdf
,但它缺少ls -v
的排序功能。一个明显而微不足道的修复方法是将文件命名为按照你想要包含它们的顺序自然排序。如果你非常需要ls -v
,至少可以去掉对tr
的管道操作,因为在这里它没有任何作用。 - tripleee