合并两个由 LaTeX 输出的 PDF 文件?

合并两个由 LaTeX 输出的 PDF 文件?

我想(重新)提交一篇论文,并附上一封简短的附信,解释我所做的更改。但是,期刊只允许我上传一个文件。由于主要文章将使用期刊样式类等,因此使用第一页来写附信并不实际(或者可以吗?我可以重置页码等吗??)

相反,我可以创建两个 PDF 文件(一个是信件,另一个是文章),然后以某种方式将它们合并在一起吗?

答案1

分别创建单独的文档,然后使用 PDF 实用程序将它们合并。从语义上讲,我认为这是可行的方法,而不是摆弄文档设置。毕竟,您提交的不是一个“文档”,而是一组文档。

编辑:这是一个重要的问题,已经被问过不止一次了。它也与 TeX 并不完全相关。所以我将我的答案进行社区维基化,以便可以改进它并使其更加明确。

乳胶

使用赫伯特的答案:pdf页面包裹

\documentclass{article}% or something else
\usepackage{pdfpages}
\begin{document}
\includepdf[pages=-]{paper1}
\includepdf[pages=-]{paper2}

\end{document}

您还可以通过添加选项来保留文档页面大小:

\includepdf[pages=-,fitpaper]{paper1}
\includepdf[pages=-,fitpaper]{paper2}

不要重复使用这个:

\includepdfset{pages=-,fitpaper}
\includepdf{paper1}
\includepdf{paper2}
\includepdf{paper3}
\includepdf[fitpaper=false]{paper4} // you can add document specific options
\includepdf{paper5}
\includepdf{paper6}
\includepdfset{} // to put default values back

命令行

  • pdftk

     $ pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf
    
  • GhostScript

     $ gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf etc.pdf
    

    (通过麦金塔世界

  • PDFJAM是一套在后端使用 LaTeX 和 pdfpages 的脚本。

     $ pdfjoin foo1.pdf foo2.pdf --outfile bar.pdf
    

    (通过乌韦·赫尔曼

  • stapler是 的纯 Python 替代品pdftk

      $ stapler cat in1.pdf in2.pdf out.pdf
    
  • 韓譯本是 Python 绑定多媒体PDF– “轻量级的 PDF 和 XPS 查看器”。

       $ python -m fitz join -o output.pdf file1.pdf file2.pdf
    
  • qpdf是一个命令行工具和 C++ 库,可对 PDF 文件执行内容保留转换。

        $ qpdf --empty --pages file1.pdf file2.pdf -- output.pdf
    

图形用户界面

这个问题非常相似,尽管提问者没有意识到这一点。

答案2

套餐pdfpages可能有帮助

\documentclass{article}% or something else
\usepackage{pdfpages}
\begin{document}
\includepdf[pages=...]{paper1}
\includepdf[pages=...]{paper2}

\end{document}

答案3

如果您安装了 Ghostscript,您也可以通过发出以下命令将两个单独的 PDF 文件合并为一个:

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=merged.pdf input1.pdf input2.pdf

相关内容