1

我有这样的PDF:

在此处输入图像描述

其中与文本内容相关的所有边距在每页基础上都不同。

有什么工具可以为我纠正这个问题吗?

我知道 Scan Tailor 可以在位图上执行此操作,但这是只有文本层的 PDF,所以我不寻求在任何阶段都涉及位图的解决方案


更新

好的,对我来说没有必要尝试在 Windows 上运行 PDFCrop,因为主要功能是由 ghostscript 提供的。此命令(取自 pdfcrop perl 脚本):

gswin32c.exe -dSAFER -dNOPAUSE -dBATCH -q -r72 -sDEVICE=bbox -f input.pdf 2> bbox.txt

生成带有文本内容尺寸的 bbox.txt 文件,好像没有边距(边界框)。它看起来像这样:

%%BoundingBox: 91 259 474 757
%%HiResBoundingBox: 91.000000 259.000000 474.000000 757.000000
%%BoundingBox: 85 224 470 768
%%HiResBoundingBox: 85.000000 224.000000 469.375000 768.000000
%%BoundingBox: 102 217 489 768
%%HiResBoundingBox: 102.000000 217.000000 488.457031 768.000000
...

其中第一个数字是左下角 x,y 值,其余两个和右上角,从左下边缘测量(以像素/点为单位)。

这可以通过用户选择的语言读取,然后根据需要更正 bbox 并再次传递给 ghostscript,如此处引用的:使用 Ghostscript 9.01 裁剪 PDF

4

1 回答 1

1

如果您确定只涉及文本(而不是上面绘制文本的图像或路径绘制符号),您可以使用 iText(或者很可能也使用 iTextSharp 的某些 .NET 语言)在 Java 中轻松构建这样的工具解析器包功能。

iText in Action,第 2 版,第 15.3.4 章介绍了如何查找文本边距,示例代码可以在 SourceForge iText SVN 存储库的ShowTextMargins.java中找到。

通过操作各个页面的 MediaBox 条目,您可以根据需要调整边距。

于 2012-10-11T09:50:50.963 回答