很简单,我需要从多个PDF中删除文本(实际上非常多),以便在将内容粘贴到SQL数据库之前对其进行分析.
我发现了一些非常粗略的免费C#库,这些库有些工作(最好的是使用iTextSharp),但是有很多格式错误,有些字符是乱码的,而且很多时候有空格('')无处不在 - 里面的单词,在每个字母之间,它们的大块占据了几行,这看起来有点随意.
是否有任何简单的方法可以完全忽略(很可能!)或者是否有一项艰巨的任务涉及将提取的字节值可靠地转换为字母?
我正在尝试使用iTextSharp库将PDF中的文本读入字符串.
iTextSharp.text.pdf.PdfReader pdfReader = new iTextSharp.text.pdf.PdfReader(@"C:\mypdf.pdf");
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
string currentText = PdfTextExtractor.GetTextFromPage(pdfReader, 1, strategy);
text = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText)));
pdfReader.Close();
Console.WriteLine(text);
Run Code Online (Sandbox Code Playgroud)
这通常可以正常工作,但是每隔几行就会省略空格,这样我的输出就像:"thisismyoutputwithoutwhitespace".正确解析的文本似乎与没有正确解析的文本相同; 相同的文本将被不正确地解析,这使我认为它是PDF中的东西.