假设您有一个draft
pdf,它与所需版本的唯一区别final
是缺少图片。并且假设您有原始图片,但没有文档的源代码。
实现文档中数字到位的最佳技巧是什么?
答案1
包含两张图片的示例tiger.pdf
来自:flowers.eps
TDS:doc/generic/pstricks/images/
\documentclass[a5paper]{article}
\usepackage[hmargin=10mm,vmargin={10mm,20mm}]{geometry}
\usepackage[draft]{graphicx}
\usepackage{lipsum}
\begin{document}
\lipsum[11]
\begin{center}
\includegraphics[width=.5\linewidth]{tiger}%
\end{center}
\lipsum[2]
\begin{center}
\includegraphics[width=.5\linewidth]{flowers}%
\end{center}
\end{document}
然后我测量了图像框的位置(使用gv
,...):
\newcommand*{\imglist}{%
\img{1}{118bp}{306bp}{301bp}{498bp}{tiger}%
\img{1}{118bp}{65bp}{301bp}{204bp}{flowers}%
}
的第一个参数\img
是页码,然后是左下角和右上角的坐标。以下示例将使用 PDF ( gv
) 的坐标系,水平值从左侧开始,垂直值从底部开始。最后一个参数包含图像文件名。
然后先在图片区域放一个白框,清除选项的边框和图片文件名draft
,然后放置图片,假设图片没有失真。
包atbegshi
用于将图像放在输出页面的前景中。包picture
扩展了picture
环境。长度值也可以代替因子\unitlength
。包pdfpages
包括没有图像的原始 PDF 文件。而color
白盒需要包。
示例文件:
\documentclass{article}
\usepackage{pdfpages}
\usepackage{atbegshi}
\usepackage{picture}
\usepackage{color}
\newcommand*{\imglist}{%
\img{1}{118bp}{306bp}{301bp}{498bp}{tiger}%
\img{1}{118bp}{65bp}{301bp}{204bp}{flowers}%
}
\newcommand*{\img}[6]{%
\ifnum#1=\value{page}%
\AtBeginShipoutUpperLeftForeground{%
\put({\dimexpr(#2)\relax},{-\dimexpr\paperheight-(#3)\relax}){%
\rlap{%
\textcolor{white}{%
\rule{\dimexpr(#4)-(#2)\relax}{\dimexpr(#5)-(#3)\relax}%
}%
}%
\includegraphics[%
width=\dimexpr(#4)-(#2)\relax,
height=\dimexpr(#5)-(#3)\relax,
]{#6}%
}%
}%
\fi
\ignorespaces
}
\AtBeginShipout{%
\imglist
}
\begin{document}
\includepdf[pages=-,fitpaper]{t.pdf}% PDF file without images
\end{document}