我正在尝试构建一个可以读取PDF文件的应用程序。我使用本指南:
http://www.codeproject.com/Articles/14170/Extract-Text-from-PDF-in-C-100-NET
但不明白“file”的含义是来自您计算机的整个网址。因为当我试着它,因为它说它的格式错误。
String file = "C:/project/test2.pdf";
// create an instance of the pdfparser class
PDFParser pdfParser = new PDFParser();
// extract the text
String result = pdfParser.ExtractText(file);
错误信息:
错误1方法'ExtractText'没有重载需要1个参数
答案 0 :(得分:1)
如果要将pdf文本提取为字符串,请尝试使用PdfTextExtractor.GetTextFromPage
,示例代码:
public string ReadPdfFile(string fileName)
{
var text = new StringBuilder();
if (File.Exists(fileName))
{
var pdfReader = new PdfReader(fileName);
for (int page = 1; page <= pdfReader.NumberOfPages; page++)
{
var strategy = new SimpleTextExtractionStrategy();
string currentText = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy);
currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText)));
text.Append(currentText);
}
pdfReader.Close();
}
return text.ToString();
}
答案 1 :(得分:0)
我认为ExtractText
有two arguments
一个是PDF源文件,第二个是文本目标文件
请尝试下面的操作并解决您的错误:
pdfParser.ExtractText(file,Path.GetFileNameWithoutExtension(file)+".txt");
答案 2 :(得分:0)
首先,您应该正确指定路径。 您可以从链接下载测试项目到您发布的代码项目。
你应该这样使用它:
string sourceFile = "C:\\Folder\\File.pdf";
string outputFile = "C:\\Folder\\File2.txt"
PDFParser pdfParser = new PDFParser();
pdfParser.ExtractText(sourceFile, outputFile);
UPD: 你使用它错了(你当然得到你的错误:不能隐式地将bool转换为字符串):
string result = pdfParser.ExtractText(sourceFile, outputFile);
正确的方法是:
pdfParser.ExtractText(sourceFile, outputFile);