我想用PyPDF2在pdf中添加两个图层。顶层是一个空白图层,可以阻止整个页面。另一个添加的层是水印。
在使用addJS()添加的javascript中,我想隐藏一些条件的顶层,这意味着我想要显示带有水印的原始pdf,但不是顶层。但是当我阅读adobe javascript时,我发现有两个问题:
1)我知道adobe javascript可以添加图层并隐藏它,但我不确定我是否添加了PyPDF2图层,adobe javascript可以隐藏它。
2)在adobe javascript中,它可以隐藏名称的图层。但是我用PyPDF2添加了图层,我没看到如何添加名称的图层。
答案 0 :(得分:2)
我认为你混淆了图层和图层。
您正在讨论的图层概念(您可以使用Adobe Javascript显示和隐藏的内容)在技术上称为“可选内容”。您还可能会遇到OCG(可选内容组),OCCD(可选内容配置字典)或OCMD(可选内容成员字典)等术语。
据我所知,PyPDF2不支持此功能。看看这张(仍然开放的)票证,例如:https://github.com/mstamy2/PyPDF2/issues/92。
因此,当PyPDF2谈论在PDF上添加一个图层(或将两个PDF一起分层)时,他们只是谈论获取一个PDF文件的内容并将其添加到另一个PDF之上。这将合并两个PDF文件的内容对象,但不插入任何可选内容信息。
因此,使用Adobe Javascript无法打开或关闭使用PyPDF2讨论的图层类型,因为它们不是“可选内容”图层。
为了做你想做的事,你需要找到一个可以使用Optional Content系统在另一个PDF上添加PDF的库或工具。