C# 解析带有可单击内容页的pdf文件

C# 解析带有可单击内容页的pdf文件,c#,c#-4.0,pdf,pdf-parsing,C#,C# 4.0,Pdf,Pdf Parsing,假设我们有一个pdf文件,其中包含可单击的内容页面。我说的是章节和分章 如何用C语言解析特定文件,应用程序如何实现它正在读取的pdf是否有章节/内容等 这是指向pdf的链接,没有可单击的目录 我似乎没有找到一个带有可点击目录的pdf,但我在这里找到了一个如何操作的指南 因此,我的问题是:应用程序如何区分哪个是哪个,以及如何解析带有可点击链接的应用程序?由于PDF是二进制格式,您必须使用类似pdflib的PDF库才能读取PDF文件 此外,您可能还想查看此CodeProject站点以获取一些示例

假设我们有一个pdf文件,其中包含可单击的内容页面。我说的是章节和分章 如何用C语言解析特定文件,应用程序如何实现它正在读取的pdf是否有章节/内容等

这是指向pdf的链接,没有可单击的目录 我似乎没有找到一个带有可点击目录的pdf,但我在这里找到了一个如何操作的指南


因此,我的问题是:应用程序如何区分哪个是哪个,以及如何解析带有可点击链接的应用程序?

由于PDF是二进制格式,您必须使用类似pdflib的PDF库才能读取PDF文件

此外,您可能还想查看此CodeProject站点以获取一些示例

你的问题与试图找出PDF文件中段落和列的位置没有什么不同;PDF通常不会将目录页面标记为这样的页面。因此,即使使用mkl指出的PDF库(如iTextSharp),这也不是一项简单的任务

有了这样一个库,您将能够看到PDF文件中的页面和页面上的文本。然而,如果这是一本书,例如,目录页可能是PDF文件中的第一、第二、第三或第X页,因为封面、第二封面、版权、赠品、你所说的各种其他页面出现在它前面

因此,发现是否存在内容表的算法必须能够在PDF文件的前x页的某个地方发现它。由于目录中没有突出显示文本的标准标签,因此必须通过分析该页文本的格式来完成

如果它们可用,有两件事可能会有所帮助:

1在许多PDF文件中,表格中的项目都是可单击的内容。因此,您可以在PDF文件中查找包含大量超链接项目的第一页

2在许多PDF文件中,目录镜像在书签中。因此,您还可以检查书签结构,看看是否可以使用它来计算书中有多少章节


请记住,这两个特征都是可选的,如果它们存在,则不规范。

iTestSpice是PDF分析中可能需要考虑的许多PDF库之一。但是你认为没有章节或内容的PDF是什么?你的标准是什么?@ MKL,我所知道的是两种PDF格式。一个是可点击的内容章节,另一个是可能包含一页内容但不可点击的简单文本。我想要一种方法来定义是否有可点击的内容,以及如何解析这些内容。可能您应该为这两种情况提供示例文档。不过,作为第一个直觉,我认为你指的是轮廓或注释。使用iTextSharp或任何其他严肃的PDF库都可以很容易地检查两者。在哪里上载文件以在此处共享?Stack overflow仅提供图像上载,因此您必须使用不同的文件共享服务。请不要选择一个需要下载者注册的。这是另一个答案的复制粘贴,我需要一些更具体的东西。可能是你的答案,但我也需要一些解释。我知道的是两种pdf样式。一个是可点击的内容章节,另一个是可能包含一页内容但不可点击的简单文本。我想要一种方法来定义是否有可点击的内容,以及如何解析这些内容。我想你已经定义好了,但请更详细一些,因为我是一个noob,需要更多的帮助