如何使用ABCPdf.NET工具从PDF文件中提取内容文本?
我尝试了GetText方法,但没有提取内容:
var doc = new Doc();
var url = @".../FileName.pdf";
doc.Read(url);
string xmlContents = doc.GetText("Text");
Response.Write(xmlContents);
doc.Clear();
doc.Dispose();
我的pdf有近1000个单词,但GetText只返回4-5个单词。我意识到它只返回第一页的文本。
所以问题应该是“如何从pdf文件的所有页面中提取文本?” - (更改标题以使其更清晰)。
谢谢,
答案 0 :(得分:10)
为了你的利益,是的你!
public string ExtractTextsFromAllPages(string pdfFileName)
{
var sb = new StringBuilder();
using (var doc = new Doc())
{
doc.Read(pdfFileName);
for (var currentPageNumber = 1; currentPageNumber <= doc.PageCount; currentPageNumber++)
{
doc.PageNumber = currentPageNumber;
sb.Append(doc.GetText("Text"));
}
}
return sb.ToString();
}
如果你没有url但是有字节,那么:
public string ExtractTextsFromAllPages(Byte[] pdfBytes)
{
var sb = new StringBuilder();
using (var doc = new Doc())
{
doc.Read(pdfBytes);
for (var currentPageNumber = 1; currentPageNumber <= doc.PageCount; currentPageNumber++)
{
doc.PageNumber = currentPageNumber;
sb.Append(doc.GetText("Text"));
}
}
return sb.ToString();
}
答案 1 :(得分:1)
您是否尝试过GetText方法?
答案 2 :(得分:0)
doc.Read(.......);
var textOperation = new TextOperation(doc);
textOperation.PageContents.AddPages();
string allText = textOperation.GetText();