C#を使用してPDFに透かしを追加する
Aspose.PDF for .NET は、Artifactsを使用してPDFドキュメントにウォーターマークを追加することができます。この記事をチェックして、タスクを解決してください。
次のコードスニペットは、Aspose.PDF.Drawing ライブラリとも連携します。
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.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が含まれています。 Artifact.Image – アーティファクトの画像を取得します(画像が存在する場合、それ以外の場合はnull)。 Artifact.Text – アーティファクトのテキストを取得します。 Artifact.Rectangle – ページ上のアーティファクトの位置を取得します。 Artifact.Rotation – アーティファクトの回転を取得します(度数で、正の値は反時計回りの回転を示します)。 Artifact.Rotation – アーティファクトの回転を取得します(度数で、正の値は反時計回りの回転を示します)。 Artifact.Opacity – アーティファクトの不透明度を取得します。可能な値は0から1の範囲で、1は完全に不透明です。
プログラミングサンプル:PDFファイルにウォーターマークを追加する方法
次のコードスニペットは、C#を使用してPDFファイルの最初のページにある各ウォーターマークを取得する方法を示しています。
public static void AddWatermarks()
{
Document document = new Document(_dataDir + "text.pdf");
WatermarkArtifact artifact = new WatermarkArtifact();
artifact.SetTextAndState(
"WATERMARK",
new TextState()
{
FontSize = 72,
ForegroundColor = Color.Blue,
Font = FontRepository.FindFont("Courier")
});
artifact.ArtifactHorizontalAlignment = HorizontalAlignment.Center;
artifact.ArtifactVerticalAlignment = VerticalAlignment.Center;
artifact.Rotation = 45;
artifact.Opacity = 0.5;
artifact.IsBackground = true;
document.Pages[1].Artifacts.Add(artifact);
document.Save(_dataDir + "watermark.pdf");
}