如何使用Mako SDK检测PDF中的透明度?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Mako SDK检测PDF中的透明度?相关的知识,希望对你有一定的参考价值。

我正在使用Mako SDK来分析我的PDF。我目前正在使用DOM:

IDOMNode::walkTree(...)

但我不知道如何判断节点是透明的还是使用透明度。

有没有办法检测节点树中的透明度?

答案

IRendererTransform可以用来做到这一点。基本上你设置了一个IRendererTransform来渲染节点树中的任何透明内容。之后,您可以使用probe(...)计算出在该场景中是否会呈现任何内容。

此代码显示了如何执行此操作:

IRendererTransformPtr transform = IRendererTransform::create(jawsMako);
transform->renderTransparentNodes(true);

if (transform->probe(<your node tree here>))
{
    // If we get here there is something transparent
}

请注意,在大多数情况下,不透明度为零的项目不会被视为透明,因为它们很容易被丢弃。

以上是关于如何使用Mako SDK检测PDF中的透明度?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 PDFkit 检测滚动到 PDF 中的另一个页面

删除 Mako 模板中的前导空格

如何使用 iText7 检测 PDF 中的 fontawesome 图标

如何在 `Node aws-sdk` sendRawEmail 函数中发送 PDF 附件?

如何使用带有水平线的谷歌视觉检测日语单词或使用 TEXT_DETECTION 检测文件中的文本 (PDF)

如何使用 JavaScript v12 SDK for Browsers 检索和显示(在浏览器中)存储在 Azure 存储帐户中的多个 pdf 的 URL