如何以编程方式删除PDF图层?

时间:2017-02-23 10:43:24

标签: pdf layer ocg

我知道Doc.SetOCGOrder()等等,但显然Acrobat API没有提供删除图层(也就是可选内容组,ocgs)的方法,只是为了将它们隐藏起来,同时让它们可以通过脚本访问。< / p>

我没有被迫使用Acrobat,事实上我更喜欢使用FOSS解决方案(或至少免费软件) 修改 another post使用,但遗憾的是它不是免费的。有没有办法将这种行为移植到Acrobat的JS或?基本上答案似乎是遍历每个页面的内容,这似乎包括图层。

(关于合并,我注意到pdftk在合并多个文件时会删除图层,因此可以简单pdftk A=input.pdf B=input.pdf cat A1-end output output.pdf。)

2 个答案:

答案 0 :(得分:0)

到目前为止我的方法:对于通过GetOCGs()设置locked=true以及initState=falsestate=false获得的相关图层。然后使用SetOCGOrder()从图层视图中删除图层。不幸的是,这并不完美,因为至少在Acrobat DC中我仍然可以选择&#34;显示所有图层&#34;在图层面板中,仍然显示图层。现在可以合并所有图层,但我也没有找到以编程方式实现该图层的选项,也不相信这会实际删除隐藏图层的元素。

答案 1 :(得分:0)

您不能以编程方式执行此操作,但您可以创建一个Action,它将使用Adobe Acrobat处理一个包含PDF文件的文件夹。设置操作以使用PDF优化器丢弃隐藏的图层并展平可见的图层。见图。

enter image description here