如何使用 Itext 7-dotnet 标记像 Acrobat 这样的背景?

问题描述

如何将现有 pdf 上的元素(如 Adob​​e acrobat)标记为背景?似乎 Acrobat 标签与普通的 itext 标签不同。似乎有标记直接指向元素并从标记树 (source) 中删除核心响应标记

我可以将标签树中对应的标签设置为artifact,但是我不知道如何标记链接的原始对象?

tagTreePointer.MovetoKid(0);

        for (int kidindex = tagTreePointer.GetKidsRoles().Count - 1; kidindex >= 0; kidindex--)
        {
            var kidsRole = tagTreePointer.GetStandardRoleOfKid(kidindex);
            if (!kidsRole.Equals(PdfName.Span.GetValue(),StringComparison.Ordinal)) continue;

            tagTreePointer.MovetoKid(kidindex);

            if (tagTreePointer.GetKidsRoles() is IList<string> kidsRoles && kidsRoles.Count == 1 && kidsRoles.FirstOrDefault() is string kidKidRole && kidKidRole.Equals(PdfName.MCR.GetValue(),StringComparison.OrdinalIgnoreCase))
            {
                // here i set the role of tag to artifcat but it is only the tag not the pdfobject
                tagTreePointer.SetRole(PdfName.Artifact.GetValue());
                if (tagTreePointer.GetContext().GetPointerStructElem(tagTreePointer) is PdfStructElem pdfStructElement)
                {
                    if (pdfStructElement.GetKids().FirstOrDefault() is PdfMcrNumber pdfMcrNumber)
                    {
                        var pageObject = pdfMcrNumber.GetPageObject();
                    }
                }
            }

如果我为父标签设置了一个新角色,那么 pac 3 会说没问题,但是如果我从树中删除标签,那么 pac 3 会说容器中的所有元素都没有标记

也许有人有想法?

最好的问候 丹尼尔

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)