透かしの操作
透かしの操作
このガイドでは、ドキュメントの透かしを追加、設定、削除する方法を示します Aspose.Words FOSS for .NET を使用して Watermark クラス、次を通じて取得できる Document.Watermark. 透かしはテキストまたは画像にできます。また、ドキュメント上で同時に有効になる透かしは1つだけです――新しい透かしを設定すると、以前のものは置き換えられます。
テキスト透かしの追加
Watermark.SetText(text) はデフォルトの書式設定でテキスト透かしを追加します。SetText(text, options) のオーバーロードは TextWatermarkOptions インスタンスを受け取り、外観を制御します:FontFamily、Color、FontSize がテキストの書式を制御し、IsSemitrasparent が透かし特有の半透明効果を切り替え、Layout(WatermarkLayout 値 — Horizontal または Diagonal)がページに対する向きを制御します。
画像透かしの追加
Watermark.SetImage(image) は既にロードされた Image から画像透かしを追加します。ImageWatermarkOptions インスタンスも受け取るオーバーロード(SetImage(image, options)、SetImage(imagePath, options)(ファイルパスからのロード)、SetImage(imageStream, options)(Stream からのロード))を使用すると、Scale(画像のスケール係数、分数で表現)と IsWashout(ページ内容を圧倒しないように画像を淡くする効果)を制御できます。
透かしの確認と削除
Watermark.Typeは現在の透かしの種類をWatermarkType値として報告します — Text、Image、または透かしが設定されていない場合はNoneです。Watermark.Remove()を呼び出してドキュメントから現在の透かしを削除します。
ヒントとベストプラクティス
- 透かしが存在すると仮定する前に
Watermark.Typeを確認してください — それは透かしが一度も設定されていないドキュメントでWatermarkType.Noneを返します。 SetText()またはSetImage()を使用して新しい透かしを設定すると、既存の透かしは置き換えられます。一度に複数のアクティブな透かしを保持する方法はありません。- Wordのデフォルトの斜め透かしの向きを再現するには
WatermarkLayout.Diagonalを使用し、ページの端に平行に走る透かしにはHorizontalを使用してください。 - 不透明度、スケール、フォントを制御する必要がある場合は、プレーンな
SetImage(image)/SetText(text)呼び出しよりもImageWatermarkOptions/TextWatermarkOptionsオーバーロードを優先してください — パラメータなしのオーバーロードはWordのデフォルトを使用します。
一般的な問題
| 問題 | 原因 | 修正 |
|---|---|---|
| 新しい透かしが古い透かしと並んで表示されません | SetText()/SetImage()は既存の透かしを置き換え、2つ目を追加しません | 別の種類を設定する前にクリアする必要がある場合のみ、最初にRemove()を呼び出してください。そうでなければ置き換えは自動的に行われます |
| 画像の透かしがページのコンテンツを圧倒します | ImageWatermarkOptions.IsWashoutが無効のままでした | ImageWatermarkOptionsを構築する際に、IsWashoutをtrueに設定してください |
| テキスト透かしのフォントが意図した書体と一致しません | TextWatermarkOptions.FontFamilyが設定されていません(またはスペルミスです) | レンダリング環境で利用可能なフォント名に FontFamily を設定する |
FAQ
ドキュメントにすでに透かしがあるかどうかを確認するにはどうすればよいですか?
Document.Watermark.Type を読み取ります; それは WatermarkType.Text、WatermarkType.Image、または WatermarkType.None を返します。
透かしを削除するにはどうすればよいですか?
Document.Watermark.Remove() を呼び出します。
透かしの透明度を制御できますか?
はい — テキスト透かしの場合は TextWatermarkOptions.IsSemitrasparent を設定し、画像透かしの場合は ImageWatermarkOptions.IsWashout を設定します。
インメモリの Image の代わりにディスクから画像透かしをロードするにはどうすればよいですか?
Watermark.SetImage(imagePath, options) のオーバーロードを使用し、ファイルパスを文字列として、ImageWatermarkOptions インスタンスと共に渡します。
API Reference 概要
| クラス / 列挙型 | 説明 |
|---|---|
Watermark | ドキュメント透かし、Document.Watermark によって; SetText()、SetImage()、Remove()、Type |
WatermarkType | 現在の透かし種別を識別する列挙型: Text、Image、None |
WatermarkLayout | 透かしの向きを表す列挙型: Horizontal、Diagonal |
TextWatermarkOptions | Text watermark formatting: FontFamily, Color, FontSize, IsSemitrasparent, Layout |
ImageWatermarkOptions | Image watermark options: Scale, IsWashout |