PowerPoint C#に透かしを追加する

透かしは通常、所有権を指定したり、ドキュメントの不正使用を防止したりするために使用されます。さらに、原稿やドラフトなどのドキュメントのステータスを表示するためにも使用されます。この記事では、プログラムで透かしを適用してPowerPointプレゼンテーションを保護する方法を示します。特に、C#を使用してPowerPointスライドにテキストまたは画像の透かしを追加する方法を学習します。

PowerPointスライドに透かしを追加するC#API

PowerPointスライドに透かしを追加するには、Aspose.Slides for .NETを使用します。これは、.NETアプリケーション内からプレゼンテーションドキュメントを作成できる機能豊富なAPIです。さらに、既存のプレゼンテーションファイルを操作することもできます。 APIをダウンロードするか、NuGetを使用してインストールできます。

PM> Install-Package Aspose.Slides.NET

C#のPowerPointスライドにテキスト透かしを追加する

以下は、C#を使用してPowerPointスライドにテキスト透かしを追加する手順です。

  • まず、Presentationクラスを使用してPowerPointプレゼンテーションをロードします。
  • ISlideオブジェクトで透かしを追加するスライドの参照を取得します。
  • 透かしの位置を計算します。
  • スライドのShapesコレクションに新しい自動形状を追加し、IAutoShapeオブジェクトでその参照を取得します。
  • 図形にテキストフレームを追加し、IAutoShape.AddTextFrame(string)メソッドを使用してそのテキストを設定します。
  • 透かしのフォントサイズ、色、回転角度を設定します。
  • 透かしをロックして、削除や変更を回避します。
  • 最後に、Presentation.Save(string, SaveFormat)メソッドを使用して更新されたPowerPointファイルを保存します。

次のコードサンプルは、PowerPointスライドにテキスト透かしを追加する方法を示しています。

// プレゼンテーションを読み込む 
Presentation presentation = new Presentation("presentation.pptx");

// スライドの参照を取得する
ISlide slide = presentation.Slides[0];

// スライドの中心を取得し、透かしの位置を計算します
PointF center = new PointF(presentation.SlideSize.Size.Width / 2, presentation.SlideSize.Size.Height / 2);
float width = 300;
float height = 300;
float x = center.X - width / 2;
float y = center.Y - height / 2;

// 透かしの形を追加する
IAutoShape watermarkShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, x, y, width, height);

// 塗りつぶしタイプを設定
watermarkShape.FillFormat.FillType = FillType.NoFill;
watermarkShape.LineFormat.FillFormat.FillType = FillType.NoFill;

// 回転角を設定する
watermarkShape.Rotation = -45;
            
// テキストを設定する
ITextFrame watermarkTextFrame = watermarkShape.AddTextFrame("Watermark");
IPortion watermarkPortion = watermarkTextFrame.Paragraphs[0].Portions[0];

// 透かしのフォントサイズと塗りつぶしタイプを設定します
watermarkPortion.PortionFormat.FontHeight = 52;
watermarkPortion.PortionFormat.FillFormat.FillType = FillType.Solid;
int alpha = 150, red = 200, green = 200, blue = 200;
watermarkPortion.PortionFormat.FillFormat.SolidFillColor.Color = System.Drawing.Color.FromArgb(alpha, red, green, blue);

// 図形を変更できないようにロックする
watermarkShape.ShapeLock.SelectLocked = true;
watermarkShape.ShapeLock.SizeLocked = true;
watermarkShape.ShapeLock.TextLocked = true;
watermarkShape.ShapeLock.PositionLocked = true;
watermarkShape.ShapeLock.GroupingLocked = true;

// プレゼンテーションを保存する
presentation.Save("watermarked-presentation.pptx", SaveFormat.Pptx);

出力

以下は、透かしを追加した後のPowerPointスライドのスクリーンショットです。

C#でPowerPointスライドに透かしを追加する

C#でPowerPointスライドに画像透かしを追加する

以下は、C#でPowerPointスライドに画像透かしを追加する手順です。

  • まず、Presentationクラスを使用してPowerPointプレゼンテーションをロードします。
  • ISlideオブジェクトで透かしを追加するスライドの参照を取得します。
  • 透かしの位置を計算します。
  • プレゼンテーションに画像を追加し、IPPImageオブジェクトでその参照を取得します。
  • スライドのShapesコレクションに新しい自動形状を追加し、IAutoShapeオブジェクトでその参照を取得します。
  • IAutoShape.FillFormat.FillTypeをFillType.Pictureに設定します。
  • IPPImageオブジェクトをIAutoShape.FillFormat.PictureFillFormat.Picture.Imageプロパティに割り当てて、透かし画像を設定します。
  • 透かしをロックして、削除や変更を回避します。
  • 最後に、Presentation.Save(string, SaveFormat)メソッドを使用して更新されたPowerPointファイルを保存します。

次のコードサンプルは、PowerPointスライドに画像透かしを追加する方法を示しています。

// プレゼンテーションを読み込む 
Presentation presentation = new Presentation("presentation.pptx");

// スライドの参照を取得する
ISlide slide = presentation.Slides[0];

// スライドの中心を取得し、透かしの位置を計算します
PointF center = new PointF(presentation.SlideSize.Size.Width / 2, presentation.SlideSize.Size.Height / 2);
float width = 300;
float height = 300;
float x = center.X - width / 2;
float y = center.Y - height / 2;

// 画像を読み込む
IPPImage image = presentation.Images.AddImage(File.ReadAllBytes("watermark.png"));

// 透かしの形を追加し、画像を設定します
IAutoShape watermarkShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, x, y, width, height);
watermarkShape.FillFormat.FillType = FillType.Picture;
watermarkShape.FillFormat.PictureFillFormat.Picture.Image = image;
watermarkShape.FillFormat.PictureFillFormat.PictureFillMode = PictureFillMode.Stretch;         
watermarkShape.LineFormat.FillFormat.FillType = FillType.NoFill;

// 図形を変更できないようにロックする
watermarkShape.ShapeLock.SelectLocked = true;
watermarkShape.ShapeLock.SizeLocked = true;
watermarkShape.ShapeLock.TextLocked = true;
watermarkShape.ShapeLock.PositionLocked = true;
watermarkShape.ShapeLock.GroupingLocked = true;

// プレゼンテーションを保存する
presentation.Save("watermarked-presentation.pptx", SaveFormat.Pptx);

無料のAPIライセンスを取得する

一時ライセンスをリクエストすることで、評価の制限なしにAspose.Slides for .NETを使用できます。

結論

この記事では、C#を使用してPowerPointスライドに透かしを追加する方法を学習しました。ステップバイステップのガイドとコードサンプルは、PowerPointプレゼンテーションにテキストと画像の透かしを追加する方法を示しています。さらに、ドキュメントを参照して、APIの他の機能を調べることができます。また、フォーラムからお気軽にお問い合わせください。

関連項目

情報:Aspose.Slidesの無料のPowerPointに透かしを追加およびPowerPointから透かしを削除オンラインツールを確認することをお勧めします。