透かしは通常、ドキュメントを保護したり、ドキュメントの所有権を指定したりするために使用されます。一方、原稿やドラフトなどのドキュメントのステータスを表示するために使用されます。この記事では、PowerPointプレゼンテーションに透かしを挿入する方法を示します。 PythonでPowerPointPPTスライドにテキストまたは画像の透かしを追加する方法を学習します。
PowerPointスライドに透かしを追加するPythonライブラリ
PPTスライドの透かしを追加または削除するには、Aspose.Slides for Python via .NETを使用します。このライブラリを使用すると、Pythonアプリケーション内からPowerPointプレゼンテーションをシームレスに作成および操作できます。次のpipコマンドを使用して、PyPIからライブラリをインストールします。
> pip install aspose.slides
PythonでPowerPointPPTスライドに透かしを追加する
PowerPointスライドに追加できる透かしには、画像とテキストの2種類があります。画像ベースの透かしでは、画像がPPTスライドに追加されます。一方、テキストベースの透かしの場合は、テキストフラグメントがスライドに配置されます。次のセクションでは、両方のタイプの透かしについて明示的に説明します。
PythonのPowerPointスライドにテキスト透かしを追加する
以下は、PythonでPPTスライドにテキスト透かしを追加する手順です。
- まず、Presentationクラスを使用してPowerPoint PPT/PPTXをロードします。
- 透かしを追加するスライドの参照を取得します。
- 透かしの位置を計算します。
- add \ auto \ shape()メソッドを使用して、透かしの新しい自動形状を追加します。
- add \ text \ frame()メソッドを使用して、図形にテキストフレームを追加します。
- 透かしのフォントサイズ、色、順序、回転角度を設定します。
- 透かしをロックして、削除や変更を回避します。
- 最後に、Presentation.save(string, SaveFormat)メソッドを使用して、更新されたPowerPointファイルを保存します。
次のコードサンプルは、PowerPointスライドにテキスト透かしを追加する方法を示しています。
import aspose.slides as slides
import aspose.pydrawing as drawing
# load presentation
with slides.Presentation("presentation.pptx") as presentation:
# select slide
slide = presentation.slides[0]
# set watermark position
center = drawing.PointF(presentation.slide_size.size.width / 2, presentation.slide_size.size.height / 2)
width = 300
height = 300
x = center.x - width / 2
y = center.y - height / 2
# add watermark
watermarkShape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, x, y, height, width)
watermarkShape.name = "watermark"
watermarkShape.fill_format.fill_type = slides.FillType.NO_FILL
watermarkShape.line_format.fill_format.fill_type = slides.FillType.NO_FILL
# set watermark text, font and color
watermarkTextFrame = watermarkShape.add_text_frame("Watermark")
watermarkPortion = watermarkTextFrame.paragraphs[0].portions[0]
watermarkPortion.portion_format.font_height = 52
watermarkPortion.portion_format.fill_format.fill_type = slides.FillType.SOLID
watermarkPortion.portion_format.fill_format.solid_fill_color.color = drawing.Color.red
# lock watermark to avoid modification
watermarkShape.shape_lock.select_locked = True
watermarkShape.shape_lock.size_locked = True
watermarkShape.shape_lock.text_locked = True
watermarkShape.shape_lock.position_locked = True
watermarkShape.shape_lock.grouping_locked = True
# set rotation
watermarkShape.rotation = -45
# send to back
slide.shapes.reorder(0, watermarkShape)
# save presentation
presentation.save("text-watermark-slide.pptx", slides.export.SaveFormat.PPTX)
次のコードサンプルに示すように、すべてのスライドに透かしを追加するには、スライドをループするか、マスタースライドに透かしを追加します。
import aspose.slides as slides
import aspose.pydrawing as drawing
# load presentation
with slides.Presentation("presentation.pptx") as presentation:
# select slide
master = presentation.masters[0]
# set watermark position
center = drawing.PointF(presentation.slide_size.size.width / 2, presentation.slide_size.size.height / 2)
width = 300
height = 300
x = center.x - width / 2
y = center.y - height / 2
# add watermark
watermarkShape = master.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, x, y, height, width)
watermarkShape.name = "watermark"
watermarkShape.fill_format.fill_type = slides.FillType.NO_FILL
watermarkShape.line_format.fill_format.fill_type = slides.FillType.NO_FILL
# set watermark text, font and color
watermarkTextFrame = watermarkShape.add_text_frame("Watermark")
watermarkPortion = watermarkTextFrame.paragraphs[0].portions[0]
watermarkPortion.portion_format.font_height = 52
watermarkPortion.portion_format.fill_format.fill_type = slides.FillType.SOLID
watermarkPortion.portion_format.fill_format.solid_fill_color.color = drawing.Color.red
# lock watermark to avoid modification
watermarkShape.shape_lock.select_locked = True
watermarkShape.shape_lock.size_locked = True
watermarkShape.shape_lock.text_locked = True
watermarkShape.shape_lock.position_locked = True
watermarkShape.shape_lock.grouping_locked = True
# send to back
master.shapes.reorder(0, watermarkShape)
# set rotation
watermarkShape.rotation = -45
# save presentation
presentation.save("text-watermark-ppt.pptx", slides.export.SaveFormat.PPTX)
以下は、透かしを追加した後のPowerPointスライドのスクリーンショットです。
PythonでPowerPointスライドに画像透かしを追加する
以下は、PythonでPowerPointスライドに画像透かしを追加する手順です。
- まず、Presentationクラスを使用してPowerPointプレゼンテーションをロードします。
- 透かしを追加するスライドの参照を取得します。
- 透かしの位置を計算します。
- ファイルから透かし画像をロードします。
- add \ auto \ shape()メソッドを使用して透かしの新しい形状を追加し、shape.fill \ format.fill\typeをFillType.PICTUREに設定します。
- shape.fill \ format.picture \ fill\format.picture.imageプロパティを使用して透かし画像を設定します。
- 透かしの順序を設定し、変更を避けるためにロックします。
- 最後に、Presentation.save(string, SaveFormat)メソッドを使用して、更新されたPPTを保存します。
次のコードサンプルは、PowerPointスライドに画像透かしを追加する方法を示しています。
import aspose.slides as slides
import aspose.pydrawing as drawing
# load presentation
with slides.Presentation("presentation.pptx") as presentation:
# select slide
slide = presentation.slides[0]
# set watermark position
center = drawing.PointF(presentation.slide_size.size.width / 2, presentation.slide_size.size.height / 2)
width = 100
height = 100
x = center.x - width / 2
y = center.y - height / 2
# load image
with open("python-logo.png", "rb") as fs:
data = fs.read()
image = presentation.images.add_image(data)
# add watermark
watermarkShape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, x, y, height, width)
watermarkShape.name = "watermark"
# set image for watermark
watermarkShape.fill_format.fill_type = slides.FillType.PICTURE
watermarkShape.fill_format.picture_fill_format.picture.image = image
watermarkShape.fill_format.picture_fill_format.picture_fill_mode = slides.PictureFillMode.STRETCH
watermarkShape.line_format.fill_format.fill_type = slides.FillType.NO_FILL
# send to back
slide.shapes.reorder(0, watermarkShape)
# lock watermark to avoid modification
watermarkShape.shape_lock.select_locked = True
watermarkShape.shape_lock.size_locked = True
watermarkShape.shape_lock.text_locked = True
watermarkShape.shape_lock.position_locked = True
watermarkShape.shape_lock.grouping_locked = True
# save presentation
presentation.save("image-watermark-ppt.pptx", slides.export.SaveFormat.PPTX)
以下は、画像の透かしを追加した後のPPTスライドのスクリーンショットです。
PythonでPPTスライドから透かしを削除する
前のセクションでは、透かしの形に名前が割り当てられていることに気付いたはずです。この名前は、透かしとして使用される形状をフィルタリングするために使用されます。したがって、透かしの形状に簡単にアクセス、変更、または削除できます。次のコードサンプルは、PythonでPPTスライドに追加した透かしを削除する方法を示しています。
import aspose.slides as slides
import aspose.pydrawing as drawing
# load presentation
with slides.Presentation("text-watermark-slide.pptx") as presentation:
# select slide
slide = presentation.slides[0]
shapesToRemove=[]
# loop through all the shapes in slide
for i in range(len(slide.shapes)):
shape = slide.shapes[i]
# if shape is watermark
if shape.name == "watermark":
shapesToRemove.append(shape)
# loop through all the shapes to be removed
for i in range(len(shapesToRemove)):
# remove shape
slide.shapes.remove(shapesToRemove[i])
# save presentation
presentation.save("remove-watermark.pptx", slides.export.SaveFormat.PPTX)
無料ライセンスを取得する
一時ライセンスをリクエストすることで、評価の制限なしに.NET経由でAspose.Slides for Pythonを使用できます。
結論
この記事では、PythonでPowerPointスライドに透かしを追加する方法を学びました。 PPTスライドにテキストと画像の透かしを追加する方法について説明しました。さらに、プログラムでPowerPointPPTから透かしを削除する方法を見てきました。さらに、ドキュメントを読んで、Python用のAspose.Slidesの他の機能を調べることができます。また、フォーラムにクエリを投稿することもできます。
関連項目
情報:Aspose.Slidesが提供する無料のオンラインツールをチェックして、PowerPointプレゼンテーションから透かしを追加および透かしを削除することができます。