C# 拆分PDF文件,提取PDF文本内容
使用 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" />
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网