如何将两个 PDF 页面拼接在一起成为一张大页面?

2024-02-17

我有两张 36" x 48" 海报 (LaTeX),我想将其附加到一张 72" x 48" 海报中(垂直堆叠)。

浏览 SO 和 GS 文档,我没有任何线索(我不是 CLI 向导)。我怎样才能做到这一点?

(此外,该过程不应有损地压缩光栅图像,因为这将以 2400*1200 DPI 打印。)


由于OP没有提供原始输入海报(链接),这个答案将分三个步骤进行:

  1. 创建 2 张虚拟海报作为步骤 3 的输入
  2. 创建一个嵌入 2 个虚拟海报的 LaTeX 文档
  3. Run pdflatex从步骤 2 中的 LaTeX 文档创建 PDF

第 1 步:创建 2 张虚拟海报(尺寸为36in x 48in)

我创建了两张不同的 PDF 虚拟海报来向您展示如何使用LaTeX。 (这意味着:您的系统上至少需要安装基本的 LaTeX,包括pdflatex公用事业。)

这两个虚拟人是我在 Ghostscript 的帮助下创建的。自从 Ghostscript 的pdfwrite device 1in == 72pt == 720pixels,命令是这样的(因为36in == 2592pt == 25920pixels and 48in == 3456pt == 34560pixels):

gs -o poster1.pdf                   \
   -g25920x34560                    \
   -sDEVICE=pdfwrite                \
   -c " /Helvetica-Bold findfont"   \
   -c " 500 scalefont"              \
   -c " setfont"                    \
   -c " 50 2000 moveto"             \
   -c " (POSTER 1) show"            \
   -c " 1 0 0 setrgbcolor"          \
   -c " 10 setlinewidth"            \
   -c " 20 20 2552 3416 rectstroke" \
   -c " showpage" 

gs -o poster2.pdf                   \
   -g25920x34560                    \
   -sDEVICE=pdfwrite                \
   -c " /Helvetica-Bold findfont"   \
   -c " 600 scalefont"              \
   -c " setfont"                    \
   -c " 50 2000 moveto"             \
   -c " (Poster 1) show"            \
   -c " 1 0 0 setrgbcolor"          \
   -c " 10 setlinewidth"            \
   -c " 20 20 2552 3416 rectstroke" \
   -c " showpage" 

以下是显示这些“海报”的两张屏幕截图:

第 2 步:创建一个要运行的小 LaTeX 程序pdflatex

有一个名为 LaTeX 的包'pdfpages'它可以将 PDF 页面插入 LaTeX 文档,但也可以从 PDF 页面创建“n-up”布局。 (除了基本的 LaTeX 安装之外,您还需要该软件包。)

这里有一个您可以使用的小型 LaTeX 程序。另存为2up-poster.tex:

\documentclass{article}
\usepackage{pdfpages}
\usepackage[paperwidth=72in, paperheight=48in]{geometry}
\pagestyle{plain}                                 % Don't use page numbers

\begin{document}
      \setlength\voffset{+0.0in}                  % adj. vert. offset as needed
      \setlength\hoffset{+0.0in}                  % adj. horiz. offset as needed
      \includepdfmerge[nup=2x1,
                       noautoscale=true,          % set "false" if larger inputs
                       frame=false,               % set "true" for frames
                       templatesize={36in}{48in}] % adjust as needed
                       {poster1.pdf,poster2.pdf}  % modify for file names
\end{document}

第三步:运行pdflatex

现在您可以运行以下命令来创建您的海报:

pdflatex 2up-poster.tex

这将创建一个名为的 PDF 文件2up-poster.pdf.

结果如下:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将两个 PDF 页面拼接在一起成为一张大页面? 的相关文章