问题描述
如何将现有 pdf 上的元素(如 Adobe 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 (将#修改为@)