我有一个由某个软件自动生成的 PDF,我想将其包含在我正在编写的报告中。我使用pdfpages
它完美地完成了工作,但问题是,PDF 在实际内容(即图形)周围有很多空白,我总是必须对自动生成的文档进行一些繁琐的后期处理,以便它能很好地适合我的报告。更改软件的输出以消除空白不是一个选择(或者至少,会比它的价值更麻烦)。
我检查了pdfpages
手动的,但找不到可以实现该功能的选项。理想情况下,我希望能够设置每个方向的边距,然后相应地裁剪并包含 PDF。
我还有哪些其他选项来控制所包含的 PDF 的哪部分在最终文档中可见?
答案1
答案2
您可以在使用 包含 PDF 时裁剪/修剪 PDF trim=left botm right top
。
完整示例:
\begin{figure}[htbp]
\centering
\includegraphics[clip, trim=0.5cm 11cm 0.5cm 11cm, width=1.00\textwidth]{gfx/BI-yourfile.pdf}
\caption{Title}
\label{fig:somthing}
\end{figure}
注意:确定要修剪多远可能需要一些时间。为了加快速度,可以在图像周围画一个框:
\fbox{\includegraphics[trim=0.5cm 11cm 0.5cm 11cm]{gfx/BI-yourfile.pdf}}
答案3
如果您的 PDF 图像中有价值的部分的坐标是固定的,那么以下方法可以自动化。
使用以下模板修剪或裁剪图像并将其编译xelatex
。您将获得 2 个页面,一个用于导航,另一个是裁剪后的图像。
% cropping.tex
\documentclass{article}
\usepackage{pstricks}
\usepackage{graphicx}
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{pspicture}
% Set the border to 0pt if you don't like paddings.
\PreviewBorder=1cm\relax
% If you need 4 colored paddings, uncomment the following.
% But remmember that \PreviewBorder=0 will ignore it.
%\pagecolor{yellow!10}
\newsavebox\IBox
\savebox\IBox{\includegraphics[width=\linewidth]{leibniz.jpg}}
\def\N{15}% columns
\def\M{15}% rows
\psset
{
xunit=\dimexpr\wd\IBox/\N\relax,
yunit=\dimexpr\ht\IBox/\M\relax
}
\begin{document}
% First page for navigation
\begin{pspicture}(\N,\M)
\rput[bl](0,0){\usebox\IBox}
\psgrid[style=gridstyle]
\end{pspicture}
% Second page for the final output
% Cropping coordinates
\def\Left{6}
\def\Bottom{8}
\def\Right{10}
\def\Top{13}
\begin{pspicture}(\Left,\Bottom)(\Right,\Top)
\begin{psclip}{\psframe[linestyle=none](\Left,\Bottom)(\Right,\Top)}
\rput[bl](0,0){\usebox\IBox}
\end{psclip}
\end{pspicture}
\end{document}
cropping.pdf
在您的主 TeX 文档中,您只需使用即可导入第二页\includegraphics[page=2,scale=<number>]{cropping.pdf}
。
请阅读源文件中的注释来修改填充厚度或填充颜色。
注意:此示例使用戈特弗里德·莱布尼茨的照片。
答案4
因为你想“...设置每个方向的边距,然后相应地裁剪 PDF...”为了“...控制包含的 PDF 的哪部分在最终文档中可见...”我建议你尝试布里斯。它使用起来很简单,并且比 提供更多的控制权pdfcrop
。