画像透かしは通常、デジタルドキュメントの背景に表示されるロゴまたはサインであり、コンテンツの著作権所有者を示します。PDF ドキュメントに画像で透かしを入れると、データの再利用や変更を防ぐことができます。この記事では、Spire.PDF for .NET を使用して C# および VB.NET で PDF に画像透かしを追加する方法を示します。
Spire.PDF for .NET をインストールします
まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.PDF
PDF に画像透かしを追加する
以下は、PDF ドキュメントに画像透かしを追加するための主な手順です。
- PdfDocument オブジェクトを作成し、PdfDocument.LoadFromFile() メソッドを使用してサンプル PDF ファイルをロードします。
- Image.FromFile() メソッドを使用して画像ファイルをロードします。
- ドキュメント内のページをループし、PdfDocument.Pages[] プロパティを介して特定のページを取得します。
- PdfPageBase.BackgroundImage プロパティを使用して、画像を現在のページの背景/透かし画像として設定します。PdfPageBase.BackgroundRegion プロパティを使用して画像の位置とサイズを設定します。
- PdfDocument.SaveToFile() メソッドを使用して、ドキュメントを別の PDF ファイルに保存します。
- C#
- VB.NET
using Spire.Pdf;
using System.Drawing;
namespace AddImageWatermark
{
class Program
{
static void Main(string[] args)
{
//PdfDocumentオブジェクトを作成する
PdfDocument document = new PdfDocument();
//サンプルPDFドキュメントをロードする
document.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.pdf");
//画像を読み込む
Image image = Image.FromFile(@"C:\Users\Administrator\Desktop\logo.png");
//画像の幅と高さを取得する
int imgWidth = image.Width;
int imgHeight = image.Height;
//ページをループする
for (int i = 0; i < document.Pages.Count; i++)
{
//ページの幅と高さを取得する
float pageWidth = document.Pages[i].ActualSize.Width;
float pageHeight = document.Pages[i].ActualSize.Height;
//背景の不透明度を設定する
document.Pages[i].BackgroudOpacity = 0.3f;
//現在のページの背景画像を設定する
document.Pages[i].BackgroundImage = image;
//背景画像をページの中央に配置する
Rectangle rect = new Rectangle((int)(pageWidth - imgWidth) / 2, (int)(pageHeight - imgHeight) / 2, imgWidth, imgHeight);
document.Pages[i].BackgroundRegion = rect;
}
//ドキュメントをファイルに保存する
document.SaveToFile("AddImageWatermark.pdf");
document.Close();
}
}
}
Imports Spire.Pdf
Imports System.Drawing
Namespace AddImageWatermark
Class Program
Shared Sub Main(ByVal args() As String)
'PdfDocumentオブジェクトを作成する
Dim document As PdfDocument = New PdfDocument()
'サンプルPDFドキュメントをロードする
document.LoadFromFile("C:\Users\Administrator\Desktop\sample.pdf")
'画像を読み込む
Dim image As Image = Image.FromFile("C:\Users\Administrator\Desktop\logo.png")
'画像の幅と高さを取得する
Dim imgWidth As Integer = image.Width
Dim imgHeight As Integer = image.Height
'ページをループする
Dim i As Integer
For i = 0 To document.Pages.Count- 1 Step i + 1
'ページの幅と高さを取得する
Dim pageWidth As single = document.Pages(i).ActualSize.Width
Dim pageHeight As single = document.Pages(i).ActualSize.Height
'背景の不透明度を設定する
document.Pages(i).BackgroudOpacity = 0.3f
'現在のページの背景画像を設定する
document.Pages(i).BackgroundImage = image
'背景画像をページの中央に配置する
Dim rect As Rectangle = New Rectangle(CType((pageWidth - imgWidth) / 2,(Integer)(pageHeight - imgHeight) / 2,imgWidth,imgHeight, Integer))
document.Pages(i).BackgroundRegion = rect
Next
'ドキュメントをファイルに保存する
document.SaveToFile("AddImageWatermark.pdf")
document.Close()
End Sub
End Class
End Namespace
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。