无法读取pdf文件

时间:2013-04-17 11:08:48

标签: c# itextsharp pdftotext

我正在尝试构建一个可以读取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个参数

3 个答案:

答案 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)

我认为ExtractTexttwo 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);