删除 PDF 文件中的红色方框

删除 PDF 文件中的红色方框

我从 LPIC 网站下载了《Linux Essentials》PDF 文件,其链接为 https://www.linuxcertification.co.za/sites/default/files/linux-esentials-manual.pdf

我将 PDF 文件保存在系统上,并使用 Foxit PDF 阅读器和 Adob​​e 阅读器打开它。现在,在 Chrome 中以 PDF 形式查看文件时,看不到红色框:

在此处输入图片描述

但是,当我在 Foxit 和 Adob​​e 中查看它时,会出现这些框:

在此处输入图片描述

导致此问题的原因是什么?

我尝试使用在线转换器将 PDF 文件转换为 Word,然后将 Word 文件转换为 PDF。在大多数情况下,方框被删除,但文本对齐被扭曲,有时甚至会出现一些语法错误。

我不能总是依赖在 Chrome 中打开文件,而是希望使用 Foxit 或 Adob​​e 阅读器来打开文件。如能得到任何帮助,我将不胜感激。

答案1

事实上,你可以很容易地删除边框,因为它们不属于 PDF 页面本身。边框实际上是链接注释的一部分,可用于浏览文档。因此,要删除它们的外观,只需只是需要调整适当的 PDF 对象。

该文档的许可证不允许分发衍生版本。因此,这里有一个脚本,它使用HexaPDF删除链接注释中的边框:

require 'hexapdf'
doc = HexaPDF::Document.open(ARGV[0])
doc.pages.each {|page| page[:Annots]&.each {|a| a = doc.deref(a); a[:C] = nil; a[:Border] = [0, 0, 0]}}
doc.write(ARGV[0] + '.pdf', validate: false)

您需要安装 HexaPDF(gem install hexapdf,需要安装可运行的 Ruby 2.4),将此脚本保存为 Ruby 文件,remove_borders.rb然后像这样运行它:

ruby remove_borders.rb path/to/linux-essentials-manual.pdf

输出是一个同名但.pdf附加了附加内容的文件,其中链接注释的边框已被删除。

相关内容