感谢您的查看和帮助!
删除双层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中的所有文本层,而不会留下任何文本内容。希望这能帮助到您!