PDFに透かしを追加する
Aspose.PDF for Java は、PDFドキュメントにアーティファクトを使用して透かしを追加できます。このタスクを解決するためにこの記事を確認してください。
Adobe Acrobatで作成された透かしは、アーティファクトと呼ばれます(PDF仕様の14.8.2.2実際のコンテンツとアーティファクトに記載されています)。アーティファクトを扱うために、Aspose.PDFには2つのクラスがあります: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 が含まれています。
Artifact.Image – アーティファクトの画像を取得します(画像が存在する場合、そうでなければ null)。Artifact.Text – アーティファクトのテキストを取得します。 Artifact.Rectangle – ページ上のアーティファクトの位置を取得します。 Artifact.Rotation – アーティファクトの回転を取得します(度単位、正の値は反時計回りの回転を示します)。 Artifact.Opacity – アーティファクトの不透明度を取得します。可能な値は0から1の範囲で、1は完全に不透明です。
プログラミングサンプル: 透かしの取得
次のコードスニペットは、JavaでPDFファイルの最初のページにある各透かしを取得する方法を示しています。
package com.aspose.pdf.examples;
import com.aspose.pdf.*;
import com.aspose.pdf.facades.EncodingType;
import com.aspose.pdf.facades.FontStyle;
import com.aspose.pdf.facades.FormattedText;
public class ExampleWatermark {
// ドキュメントディレクトリへのパス。
private static String _dataDir = "/home/admin1/pdf-examples/Samples/";
public static void Split() {
// ドキュメントを開く
Document doc = new Document(_dataDir + "text.pdf");
FormattedText formattedText = new FormattedText("Watermark", java.awt.Color.BLUE,FontStyle.Courier, EncodingType.Identity_h, true, 72.0F);
WatermarkArtifact artifact = new WatermarkArtifact();
artifact.setText(formattedText);
artifact.setArtifactHorizontalAlignment (HorizontalAlignment.Center);
artifact.setArtifactVerticalAlignment (VerticalAlignment.Center);
artifact.setRotation (45);
artifact.setOpacity (0.5);
artifact.setBackground (true);
doc.getPages().get_Item(1).getArtifacts().add(artifact);
doc.save(_dataDir + "watermark.pdf");
}
}