文档彩票走势图>>Aspose.PDF for .NET开发者使用教程>>PDF管理控件Aspose.PDF for .Net使用教程(四十七):使用PDF中的现有水印
PDF管理控件Aspose.PDF for .Net使用教程(四十七):使用PDF中的现有水印
Aspose.PDF for .NET是一种高PDF处理和解析API,用于在跨平台应用程序中执行文档管理和操作任务。API可以轻松用于生成、修改、转换、渲染、保护和打印PDF文档,而无需使用Adobe Acrobat。此外,API还提供PDF压缩选项,表格创建和操作,图形和图像功能,广泛的超链接功能,印章和水印任务,扩展的安全控制和自定义字体处理。
在接下来的系列教程中,将为开发者带来Aspose.PDF for .NET的一系列使用教程,例如进行文档间的转换,如何标记PDF文件,如何使用表单和图表等等。本文将介绍说明如何使用PDF文件中的工件。
>>Aspose.PDF for .NET更新至最新版v20.10,欢迎下载体验。
软件国产化服务季来啦!整合所有格式的Aspose.Total永久授权正在火热促销中,乐享85折起!立马1分钟了解全部咨询!
使用Adobe Acrobat创建的水印称为工件(如PDF规范的14.8.2.2真实内容和工件中所述)。为了处理工件,Aspose.PDF具有两个类:Artifact和ArtifactCollection。
为了获得特定页面上的所有工件,Page类具有Artifacts属性。本主题说明如何使用PDF文件中的工件。
处理工件
该Artifact类包含以下属性:
- Artifact.Type –获取工件类型(支持Artifact.ArtifactType枚举的值,其中值包括Background,Layout,Page,Pagination和Undefined)。
- Artifact.Subtype –获取工件子类型(支持Artifact.ArtifactSubtype枚举的值,其中值包括Background,Footer,Header,Undefined,Watermark)。
- Artifact.Contents –获取工件内部运算符的集合。它支持的类型是System.Collections.ICollection。
- Artifact.Form –获取工件的XForm(如果使用XForm)。水印,页眉和页脚工件包含XForm,该XForm显示所有工件内容。
- Artifact.Image –获取工件的图像(如果存在图像,则为null)。
- Artifact.Text –获取工件的文本。
- Artifact.Rectangle –获取工件在页面上的位置。
- Artifact.Rotation –获取工件的旋转(以度为单位,正值表示逆时针旋转)。
- Artifact.Opacity –获取工件的不透明度。可能的值在0…1的范围内,其中1完全不透明。
编程示例:获取水印
以下代码段显示了如何在PDF文件的第一页上获取每个水印。
// The path to the documents directory. string dataDir = RunExamples.GetDataDir_AsposePdf_StampsWatermarks(); // Open document Document pdfDocument = new Document( dataDir + "watermark.pdf"); // Iterate through and get tub-type, text and location of artifact foreach (Artifact artifact in pdfDocument.Pages[1].Artifacts) { Console.WriteLine(artifact.Subtype + " " + artifact.Text + " " + artifact.Rectangle); }
编程示例:计算特殊类型的伪像
要计算特定类型的工件的总数(例如,水印总数),请使用以下代码:
// For complete examples and data files, please go to //github.com/aspose-pdf/Aspose.PDF-for-.NET // The path to the documents directory. string dataDir = RunExamples.GetDataDir_AsposePdf_StampsWatermarks(); // Open document Document pdfDocument = new Document( dataDir + "watermark.pdf"); int count = 0; foreach (Artifact artifact in pdfDocument.Pages[1].Artifacts) { // If artifact type is watermark, increate the counter if (artifact.Subtype == Artifact.ArtifactSubtype.Watermark) count++; } Console.WriteLine("Page contains " + count + " watermarks");
还想要更多吗?您可以点击阅读【2020 · Aspose最新资源整合】,查找需要的教程资源。如果您有任何疑问或需求,请随时加入Aspose技术交流群(642018183),我们很高兴为您提供查询和咨询。