PDFに透かしを追加する

ExcelファイルをPDFに変換する際、PDFファイルに透かしを追加する要件がある場合があります。次の例では、PDFに変換する際にテキストや画像の透かしを追加する方法が示されています。

PDFにテキスト透かしを追加する

特定のテキストと対応するフォントを指定して、PDF にテキストウォーターマークを簡単に追加できます。また、RenderingWatermarkを使用して、配置、オフセット、回転、不透明度、前景色/背景色、およびページへのスケールを設定できます。

//prepare a workbook with 3 pages.
Workbook wb = new Workbook();
wb.Worksheets[0].Cells["A1"].PutValue("Page1");
int index = wb.Worksheets.Add();
wb.Worksheets[index].Cells["A1"].PutValue("Page2");
index = wb.Worksheets.Add();
wb.Worksheets[index].Cells["A1"].PutValue("Page3");
wb.Worksheets[index].PageSetup.PaperSize = PaperSizeType.PaperA3;
//create a font for watermark, and specify bold, italic, color.
RenderingFont font = new RenderingFont("Calibri", 68);
font.Italic = true;
font.Bold = true;
font.Color = Color.Blue;
//create a watermark from text and the specified font.
RenderingWatermark watermark = new RenderingWatermark("Watermark", font);
//specify horizontal and vertical alignment
watermark.HAlignment = TextAlignmentType.Center;
watermark.VAlignment = TextAlignmentType.Center;
//specify rotation
watermark.Rotation = 30;
//specify opacity
watermark.Opacity = 0.6f;
//specify the scale to page(e.g. 100, 50) in percent.
watermark.ScaleToPagePercent = 50;
//spcify watermark for rendering to pdf.
PdfSaveOptions options = new PdfSaveOptions();
options.Watermark = watermark;
wb.Save("output_text_watermark.pdf", options);

PDFに画像透かしを追加する

画像のバイトを指定するだけで、PDF に画像ウォーターマークを追加できます。また、RenderingWatermarkを使用して、配置、オフセット、回転、不透明度、前景色/背景色、およびページへのスケールを設定できます。

//prepare a workbook with 3 pages.
Workbook wb = new Workbook();
wb.Worksheets[0].Cells["A1"].PutValue("Page1");
int index = wb.Worksheets.Add();
wb.Worksheets[index].Cells["A1"].PutValue("Page2");
index = wb.Worksheets.Add();
wb.Worksheets[index].Cells["A1"].PutValue("Page3");
wb.Worksheets[index].PageSetup.PaperSize = PaperSizeType.PaperA3;
//create a watermark from image(you need to prepare image bytes).
byte[] imageBytes = null;
RenderingWatermark watermark = new RenderingWatermark(imageBytes);
//specify offset to alignment.
watermark.OffsetX = 100;
watermark.OffsetY = 200;
//specify rotation
watermark.Rotation = 30;
//specify watermark to background.
watermark.IsBackground= true;
//specify opacity
watermark.Opacity = 0.6f;
//specify the scale to page(e.g. 100, 50) in percent.
watermark.ScaleToPagePercent = 50;
//spcify watermark for rendering to pdf.
PdfSaveOptions options = new PdfSaveOptions();
options.Watermark = watermark;
wb.Save("oputput_image_watermark.pdf", options);