我想用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();
答案 0 :(得分:2)
这不是一个容易的问题。因为你基本上要求一个解决方案来进行结构识别。
想一想。您想知道段落的开始和结束位置,您需要一个解决方案来计算表格和列表。更不用说嵌套表和列表及其组合。
这是研究的主题。一种流行的方法是使用神经网络(将pdf视为图像并将其作为图像识别任务处理),或者以基于规则的方式处理它。