我想从日文PDF中提取字符串 然而,它出现了乱码 我怎么能这样做,或者我做错了什么?
iText.IO.Util.ResourceUtil.AddToResourceSearch("itext.font_asian.dll");
using (PdfReader reader = new PdfReader(pdfPath))
using (var doc = new PdfDocument(reader))
{
var rect = new Rectangle(100, 100, 800, 800);
var filter = new TextRegionEventFilter(rect);
var pageCount = doc.GetNumberOfPages();
for (int i = 1; i <= pageCount; i++)
{
ITextExtractionStrategy strategy = new FilteredTextEventListener(new LocationTextExtractionStrategy(), filter);
var page = doc.GetPage(i);
var str1 = PdfTextExtractor.GetTextFromPage(page, strategy);
}
}
Visual Studio 2015
C#.NET框架4.6.1
iText7(来自Nuget的7.0.4)
iText.font-asian(来自Nuget的7.0.4)
PDF文件: Japanese_PDF.pdf
答案 0 :(得分:0)
你正在做的一切正确。在7.0.4
之前,文本提取功能确实存在一些CID字体的问题。现在在7.0.5-SNAPSHOT
中,这已得到修复,问题不再重现。
可以从artifactory下载具有当前快照版本的NuGet包。