我正在使用iText重新创建Acrobat的标记树功能。使用MCID内容获取标记的内容
到目前为止,我已经设法得到标签结构。
我想弄清楚的最后一件事是如何让&解码内容流中标记的“标记内容”。
编辑:添加目的
这个问题的目的是要弄清楚如何访问内容流,具有MCID和解码的内容。
编辑2:添加iText的RUPS参考
下面的图像显示了我的树已经达到,红线指向MCID,我想获得它的内容。
编辑3:添加构建树
private void manipulate(PdfDictionary element, ItemCollection items)
{
if (element == null)
{
return;
}
ICollection<PdfName> val = element.KeySet();
PdfObject tagName = element.Get(PdfName.S);
PdfObject elementType = element.Get(PdfName.Type);
string tn = "";
if (tagName != null)
{
tn = ((PdfName)tagName).GetValue();
}
else
{
tn = ((PdfName)elementType).GetValue();
}
TreeViewItem tvI = new TreeViewItem() { Header = tn, IsExpanded = true };
items.Add(tvI);
PdfArray kids = element.GetAsArray(PdfName.K);
if (kids == null)
{
return;
}
for (int i = 0; i < kids.Size(); i++)
{
PdfDictionary child = kids.GetAsDictionary(i); //Code change required here to detect MCID & get content, this line returns null when child is a MCID
manipulate(child, tvI.Items);
}
}
}
编辑4当前的代码:这样做的原因是重新创建的Acrobat的 “变量树” 的功能。
感谢您的建议。但我仍然想知道如何访问内容流并对其内容进行解码。 – PrivatMamtora
你有没有听说过iText RUPS? –
是的,我一直在使用它作为一个调试工具。请参阅编辑。 – PrivatMamtora