您好,感谢您的查看和帮助!
1,我在使用最新的API,下面的代码可以删除PDF上面的文本层,您还有其他更简便更好的方法吗?
//https://docs.aspose.com/pdf/net/replace-text-in-pdf/
// 打开文档
Aspose.Pdf.Document pdfDocument = new Aspose.Pdf.Document("input.pdf");
//循环遍历所有 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.Operators.TextShowOperator());
//选择页面上的所有文本
page.Contents.Accept(operatorSelector);
//删除所有文本
page.Contents.Delete(operatorSelector.Selected);
}
pdfDocument.Save("out.pdf", Aspose.Pdf.SaveFormat.Pdf);
2,获得PDF文本层,您还有其他更简便的方法吗?
//打开PDF文件
Aspose.Pdf.Document pdfDocument = new Aspose.Pdf.Document(filename);
//创建文本吸收器对象来提取文本
Aspose.Pdf.Text.TextAbsorber textAbsorber = new Aspose.Pdf.Text.TextAbsorber();
textAbsorber.ExtractionOptions = new TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Pure);
//将比例因子设置为0.5足以拆分大多数文档中的列
//设置为零允许算法自动选择比例因子
textAbsorber.ExtractionOptions.ScaleFactor = 0.5; /* 0; */
//接受所有页面的吸收器
pdfDocument.Pages.Accept(textAbsorber);
string extractedText = textAbsorber.Text;
3,API这个方法:public JpegDevice(PageSize pageSize, Resolution resolution, int quality);里面的PageSize 如何传递参数?
错误代码:
PageSize pageSize=new PageSize();
pageSize.Width=66.6;
pageSize.Height=100;
Aspose.Pdf.Devices.JpegDevice jpegDevice = new Aspose.Pdf.Devices.JpegDevice(pageSize,resolution, 50);