如何使用 ABCPdf.NET 从 PDF 文件的所有页面中提取文本

本文关键字:取文本 提取 ABCPdf 何使用 NET 文件 PDF | 更新日期: 2023-09-27 18:36:50

如何使用 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文件的所有页面中提取文本?"-(更改了标题以使其更清晰)。

谢谢

如何使用 ABCPdf.NET 从 PDF 文件的所有页面中提取文本

为了您的利益,是的,您!

 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();
    }

你试过 GetText 方法吗?

doc.Read(.......);
var textOperation = new TextOperation(doc);
textOperation.PageContents.AddPages();
string allText = textOperation.GetText();