PDF管理控件Aspose.PDF for .Net使用教程(四十七):使用PDF中的现有水印

Aspose.PDF for .NET是一种高PDF处理和解析API,用于在跨平台应用程序中执行文档管理和操作任务。API可以轻松用于生成、修改、转换、渲染、保护和打印PDF文档,而无需使用AdobeAcrobat。此外,API还提供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 documentDocument pdfDocument = new Document( dataDir +  "watermark.pdf");// Iterate through and get tub-type, text and location of artifactforeach (Artifact artifact in pdfDocument.Pages[1].Artifacts){    Console.WriteLine(artifact.Subtype + " " + artifact.Text + " " + artifact.Rectangle);}

编程示例:计算特殊类型的伪像

要计算特定类型的工件的总数(例如,水印总数),请使用以下代码:

// For complete examples and data files, please go to https://github.com/aspose-pdf/Aspose.PDF-for-.NET// The path to the documents directory.string dataDir = RunExamples.GetDataDir_AsposePdf_StampsWatermarks();// Open documentDocument 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技术交流群(),我们很高兴为您提供查询和咨询
标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年9月16日
下一篇 2020年9月16日

相关推荐

发表回复

登录后才能评论