C# 双层PDF如何判断,有没有图片这一层。

您好:
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);

@fhn123456

请阅读以下文章以检查是否扫描了 PDF。
查找 PDF 是否包含图像或文本

如果您能在此处分享您的示例输入和预期输出 PDF 文件以供我们参考,那就太好了。 然后,我们将为您提供有关它的更多信息。

非常感谢您的回复,但这不是我想要的呀,我想知道一个PDF属于扫描文件还是电子文件(电子pdf)

目前我需要对PDF进行ocr,但是之前的PDF已经ocr识别了,导致PDF上面有一层文本,所以我需要删除PDF上面的文本。但是,我在删除文本的时候遇到了电子pdf文件,删除电子pdf文本时PDF里面的内容全部都没有了。。。所以,我想判断一下PDF文件属于扫描文件还是电子文件。

如果是扫描文件,就删除pdf上面的TXT文本。如果是电子文件,就不删出pdf上面的TXT文本,将电子文件保存成图片pdf。

我将附上我的文件:

扫描文件:36.pdf (2.6 MB)

电子文件:1.pdf (862.3 KB)

@fhn123456

我们已在我们的问题跟踪系统中将您的要求记录为 PDFNET-51586。 一旦有可用更新,我们将通过此论坛主题通知您。

对于给您带来的不便,我们深表歉意。