【发布时间】:2018-06-14 13:38:26
【问题描述】:
我正在尝试使用 c# 读取 PDF 文件,这种典型 PDF 的格式是带有页面标题、子标题和内容等的内容。数据更像是分层的,而不是扁平的。
我实际上想读取分层数据并如下所示:
我尝试了 iText Sharp,但我只能将每一页作为普通文本阅读,并且文本包含页眉、页脚、页码等,这对我来说是多余的。
有没有办法可以将 PDF 页面作为分层页面/内容阅读?
【问题讨论】:
-
很难说,因为您没有提供代码或示例输入。
-
您的 PDF 是带标签的 PDF 吗?如果没有,您的 PDF 不知道其内容中的任何层次结构。如果它是正确标记的 PDF,您可以轻松地将内容提取为 XML 文件。请注意,我假设您使用的是旧版本的 iText,因为您仍然在谈论“iTextSharp”。当我们两年多前迁移到 iText7 时,该名称已被“iText for .NET”取代。
-
将第 2 页作为第 1 页的子项有意义吗?
-
@mkl 是的,正如我在我的问题和图片中提到的那样,这是有道理的,数据将以分层格式表示。
-
@BrunoLowagie 感谢您的洞察力,PDF 可能会或可能不会被标记,但让我有更多的选择来探索并可能引导我找到解决方案。是的,你是对的,虽然我在我的 VS2017 NuGet 项目中使用 iText 7/5,但我不确定我为什么说 iTextSharp,可能是我的大脑仍然是老派:)。顺便说一句,iText5/7 是开源的吗?你知道是否可以使用开源工具来阅读 PDF 吗?