使用iTextSharp以编程方式标记未标记的pdf

时间:2018-02-09 12:39:18

标签: c# pdf itext tagged-pdf

我想用iTextSharp解析PDF文件。对于带标记的PDF,我使用了TaggedPdfReaderTool和.ConvertToXml()方法,该方法返回了一个可接受的XML以供进一步解析。现在我必须解析我需要解析的未标记的PDF!在Adobe Acrobat中,您可以使用其辅助功能工具将标签添加到PDF。之后,我可以使用iTextSharp解析它。现在,我正在寻找一种免费的解决方案,以编程方式将标签添加到我的PDF(使用iTextSharp)。在书" iText in Action"我已经读过你可以创建一个标记的PDF(来自XML文件),但我需要转换现有的PDF格式!

我的解析标记PDF的代码:

        var path = @"C:\Users\xxx\Desktop\xxx.pdf";
        var fs = new FileStream(@"C:\Users\xxx\Desktop\xxx_tagged.xml", FileMode.Create);

        PdfReader reader = new PdfReader(path);
        TaggedPdfReaderTool tool = new TaggedPdfReaderTool();
        tool.ConvertToXml(reader, fs);
        fs.Close();

1 个答案:

答案 0 :(得分:2)

这不是一个容易的问题。因为你基本上要求一个解决方案来进行结构识别。

想一想。您想知道段落的开始和结束位置,您需要一个解决方案来计算表格和列表。更不用说嵌套表和列表及其组合。

这是研究的主题。一种流行的方法是使用神经网络(将pdf视为图像并将其作为图像识别任务处理),或者以基于规则的方式处理它。