透かしは通常、所有権を指定したり、ドキュメントの不正使用を防止したりするために使用されます。一方、原稿や下書きなどのドキュメントのステータスを表示するためにも使用されます。この記事では、Javaを使用してプログラムでPowerPointスライドにテキストまたは画像の透かしを追加する方法を学習します。
PowerPointスライドに透かしを追加するJavaAPI
PowerPointスライドに透かしを追加するには、Aspose.Slides for Javaを使用します。これは、Javaアプリケーション内からプレゼンテーションドキュメントを作成および操作できるようにするプレゼンテーション操作APIです。 APIをダウンロードするか、次のMaven構成を使用してインストールできます。
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-slides</artifactId>
<version>21.7</version>
<classifier>jdk16</classifier>
</dependency>
JavaのPowerPointスライドにテキスト透かしを追加する
以下は、Javaを使用してPowerPointスライドにテキスト透かしを追加する手順です。
- まず、Presentationクラスを使用してPowerPointプレゼンテーションをロードします。
- IMasterSlideオブジェクトでスライドマスターの参照を取得します。
- プレゼンテーションの寸法に従って透かしの位置を計算します。
- スライドのShapesコレクションに新しい自動シェイプを追加し、IAutoShapeオブジェクトでその参照を取得します。
- 図形にテキストフレームを追加し、IAutoShape.addTextFrame(string)メソッドを使用してそのテキストを設定します。
- 透かしのフォントサイズ、色、回転角度を設定します。
- 透かしをロックして、削除や変更を回避します。
- 最後に、Presentation.save(string, SaveFormat)メソッドを使用して更新されたPowerPointファイルを保存します。
次のコードサンプルは、PowerPointスライドにテキスト透かしを追加する方法を示しています。
// 公開プレゼンテーション
Presentation pres = new Presentation("presentation.pptx");
try {
// アクセスマスター
IMasterSlide master = pres.getMasters().get_Item(0);
Point2D.Float center = new Point2D.Float((float) pres.getSlideSize().getSize().getWidth() / 2,
(float) pres.getSlideSize().getSize().getHeight() / 2);
float width = 300;
float height = 300;
float x = (float) center.getX() - width / 2;
float y = (float) center.getY() - height / 2;
// 形を追加する
IAutoShape watermarkShape = master.getShapes().addAutoShape(ShapeType.Rectangle, x, y, width, height);
// 塗りつぶしタイプを設定
watermarkShape.getFillFormat().setFillType(FillType.NoFill);
watermarkShape.getLineFormat().getFillFormat().setFillType(FillType.NoFill);
// 回転角を設定する
watermarkShape.setRotation(-45);
// テキストを設定する
ITextFrame watermarkTextFrame = watermarkShape.addTextFrame("Watermark");
// フォントと色を設定する
IPortion watermarkPortion = watermarkTextFrame.getParagraphs().get_Item(0).getPortions().get_Item(0);
watermarkPortion.getPortionFormat().setFontHeight(52);
int alpha = 150, red = 200, green = 200, blue = 200;
watermarkPortion.getPortionFormat().getFillFormat().setFillType(FillType.Solid);
watermarkPortion.getPortionFormat().getFillFormat().getSolidFillColor()
.setColor(new Color(red, green, blue, alpha));
// 図形を変更できないようにロックする
watermarkShape.getAutoShapeLock().setSelectLocked(true);
watermarkShape.getAutoShapeLock().setSizeLocked(true);
watermarkShape.getAutoShapeLock().setTextLocked(true);
watermarkShape.getAutoShapeLock().setPositionLocked(true);
watermarkShape.getAutoShapeLock().setGroupingLocked(true);
// プレゼンテーションを保存する
pres.save("watermarked-presentation.pptx", SaveFormat.Pptx);
} finally {
if (pres != null)
pres.dispose();
}
出力
以下は、透かしを追加した後のPowerPointスライドのスクリーンショットです。
JavaのPowerPointスライドに画像透かしを追加する
以下は、JavaでPowerPointスライドに画像透かしを追加する手順です。
- まず、Presentationクラスを使用してPowerPointプレゼンテーションをロードします。
- IMasterSlideオブジェクトでスライドマスターの参照を取得します。
- プレゼンテーションの寸法に従って透かしの位置を計算します。
- スライドのShapesコレクションに新しい自動シェイプを追加し、IAutoShapeオブジェクトでその参照を取得します。
- プレゼンテーションに画像を追加し、IPPImageオブジェクトでその参照を取得します。
- IAutoShapeの塗りつぶしタイプをFillType.Pictureに設定します。
- IAutoShape.getFillFormat().getPictureFillFormat().get_Picture().setImage(IPPImage)メソッドを使用して透かし画像を設定します。
- 透かしをロックして、削除や変更を回避します。
- 最後に、Presentation.save(string, SaveFormat)メソッドを使用して、更新されたPowerPointファイルを保存します。
次のコードサンプルは、PowerPointスライドに画像透かしを追加する方法を示しています。
// 公開プレゼンテーション
Presentation pres = new Presentation("presentation.pptx");
try {
// スライドマスターにアクセス
IMasterSlide master = pres.getMasters().get_Item(0);
Point2D.Float center = new Point2D.Float((float) pres.getSlideSize().getSize().getWidth() / 2,
(float) pres.getSlideSize().getSize().getHeight() / 2);
float width = 300;
float height = 300;
float x = (float) center.getX() - width / 2;
float y = (float) center.getY() - height / 2;
// 形を追加する
IAutoShape watermarkShape = master.getShapes().addAutoShape(ShapeType.Rectangle, x, y, width, height);
IPPImage image = pres.getImages().addImage(Files.readAllBytes(Paths.get("watermark.png")));
// 塗りつぶしタイプを設定
watermarkShape.getFillFormat().setFillType(FillType.Picture);
watermarkShape.getFillFormat().getPictureFillFormat().get_Picture().setImage(image);
watermarkShape.getFillFormat().getPictureFillFormat().setPictureFillMode(PictureFillMode.Stretch);
watermarkShape.getLineFormat().getFillFormat().setFillType(FillType.NoFill);
// 図形を変更できないようにロックする
watermarkShape.getAutoShapeLock().setSelectLocked(true);
watermarkShape.getAutoShapeLock().setSizeLocked(true);
watermarkShape.getAutoShapeLock().setTextLocked(true);
watermarkShape.getAutoShapeLock().setPositionLocked(true);
watermarkShape.getAutoShapeLock().setGroupingLocked(true);
// プレゼンテーションを保存する
pres.save("watermarked-presentation-image.pptx", SaveFormat.Pptx);
} finally {
if (pres != null)
pres.dispose();
}
以下は、画像透かしを追加した後のプレゼンテーションのスクリーンショットです。
無料のAPIライセンスを取得する
一時ライセンスをリクエストすることで、評価の制限なしにAspose.Slides for Javaを使用できます。
オンラインでお試しください
Aspose.Slidesを使用して開発された次のオンライン透かしツールを試してください。
結論
この記事では、Javaを使用してPowerPointスライドに透かしを追加する方法を学習しました。ステップバイステップガイドとコードサンプルは、PowerPointプレゼンテーションにテキストと画像の透かしを追加する方法を示しています。さらに、ドキュメントを参照して、APIの他の機能を調べることができます。また、フォーラムからお気軽にお問い合わせください。