彩票走势图

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

翻译|使用教程|编辑:李显亮|2020-10-19 13:19:17.880|阅读 185 次

概述:使用Adobe Acrobat创建的水印称为工件。为了获得特定页面上的所有工件,Page类具有Artifacts属性。本文说明如何使用PDF文件中的工件。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

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),我们很高兴为您提供查询和咨询
标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP