PDF管理控件Aspose.PDF for .Net使用教程(四十七):使用PDF中的現(xiàn)有水印
Aspose.PDF for .NET是一種高PDF處理和解析API,用于在跨平臺應(yīng)用程序中執(zhí)行文檔管理和操作任務(wù)。API可以輕松用于生成、修改、轉(zhuǎn)換、渲染、保護和打印PDF文檔,而無需使用Adobe Acrobat。此外,API還提供PDF壓縮選項,表格創(chuàng)建和操作,圖形和圖像功能,廣泛的超鏈接功能,印章和水印任務(wù),擴展的安全控制和自定義字體處理。
在接下來的系列教程中,將為開發(fā)者帶來Aspose.PDF for .NET的一系列使用教程,例如進行文檔間的轉(zhuǎn)換,如何標(biāo)記PDF文件,如何使用表單和圖表等等。本文將介紹說明如何使用PDF文件中的工件。
>>Aspose.PDF for .NET更新至最新版v20.10,歡迎下載體驗。
使用Adobe Acrobat創(chuàng)建的水印稱為工件(如PDF規(guī)范的14.8.2.2真實內(nèi)容和工件中所述)。為了處理工件,Aspose.PDF具有兩個類:Artifact和ArtifactCollection。
為了獲得特定頁面上的所有工件,Page類具有Artifacts屬性。本主題說明如何使用PDF文件中的工件。
處理工件
該Artifact類包含以下屬性:
- Artifact.Type –獲取工件類型(支持Artifact.ArtifactType枚舉的值,其中值包括Background,Layout,Page,Pagination和Undefined)。
- Artifact.Subtype –獲取工件子類型(支持Artifact.ArtifactSubtype枚舉的值,其中值包括Background,F(xiàn)ooter,Header,Undefined,Watermark)。
- Artifact.Contents –獲取工件內(nèi)部運算符的集合。它支持的類型是System.Collections.ICollection。
- Artifact.Form –獲取工件的XForm(如果使用XForm)。水印,頁眉和頁腳工件包含XForm,該XForm顯示所有工件內(nèi)容。
- Artifact.Image –獲取工件的圖像(如果存在圖像,則為null)。
- Artifact.Text –獲取工件的文本。
- Artifact.Rectangle –獲取工件在頁面上的位置。
- Artifact.Rotation –獲取工件的旋轉(zhuǎn)(以度為單位,正值表示逆時針旋轉(zhuǎn))。
- Artifact.Opacity –獲取工件的不透明度??赡艿闹翟?…1的范圍內(nèi),其中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); }
編程示例:計算特殊類型的偽像
要計算特定類型的工件的總數(shù)(例如,水印總數(shù)),請使用以下代碼:
// 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 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技術(shù)交流群(642018183),我們很高興為您提供查詢和咨詢。