Linux 如何以编程方式突出显示PDF文件的部分(例如,使用命令行)

Linux 如何以编程方式突出显示PDF文件的部分(例如,使用命令行),linux,windows,pdf,adobe,ghostscript,Linux,Windows,Pdf,Adobe,Ghostscript,我对以编程方式突出显示PDF的某些部分很感兴趣,希望通过命令行工具。我的特定PDF文件没有OCR,因此无法搜索文本,但我希望突出显示的特定位置出现在同一位置的每一页上。我想知道是否有一个工具可以做到这一点,我可以在命令行工具中输入矩形的像素位置,它会为我突出显示相关部分 以前的调查结果 我在互联网上搜索了一下,发现了一些网站,上面写着如何通过搜索文本来做到这一点。不幸的是,这对我来说是不可能的,因为我的PDF没有OCR 我在stackexchange中搜索了类似的问题,发现 和但都没有得到回答

我对以编程方式突出显示PDF的某些部分很感兴趣,希望通过命令行工具。我的特定PDF文件没有OCR,因此无法搜索文本,但我希望突出显示的特定位置出现在同一位置的每一页上。我想知道是否有一个工具可以做到这一点,我可以在命令行工具中输入矩形的像素位置,它会为我突出显示相关部分

以前的调查结果 我在互联网上搜索了一下,发现了一些网站,上面写着如何通过搜索文本来做到这一点。不幸的是,这对我来说是不可能的,因为我的PDF没有OCR

我在stackexchange中搜索了类似的问题,发现 但都没有得到回答

潜在想法 第一个链接有一个可能的潜在客户,该客户有一个到的给定链接 它使用ghostscript包含注释。是否可以使用ghostscript以类似的方式通过坐标高亮显示页面。 第二个链接提到使用adobe acrobat/reader exe文件的命令行选项,但在相关手册中搜索命令行开关时,不会显示任何突出显示选项。Adobe可能不再支持通过命令行突出显示选项,这将是不幸的

我的最后一个想法是使用AutoHotkey创建一个宏,该宏使用GUI程序为我实际高亮显示,但这将是最后的手段


你们都怎么想?你有什么想法可以做什么,或是做些什么?我愿意制定一个解决方案,如果需要,我可以在Windows或Linux上制定解决方案。提前感谢。

我原以为高亮注释就是您想要的。高亮注释是一种文本标记注释,因此,请使用一组描述边界框的四点来应用注释类型

既然你说你知道坐标,这似乎适合你使用。当然,您必须在每个页面上创建注释,并且必须学习如何使用pdfmark编程,但我相信它应该可以工作


请注意,坐标在用户空间(通常为72点到1英寸)而不是像素,因为PDF不是图像格式,除了包含的图像外,没有像素的概念。

acrobat或acrobat reader(Windows中的acrord32.exe)有许多官方不支持的命令行参数

见:

这包括一个参数,该参数在左、右、上、下四个整数处高亮显示,这些整数采用一些未指定的单位,但在页面的左上角有0,0

除了。。。我一直无法让它工作

我可以传入参数进行搜索和缩放,但高亮显示从不显示任何内容

例如:

start acrord32 /n /s /a "search=MS25441&zoom=300&page=1&highlight=0,55,0,65" floorplan1_ABM_cameras.pdf

打开文件,搜索字符串,缩放到300%,但无论我指定什么坐标,都不会显示突出显示。

一种可能的方法是创建FDF,然后将其导入基础文档。(因为它目前处于brainfart级别,我将其添加为评论而不是答案)。为了确定FDF的外观,请在文档中创建一些注释,然后导出这些注释。不确定这对您是否足够好,但您可以在Adobe Acrobat中使用Javascript(即,您可以在Acrobat中打开PDF文件,并向Acrobat提供要运行的Javascript文件)。Acrobat内部的Javascript API当然能够在特定位置创建链接注释。因此,您需要研究的是如何编写正确的Javascript,以及如何启动Acrobat并将Javascript传递给它运行。“但这是一个可行的解决方案。”MaxWyss说,这是一个有趣的想法。所以你的建议是,我可以研究一个FDF文件如何处理PDF的一个页面,然后编写FDF脚本,以便对所有其他页面执行相同的操作?我是否可以使用文本编辑器编辑FDF文件,或者需要其他类型的软件与之交互?@davidvandriesche我没有意识到Javascript可以在Adobe Acrobat中使用。简单地查找文档似乎是一种非常强大的方法。不幸的是,我不熟悉使用Javascript编程,因此完成这种方法可能会很耗时。我肯定会把它作为一个长期的解决方案。@sticke4:FDF是一种结构化文本格式。这意味着您所需要的工具就是一个好的文本编辑器(以及耳朵之间的许多湿件…)。在pdfmark中查找文档中的高亮注释看起来非常有希望。我将如何在用户空间中查找坐标,是否有这样的工具?同样,在pdfmark上搜索了一些之后,我是否正确地假设我可以在EPS文件中编写代码,然后通过postscript解释器运行它。Adobe的官方资料提到使用蒸馏器,但有一些资料提到我也可以使用Ghostscript。我认为使用ghostscript的优势在于它是免费的,而不是Acrobat捆绑包中的蒸馏器。是吗?Acrobat有一个测量工具,除此之外,我想你还得用尺子测量页面。您必须为pdfmark使用PostScript解释器,因为它是一个PostScript操作符,不能处理其他任何东西。你不需要把PDFMark放在EPS文件中,只需要一个普通的PostScript程序。您不能将PDF用作蒸馏器的输入,它只接受PostScript,所以如果您想这样做,并使用pdfmark,您唯一的选择就是使用Ghostscript。