我需要阅读PDF并将其转换为.txt。我尝试将iTextSharp作为免费库使用,它可以正常运行,但不能与.NET Core完全兼容。
那是iTextSharp中的代码:
string prevPage = "";
for (int page = 5; page <= reader.NumberOfPages; page++)
{
ITextExtractionStrategy its = new SimpleTextExtractionStrategy();
var s = PdfTextExtractor.GetTextFromPage(reader, page, its);
if (prevPage != s) sb.Append(s);
prevPage = s;
}
reader.Close();
而且,我尝试了iTextSharp.LGPLv2.Core
,但它的效果不如另一个,并且我也没有得到很好的结果。
所以C#.net Core中有一个不错的库可以免费读取pdf并将其转换为txt文件吗?
编辑:我想给你更多细节:我的主要范围是从PDF文件中获取文本,我不需要以某种方式设置格式的图像或表格,我将从PDF中获取文本。有了ItextSharper和PdfTextExtractor确实很容易,可能没有其他方法可以在带有类似库的.net Core中做到这一点吗?
安装Nuget-Package GrapeCity.Documents.Pdf,这是一个跨平台的库,允许创建,修改和分析PDF文档。
在.Net Core 3.1上进行测试
static void Main(string[] args)
{
string pdfPath1 = @"C:\Users\UserName\oexp.pdf";
var doc = new GcPdfDocument();
FileStream fs = new FileStream(pdfPath1, FileMode.Open, FileAccess.ReadWrite);
doc.Load(fs);
//To extract Page 1
var tmap_page2 = doc.Pages[0].GetTextMap();
tmap_page2.GetFragment(out TextMapFragment newFragment, out string Extractedtext);
Console.WriteLine("***************************");
Console.WriteLine("Extracted Text: \n\n" +Extractedtext);
}
您还可以使用doc.Pages.Count
获取页数并枚举每页并获取其内容