如何合并或转换多个PDF文件为一个大的PDF文件?
我尝试了以下方法,但目标文件的内容并不如预期:
convert file1.pdf file2.pdf merged.pdf
我需要一个非常简单/基本的命令行(CLI)解决方案。最好的情况是,我可以将合并/转换的输出直接传递到 pdf2ps
(就像我在先前提问的问题中尝试过的那样:Linux piping ( convert -> pdf2ps -> lp))。
如何合并或转换多个PDF文件为一个大的PDF文件?
我尝试了以下方法,但目标文件的内容并不如预期:
convert file1.pdf file2.pdf merged.pdf
我需要一个非常简单/基本的命令行(CLI)解决方案。最好的情况是,我可以将合并/转换的输出直接传递到 pdf2ps
(就像我在先前提问的问题中尝试过的那样:Linux piping ( convert -> pdf2ps -> lp))。
find . -name '*.pdf' -exec gs -o -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -sOutputFile=../out.pdf {} +
另一个选项,如果您想选择合并文档中的页面也很有用:
pdfjoin image.jpg '-' doc_only_first_pages.pdf '1,2' doc_with_all_pages.pdf '-'
它随附于texlive-extra-utils软件包中
texlive-extra-utils
,但是在我的系统上找不到pdfjoin
。 我的texlive-extra-utils
版本为2020.20210202-3。 有任何想法为什么会这样吗?您是否实际上是指Debian发行版的texlive?这应该添加到您的答案中。 - GPWRconvert $(ls *.pdf) ../merged.pdf
convert
命令将把它们合并成一个常见的PDF文件。该命令将当前目录中所有扩展名为.pdf
的文件合并到父目录下的merged.pdf
文件中。$(ls *.pdf)
代替简单通配符*.pdf
的意义是什么? - firegurafikuls *.pdf
通配符会失去对合并文件顺序的控制。例如,以下列表:1.pdf、2.pdf、3.pdf、...、10.pdf、...、100.pdf实际上会像这样合并:1.pdf、10.pdf、100.pdf、2.pdf、3.pdf(由于默认的Linux文件排序方式 - 在这里您可以了解更多有关此问题的详细信息 - https://dev59.com/S2Ag5IYBdhLWcg3w_fLV)。 - Egel
如果需要命令行界面,请使用pdftk, 如果需要图形用户界面,请使用pdfsam, 如果需要Web界面,请使用sejda。
- Clémentconvert
命令行来自于 ImageMagick,它会在执行其他操作之前将 PDF 转换为图像。 - Alexis Wilkepdftk PDF1.pdf PDF2.pdf cat output PDF3.pdf
运行正常。 - Sihat Afnan