目前我能够使用pdflatex
A4 页面大小生成所需的输出文件。为了降低打印成本,我想将这个 A4 大小的 PDF 转换为 A3 页面,如下图所示。是否有任何软件包可以帮助生成 A3 页面 PDF?
[注:PDF文件可以是A4大小,有1、2、3、4、5或6页]
请提出建议。
答案1
你可以用这个包来做pdfpages
:
\documentclass{article}
\usepackage[landscape,a3paper]{geometry}
\usepackage{pdfpages}
\begin{document}
\includepdf[pages={4,1,2,3},nup=2x2]{test.pdf}
\end{document}
graphicx
或者,如果您想要自定义布局,甚至可以使用该包:
\documentclass[twocolumn]{article}
\usepackage{graphicx}
\usepackage[landscape,a3paper]{geometry}
\geometry{verbose,tmargin=0cm,bmargin=0cm,lmargin=0cm,rmargin=0cm}
\parindent=0pt
\begin{document}
\centering
\includegraphics[page=4,width=.5\paperwidth,height=.49\paperheight,keepaspectratio]{test.pdf}
\includegraphics[page=2,width=.5\paperwidth,height=.49\paperheight,keepaspectratio]{test.pdf}
\newpage
\includegraphics[page=1,width=.5\paperwidth,height=.49\paperheight,keepaspectratio]{test.pdf}
\includegraphics[page=3,width=.5\paperwidth,height=.49\paperheight,keepaspectratio]{test.pdf}
\end{document}
test.tex
用于获取的文件 test.pdf
:
\documentclass{article}
\usepackage{graphicx}
\usepackage{lipsum}
\usepackage[margin=1cm]{geometry}
\begin{document}
\resizebox{\linewidth}{!}{A4-1} \lipsum[1-8]\newpage
\resizebox{\linewidth}{!}{A4-2} \lipsum[1-8]\newpage
\resizebox{\linewidth}{!}{A4-3} \lipsum[1-8]\newpage
\resizebox{\linewidth}{!}{A4-4} \lipsum[1-8]\newpage
\end{document}
答案2
你可以用这个包来做pdfpages
。我会给出一个我的真实示例,用于在 A4 纸上制作 A5 小册子,并解释细节:
我首先编译了我的主文档,mymaindoc.tex
第一行是这样的:
\documentclass[a5paper, 11pt, twoside]{book}
然后我mybooklet.tex
使用以下代码创建了另一个 A4 横向格式的文档:
\documentclass[a4paper,11pt, twoside]{book}%
\usepackage{pdfpages}
\begin{document}
\includepdf[pages = {1,{},2-23},signature=28,landscape]{mymaindoc.pdf}
\end{document}
这页面key 枚举第一页(标题页)、空白页(正文从奇数页开始)以及从第二页开始的 mymaindoc.pdf 的每一页。总共 25 页。
这签名密钥是 4 的最小倍数,且≥25。
答案3
如果您的工作流程已经涉及非 TeX 程序,您可以考虑该makebook
程序:
https://github.com/dgoodmaniii/makebook
您必须下载并使用单独的程序;但您不必创建和编译单独的 TeX 文件。现在不在电脑旁;但由于您的目标页面大小只是源页面大小的两倍,因此类似下面的操作应该可以做到:
makebook -i source.pdf -o target.pdf -t folio
makebook
内部使用pdfpages
(这是一个很棒的包),但自动化了使用它的繁琐工作。bash
不过,它确实需要一个 shell。
免责声明:我是的作者makebook
,因此对其实用性有偏见。