PDF删除文本层,还会保留/r/n,如何把PDF文本层全部删除掉

感谢您的查看和帮助!

删除双层PDF上面的文本层,当检查PDF文件时候,PDF会有\r\n,如何把PDF文本层全部删除掉。

Aspose.Pdf.Document pdfDocument = new Aspose.Pdf.Document(filename);

//方法二:
foreach (var page in pdfDocument.Pages)
{
//文本片段吸收器
TextFragmentAbsorber absorber = new TextFragmentAbsorber();
//参观
absorber.Visit(page);
//删除所有文本
absorber.RemoveAllText(page);
}

//获得新的文件存放位置
string newPathFileName = Path.Combine(ToolClass.pdfDeleteTextLayer, Path.GetFileName(filename));

pdfDocument.Save(newPathFileName, Aspose.Pdf.SaveFormat.Pdf);

@fhn123456

要删除PDF文件中的所有文本层,您可以使用Aspose.PDF库中的TextFragmentAbsorber类。以下是一个示例代码,展示了如何实现这一功能:

using Aspose.Pdf;
using Aspose.Pdf.Text;
using System;

namespace RemoveTextFromPDF
{
    class Program
    {
        static void Main(string[] args)
        {
            // 指定PDF文件的路径
            string filename = "path/to/your/document.pdf";

            // 打开PDF文档
            Document pdfDocument = new Document(filename);

            // 创建文本片段吸收器
            TextFragmentAbsorber absorber = new TextFragmentAbsorber();

            // 遍历每一页并删除文本
            foreach (var page in pdfDocument.Pages)
            {
                absorber.Visit(page);
                absorber.RemoveAllText(page);
            }

            // 保存修改后的PDF文件
            string newPathFileName = "path/to/save/modified_document.pdf";
            pdfDocument.Save(newPathFileName, Aspose.Pdf.SaveFormat.Pdf);
        }
    }
}

在这个示例中,您需要将filename变量替换为您要处理的PDF文件的实际路径。代码会遍历PDF的每一页,使用TextFragmentAbsorber来访问并删除所有文本内容。最后,您可以将修改后的PDF保存到指定的位置。

通过这种方式,您可以有效地删除PDF中的所有文本层,而不会留下任何文本内容。希望这能帮助到您!