【问题标题】:how to hide one layer with adobe javascript when layers added with PyPDF2使用 PyPDF2 添加图层时如何使用 adobe javascript 隐藏图层
【发布时间】:2015-07-26 03:27:57
【问题描述】:

我想用 PyPDF2 在 pdf 中添加两层。顶层是一个空白层,阻挡了整个页面。另一个添加的图层是水印。

在使用 addJS() 添加的 javascript 中,我想在某些条件下隐藏顶层,这意味着我想显示带水印的原始 pdf,而不是顶层。但是当我阅读adobe javascript时,我发现有两个问题:

1) 我知道 adobe javascript 可以添加图层并将其隐藏,但我不确定是否使用 PyPDF2 添加图层,adobe javascript 可以隐藏它。

2) 在 adobe javascript 中,它可以隐藏带有名称的层。但是我用 PyPDF2 添加了图层,我没有看到如何添加带有名称的图层。

【问题讨论】:

    标签: javascript python pdf adobe


    【解决方案1】:

    我认为您混淆了层和层。

    您所说的图层概念(您可以使用 Adob​​e Javascript 显示和隐藏的内容)在技术上称为“可选内容”。您可能还会遇到 OCG(可选内容组)、OCCD(可选内容配置字典)或 OCMD(可选内容成员字典)等术语。

    据我所知,PyPDF2 不支持这一点。看看这张(仍然开放的)票,例如:https://github.com/mstamy2/PyPDF2/issues/92

    因此,当 PyPDF2 谈到在 PDF 之上添加一个层(或将两个 PDF 分层)时,他们只是在谈论获取一个 PDF 文件的内容并将其添加到另一个 PDF 之上。这将合并两个 PDF 文件的内容对象,但不插入任何可选内容信息。

    因此,您使用 PyPDF2 讨论的图层类型无法使用 Adob​​e Javascript 打开或关闭,因为它们不是“可选内容”图层。

    为了做你想做的事,你需要找到一个库或工具,它可以使用可选内容系统在另一个 PDF 之上添加一个 PDF。

    【讨论】:

    • 是的。我没有处理pdf的经验。这是我猜的。我想你已经就我的问题给了我一个很好的答案。事实证明,我的想法行不通。我将创建另一个进一步的问题,请看一下。谢谢!
    • 这是我的进一步问题。 stackoverflow.com/questions/31639933/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-04
    • 2013-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多