VS2010环境使用NuGet的iText7对PDF进行操作,但是PDF中有特殊符号(比如·这种符号)的话就会报空指针的错误。
//创建一个PdfReader对象,用来读取pdf文件
PdfReader pdfReader = new PdfReader(pdfFilePath);
//创建一个PdfDocument对象,用于操作pdf文档
PdfDocument pdfDocument = new PdfDocument(pdfReader);
//中文设置,解决特殊字符错误,使用的是系统字体 -----没有用
PdfFont sysFont = PdfFontFactory.CreateFont("c://windows//fonts//simsun.ttc,1", PdfEncodings.IDENTITY_H, false);
//创建一个StringBuilder对象,来存储提取的文本
StringBuilder textBuilder = new StringBuilder();
//获取pdf文档的总页数
int pageCount = pdfDocument.GetNumberOfPages();
//遍历每一页
for (int i = 1; i <= pageCount; i++)
{
//获取当前页的PdfPage对象
PdfPage pdfPage = pdfDocument.GetPage(i);
//创建一个ITextExtractionStrategy对象,用于指定提取文本的策略
ITextExtractionStrategy strategy = new LocationTextExtractionStrategy();
//使用PdfTextExtractor类的GetTextFromPage方法,根据指定的策略提取当前页的文本
string pageText = PdfTextExtractor.GetTextFromPage(pdfPage, strategy);
//将提取的文本追加到StringBuilder对象中
textBuilder.Append(pageText);
}
//关闭PdfDocument对象
pdfDocument.Close();
安装iTextAsian插件
https://getquicker.net/Sharedaction?code=b68b4fed-ebd6-4e15-f8be-08d96304beb0&fromMyShare=true