C# 拆分PDF文件,提取PDF文本内容|C/S开发框架
作者:csframework|C/S框架网  发布日期:2024/04/08 22:38:58

使用 PdfSharp 拆分PDF文件

C# 全选
            PdfDocument newdoc = PdfSharp.Pdf.IO.PdfReader.Open(filename, PdfSharp.Pdf.IO.PdfDocumentOpenMode.Import);

            int index = 0;
            foreach (PdfPage page in newdoc.Pages)
            {
                string filename = string.Format("Single_PDF_{0}.pdf", index++);
                PdfDocument singlepdf = new PdfDocument();
                singlepdf.AddPage(page);
                singlepdf.Save(filename);
            }

注意:作者测试 PdfSharp 不支持提取中文内容。

使用 iText.Kernel.Pdf 提取PDF文本内容

C# 全选
    /// <summary>
    /// 提取文本内容
    /// </summary>
    /// <param name="filename">pdf文件</param>
    /// <param name="pageIndex">页码</param>
    /// <returns></returns>
    public static IEnumerable<string> ExtractText(string filename, int pageIndex)
    {
        using (var r = new PdfReader(filename))
        using (var doc = new PdfDocument(r))
        {
            if (doc.GetNumberOfPages() >= pageIndex)
            {
                string text = PdfTextExtractor.GetTextFromPage(doc.GetPage(pageIndex));
                yield return text;
            }
        }
    }

作者亲测:使用iText7支持提取全部文本,包括中文。

NuGet包

XML 全选
    <PackageReference Include="itext7" Version="8.0.3" />
    <PackageReference Include="PDFsharp" Version="6.0.0" />

C/S框架网|原创精神.创造价值.打造精品


扫一扫加作者微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务
上一篇 下一篇