有没有办法修复 PDF 文件中的截断文本?

Posted

技术标签:

【中文标题】有没有办法修复 PDF 文件中的截断文本?【英文标题】:Is there a way to fix cut-off text in a PDF file? 【发布时间】:2013-01-30 00:19:23 【问题描述】:

我有一个库手册,创建者更改了一些 LaTeX 代码并更改了页面位置和大小,但在编译、提取和发送之前没有检查它。他目前不可用,所以如果我想打印它,我必须自己修复它。

我能够使用一些 ghostscript 命令将整个文本向下推送到页面中心的位置,命令如下所示:

/usr/bin/gs -sDEVICE=pdfwrite -o /home/user/shiftdown.pdf -dPDFSETTINGS=/prepress -c "<</PageOffset [0 -35]>> setpagedevice" -f /home/user/brokendoc.pdf

问题在于,虽然页面现在可以打印而不会触及硬件边距,但章节标题仍然在顶部被截断了一半。如果我在 Acrobat 或 Reader 中打开 PDF,我可以选择章节标题并复制它,然后它将全文粘贴到我选择的程序中。当我尝试在带有部分不兼容驱动程序的 Xerox MFP 上打印它时,它打印了页眉,但它不会双面打印,我不想打印 700 多页,然后使用复制到 1 -> 2 功能。

有没有人知道如何修复这些截断的标题,使它们在 PDF 文件中正确显示或至少可靠地正确打印?我有很容易获得的 ghostscript、相对容易获得的 TeX 和 Acrobat X 的标准版本。

[更新:]

下载 Acrobat Pro XI 的演示后,我可以进入“印刷制作”选项卡并单击“编辑对象”。当我点击截断的章节标题时,它显示了两个边界框,覆盖了整个页面,一个比另一个高一点。当我右键单击它时,我可以选择添加剪辑和删除剪辑。当我单击删除剪辑时,它会显示整个章节标题。如果我单击添加剪辑,它会显示“一个或多个选定区域已经有一个剪辑区域。继续为选定对象设置剪辑区域吗?[否] [是]”

有了这些附加信息,我知道必须有办法在批处理模式下解决问题,有人知道什么命令可以转换成这个吗?

【问题讨论】:

由于没有达到硬件边距,章节标题仍然被截断了一半,这听起来像是一些剪辑细节。不幸的是,可以使用/CropBox 设置或剪切路径来实现剪切。您可能需要在 ghostscript 文档中搜索这些关键字。 我认为你是对的,但即使使用这些术语,我的所有搜索都非常空。这绝对是那些似乎没有很好地涵盖的细节之一。 【参考方案1】:

没有看到“brokendoc.pdf”就很难知道。如果我看到该文件,我可以告诉你发生了什么,以及(可能)如何修复它或解决它。

我不需要整个文件,因此只需一个只有几页显示问题的缩短版本就足够了。您可以使用以下方法从完整的 brokendoc.pdf 中获取此信息: gs -sDEVICE=pdfwrite -o part.pdf -dLastPage=10 brokendoc.pdf

另外,您可能想尝试一下: gs -sDEVICE=pdfwrite -o compatible.pdf -dPDFFitPage -sPAPERSIZE=letter -dFIXEDMEDIA brokendoc.pdf

以上内容会将页面缩放(和居中)到指定的页面大小。您可以指定 'letter' 或 'a4' 或使用 -dMEDIAWIDTHPOINTS=_ -dMEDIAHEIGHTPOINTS=_ 来获取特定的输出页面大小。 -dFIXEDMEDIA 选项使 gs 忽略文件中的 MediaBox。

【讨论】:

FIXEDMEDIA 命令似乎没有效果。由于我的公司阻止了所有各种文件共享服务,我正试图找出将文件放在哪里以便可以访问。 internet 上的文件版本比 .1 版本旧,但也没有问题。 我下载了 acrobat pro 演示并使用了编辑对象。当我右键单击它时,有两个框,我可以单击“删除剪辑”。这将删除覆盖顶部的区域。现在我只需要弄清楚如何在批处理模式下进行操作。

以上是关于有没有办法修复 PDF 文件中的截断文本?的主要内容,如果未能解决你的问题,请参考以下文章

WKHTMLTOPDF 从左边距截断文本

更改文本截断行为

有没有办法从 iOs 中的 XML/HTML 模板生成 PDF 文件

如何识别扫描的 PDF 文件中的图像?

为啥在 iOS 中显示为 PDF 时,具有居中文本的底部表格单元格会被截断?

检测 MFC 控件是不是没有足够的宽度来容纳文本(并且文本将被截断)