寻找更好的工作流程来获取裁剪的 PDF 和 EPS 图形 - 第 1 阶段

寻找更好的工作流程来获取裁剪的 PDF 和 EPS 图形 - 第 1 阶段

我正在使用 TeX Live 2010。由于过去发现了很多问题,我不再使用 MikTeX 了。

输入文件:

gridon.tex:

% gridon.tex
\documentclass{minimal}
\usepackage{pstricks}

\pagestyle{empty}
\begin{document}

\begin{pspicture}[showgrid=true](3,3)
\pscircle(1.5,1.5){1}
\rput[tr](3,3){3}
\end{pspicture}

\end{document}

gridoff.tex:

% gridoff.tex
\documentclass{minimal}
\usepackage{pstricks}

\pagestyle{empty}
\begin{document}

\begin{pspicture}[showgrid=false](3,3)
\pscircle(1.5,1.5){1}
\rput[tr](3,3){3}
\end{pspicture}

\end{document}

主要.tex:

% main.tex
\documentclass{minimal}
\usepackage[hiresbb]{graphicx}
\begin{document}

\includegraphics[scale=2]{gridon}
\vspace{5mm}

\includegraphics[scale=2]{gridoff}
\end{document}

方法:

方法A.bat:

回音关闭
乳胶 %1
dvips %1
ps2pdf%1.ps
pdfcrop --雇用 %1
pdftops-eps%1-crop.pdf

方法B.bat:

回音关闭
乳胶 %1
dvips %1-E-o %1.eps
epstool --copy --bbox %1.eps %1-crop.eps
epstopdf --hires %1-crop.eps

结果:

在此处输入图片描述

答案1

我推荐方法 A,因为 EPS 文件通常会小得多。

您注意到方法 A 的裁剪效果“不好”。原因很微妙:您使用 pstricks 生成的 PDF 中用于标记网格的字体(例如数字“3”)是 Helvetica,而且不是嵌入在 PDF 中。因此 ghostscript 和 adobe reader 必须使用替代字体。大多数查看器(包括许多基于 ghostscript 的查看器,还有 xpdf)将使用 Helvetica 版本。Adobe 的查看器将替代 ArialMT(至少在 Windows 上),它的形状略有不同,因此会被截断。您可以在“文档属性”对话框的“字体”选项卡上使用 Adob​​e reader 检查这一点。您可以通过生成嵌入字体的文件来解决此问题。一种方法是将方法 A 更改为使用ps2pdf -dPDFSETTINGS#/prepress %1.ps %1.pdf

为什么方法 B 似乎更胜一筹?实际上,我一度感到很困惑,因为在 Ubuntu 上,这两种方法确实会产生相同的边界框。这是意料之中的,因为 pdfcrop 和 epstool 都用于gs -sDEVICE=bbox生成它。那么你为什么会看到差异呢?好吧,我发现 miktex 版本的 epstopdf 有一个错误:它将边界框四舍五入为整数点数。在这个特殊情况下这具有取消剪辑的效果,但总的来说,它可能会使剪辑更糟。我明天会针对 miktex 提交一个错误,但与此同时,如果您使用 miktex,这也是首选方法 A 的另一个原因。(miktex 版本的 epstopdf 是用 C 语言重新实现的无错误的原始 perl 脚本)。

相关内容