从PDF中抓取相应的信息是数据处理常见的一个操作。但是由于PDF现在都是由国外技术人员开发的,有可能存在汉字编码问题。比如著名的 Spire.PDF 就对中文支持不好(如果有好的方法良好支持中文,欢迎告之,谢谢)。
好在总有支持的第三方,iTextSharp的PDF转换工具就可以很好地支持。用法也非常简单,主要核心代码如下所示。
public string ExtractTextFromPDF(string pdffilename)
{
StringBuilder text = new StringBuilder();
try
{
PdfReader pdfReader = new PdfReader(pdffilename);
int numberOfPages = pdfReader.NumberOfPages;
for (int i = 0; i < pdfReader.NumberOfPages; i++)
{
// Page number starts from 1.
text.Append(iTextSharp.text.pdf.parser.PdfTextExtractor.GetTextFromPage(pdfReader, i + 1));
}
pdfReader.Close();
}
catch (Exception ex)
{
Console.WriteLine("Extracting text from the input PDf file error. Reason:" + ex.ToString());
}
return text.ToString();
}
另附:itextsharp.dll 下载