我有很多 pdf 文件需要\includepdf
,每个文件有 3 到 4 页,不同维度(每页的高度和宽度可能不同。
我用过
\documentclass[12pt,a4paper,UTF8,scheme=plain,twoside,draft]{ctexart}
%\ctexset{today=old}
%% SOME KEY packages used
\usepackage{amsmath,enumerate,amsfonts}
\usepackage[export]{adjustbox} % uses graphicx
\usepackage[top=1.8cm,bottom=1.8cm,left=2cm,right=2cm]{geometry}
\usepackage{fancyhdr}
\usepackage{lastpage}
\includepdf[
pages={-},
pagecommand={},
width =0.95\textwidth,
height=0.95\textheight,
keepaspectratio
]{filename}
希望对于每个 pdf 和每个包含的页面,它都会自动使用或重新缩放并居中fit
到页面中。但输出不是......0.95\textwidth
0.95\textheight
我使用draft
选项作为测试。
有些页面看起来甚至已经扩展到了边缘。
我该如何进行更改,以便包含的 pdf 中的每一页都缩放到fit
页面中央?
谢谢。
不是垂直居中或水平居中!!!!
它是否使用第一页的缩放因子来缩放整个包含的 pdf??
答案1
默认情况下,pdfpages 仅检查包含 pdf 第一页的大小(至少我认为它仍然这样做)。这意味着 fit 选项与此页面的大小有关。但您可以循环遍历单个页面:
\documentclass[]{article}
\usepackage{pdfpages}
\makeatletter
\newcommand\fitallincludepdf[2][]{%
\AM@findfile{#2}%
\setkeys{pdfpages}{#1}%
\expandafter\AM@readlist\expandafter{\AM@pagestemp}%
\@for\xxx:=\AM@pagelist\do{%
\edef\AM@tmp{[\unexpanded{#1},pages=\xxx]}%
\expandafter\includepdf\AM@tmp{#2}%
}}%
\makeatother
\begin{document}
\includepdf[fitpaper,pages=-]{diffsize}
\fitallincludepdf[fitpaper,pages=-]{diffsize}
\end{document}
正常的 includepdf 给出的是:
另外这个
diffsize pdf 是使用此代码创建的:
\documentclass{article}
\usepackage{pdfpages}
\begin{document}
\includepdf[fitpaper]{example-image-A}
\includepdf[fitpaper]{example-image-10x16}
\end{document}