C# 在pdf文件中搜索字符串
我正在做一个学校项目,有几个pdf文件。应该有一个按姓名搜索的功能,我只需输入学生的姓名,所有带有他/她的姓名的pdf文件都应该打开。最好的方法是什么?我在网上寻找解决方案,我想到的只是iTextSharp,它让人更加困惑 这可能吗?也许有人可以给我一个教程的链接,或者别的什么C# 在pdf文件中搜索字符串,c#,.net,string,search,pdf,C#,.net,String,Search,Pdf,我正在做一个学校项目,有几个pdf文件。应该有一个按姓名搜索的功能,我只需输入学生的姓名,所有带有他/她的姓名的pdf文件都应该打开。最好的方法是什么?我在网上寻找解决方案,我想到的只是iTextSharp,它让人更加困惑 这可能吗?也许有人可以给我一个教程的链接,或者别的什么 非常感谢。PDF是一个非常复杂的规范,可能会创建太多变体,因此不可能可靠地解析,除非您使用与创建它时相同的工具来读取它(甚至通常不会)。有几种工具可以将PDF展平为文本字符串(例如pdf2text),可以搜索这些字符串,
非常感谢。PDF是一个非常复杂的规范,可能会创建太多变体,因此不可能可靠地解析,除非您使用与创建它时相同的工具来读取它(甚至通常不会)。有几种工具可以将PDF展平为文本字符串(例如pdf2text),可以搜索这些字符串,但不可靠
许多PDF工具只实现了部分规范。一些人建议搜索PDF的最佳方法是将其还原为图像,然后进行OCR 我认为您的任务可能分为以下几部分:
- 建立PDF文件索引
- 编写一些代码,在执行搜索时使用索引查找相关PDF
- 编写一些代码,打开找到的PDF,或者在没有找到任何内容时显示警告
Docotic.Pdf可用于将Pdf文件中的文本提取为纯文本或文本块的集合,每个文本块具有坐标。使用iTextSharp。它是免费的,您只需要“itextsharp.dll” 下面是一个从PDF中读取文本的简单函数
Public Shared Function GetTextFromPDF(PdfFileName As String) As String
Dim oReader As New iTextSharp.text.pdf.PdfReader(PdfFileName)
Dim sOut = ""
For i = 1 To oReader.NumberOfPages
Dim its As New iTextSharp.text.pdf.parser.SimpleTextExtractionStrategy
sOut &= iTextSharp.text.pdf.parser.PdfTextExtractor.GetTextFromPage(oReader, i, its)
Next
Return sOut
End Function
现在,您可以轻松地搜索这些文件