0

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

我用于解析标记 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();
4

1 回答 1

2

这不是一个容易的问题。因为您本质上是在寻求一种解决方案来进行结构识别。

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

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

于 2018-02-09T16:27:01.053 回答