您好:
C# Aspose.Pdf如何区分PDF文档是扫描版还是文字版(电子pdf),如果是扫描版PDF,就删除txt文本层,保存层单层PDF。如果是文字版(电子pdf),就提取文字版成单层PDF。
我现在遇到了一个大问题,我需要删除双层PDF上面的文本层,保留图片单层PDF。
使用下面的代码,可以成功删除文本层保留单层PDF,但遇到文字版PDF(电子pdf)文件,使用下面的代码删除TXT,会把原始的文件内容也删除掉,我该如何解决呢。
////打开文档
Aspose.Pdf.Document pdfDocument = new Aspose.Pdf.Document(filename);
////循环遍历所有 pdf 文档页
for (int i = 1; i <= pdfDocument.Pages.Count; i++)
{
Aspose.Pdf.Page page = pdfDocument.Pages[i];
Aspose.Pdf.OperatorSelector operatorSelector = new Aspose.Pdf.OperatorSelector(new Aspose.Pdf.Operator.TextShowOperator());
//选择页面上的所有文本
page.Contents.Accept(operatorSelector);
//删除所有文本
page.Contents.Delete(operatorSelector.Selected);
}
////保存文件
pdfDocument.Save(newpathfilename+"//"+ newfilename+".pdf", Aspose.Pdf.SaveFormat.Pdf);