从pdf中提取文本到c#
本文关键字:取文本 提取 pdf | 更新日期: 2023-09-27 18:26:23
我正在寻找一种从pdf中提取文本并在程序中使用的方法。我在网上做了一些研究,有几个图书馆在工作。这些都不是免费的;然而,我们在这些限制上遇到了困难。
所以我在找一个免费的图书馆。我想到了ITextSharp,但我不知道该怎么开始。你们能帮我吗?
类似的东西应该适用于您。你必须注意——他们总是用iTextSharp版本更改函数名,这有点烦人——Lol
public static string GetPDFText(String pdfPath)
{
PdfReader reader = new PdfReader(pdfPath);
StringWriter output = new StringWriter();
for (int i = 1; i <= reader.NumberOfPages; i++)
output.WriteLine(PdfTextExtractor.GetTextFromPage(reader, i, new SimpleTextExtractionStrategy()));
return output.ToString();
}
iTextSharp是开源的,但许可模式在4.1.6版本之后发生了变化。旧的许可证没有那么严格,而如果你在商业上使用它,并且不想发布源代码,新的许可证需要付费。这可能会影响你,也可能不会影响你。
以下是使用5.1.2.0版本的文本提取的最基本版本:
//Full path to the file to read
string fileToRead = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), @"file1.pdf");
//Bind a PdfReader to our file
iTextSharp.text.pdf.PdfReader reader = new iTextSharp.text.pdf.PdfReader(fileToRead);
//Extract all of the text from the first page
string allPage1Text = iTextSharp.text.pdf.parser.PdfTextExtractor.GetTextFromPage(reader, 1);
//That's it!
Console.Write(allPage1Text);