如何沿着裁切标记剪切 PDF?

如何沿着裁切标记剪切 PDF?

我有一个 PDF 文档,显然是用 LaTeX 生成的,其中有较宽的白色边距和裁切标记。我想删除这些边距和相应的裁切标记。有没有工具可以自动执行此操作?

编辑 Werner 建议使用pdfpages包将 PDF 页面包含在 LaTeX 文档中。实际上我应该只包含我想要裁剪的 PDF 页面,然后使用选项来修剪它。我正在等待帮助来识别最合适的选项。

答案1

pdfcrop该实用程序用于从 PDF 中裁剪白色边框。

pdfcrop in.pdf out.pdf

如果您想删除更多内容,以便裁剪标记也被删除,请使用该--margins选项。提供负边距值将导致部分内容被裁剪。边距值的单位是 bp。使用负值可以删除刻度标记,而不会删除其他内容。

pdfcrop --margins -10 in.pdf out.pdf 

编辑使用OP的示例PDF如下...

您的示例 PDF 文件对我有用。我使用了以下命令。

pdfcrop --margins -10 --verbose matC.pdf matC_cropped.pdf

这是您的原始文件

在此处输入图片描述

这是裁剪后的文件

在此处输入图片描述

详细日志pdfcrop如下

PDFCROP 1.38, 2012/11/02 - Copyright (c) 2002-2012 by Heiko Oberdiek.
* PDF header: %PDF-1.5
* Running ghostscript for BoundingBox calculation ...
GPL Ghostscript 9.04 (2011-08-05)
Copyright (C) 2011 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Processing pages 1 through 1.
Page 1
%%BoundingBox: 3 3 205 205
* Page 1: 3 3 205 205
%%HiResBoundingBox: 3.667289 3.061336 204.622728 204.016705
* Running pdfTeX ...
This is pdfTeX, Version 3.14159265-2.6-1.40.16 (MiKTeX 2.9 64-bit)
entering extended mode
(tmp-pdfcrop-3248.tex [1 <./matC.pdf>] )
Output written on tmp-pdfcrop-3248.pdf (1 page, 24335 bytes).
Transcript written on tmp-pdfcrop-3248.log.
==> 1 page written on `matC_cropped.pdf'.

如您所见,pdfcrop使用ghostscript。也许您的ghostscript有问题。

答案2

fitpaper=true我最终使用该选项(手动设置选项)解决了该问题trim

\documentclass{article}
\usepackage{pdfpages}
\begin{document}
\includepdf[pages={2-32},trim=2.9cm 3.5cm 2.9cm 3.5cm,fitpaper=true]{Chapter05.pdf}            
\end{document}

编辑:如果我考虑非 LaTeX 解决方案,我就会想到 briss。

答案3

一个选项就是对文档中所有带有裁切标记的页面进行迭代,然后对每一页进行trim处理clip以删除裁切标记。

第一步是获取要包含的页面数量。有关详细信息,请参阅获取外部 PDF 的页数

其次,我们按顺序迭代页面数(使用multido)在每个页面上,我们创建一个新的一片空白页面在您的文档中(使用\newpage \thispagestyle{empty} \mbox{}),并使用从 PDF 插入一页作为覆盖eso-pic)。覆盖层放置在F矿石中G该特定页面的仅有的(由于),我们从原始页面图像中*删除了(med)适当的水平和垂直偏移。trim

在此处输入图片描述

\documentclass{article}
\usepackage{multido,geometry,eso-pic,graphicx}
\usepackage{pdfpages}
\geometry{paper=a4paper}

\begin{document}

\includepdf{provacrop}% For reference

% https://tex.stackexchange.com/q/198091/5764
\pdfximage{provacrop.pdf}%
\edef\numberofpages{\the\pdflastximagepages}%

\multido{\i=1+1}{\numberofpages}{%
  \newpage% Start a new page
  \thispagestyle{empty}% No header/footer
  \mbox{}% Just to put something on this blank page
  \edef\x{%
    \noexpand\AddToShipoutPictureFG*{%
      \noexpand\AtPageLowerLeft{%
        \noexpand\hspace{20mm}% Horizontal shift
        \noexpand\raisebox{25mm}{% Vertical shift
          \noexpand\includegraphics[trim=20mm 25mm 20mm 25mm,clip,page=\i]{provacrop}}%
    }%
  }}\x%
}

\end{document}

上面我水平修剪了 20 毫米,垂直修剪了 25 毫米,只是为了展示它如何影响输出。您可以尝试这些长度,直到裁剪标记消失。

使用\edef\x{..}\x是为了确保正确选择page=\i-\i必须完全扩展才能被正确处理\includegraphics

相关内容