向PDF添加水印

在将Excel文件转换为PDF时,可能需要在PDF文件中添加水印。以下示例展示了在呈现PDF时如何向PDF添加文本和图像水印。

向PDF添加文本水印

您可以通过指定文本及其对应的字体,轻松向PDF添加文本水印。还可以在RenderingWatermark中设置对齐方式、偏移、旋转、不透明度、前景/背景和页面缩放。

from aspose.cells import PaperSizeType, PdfSaveOptions, TextAlignmentType, Workbook
from aspose.cells.rendering import RenderingFont, RenderingWatermark
from aspose.pydrawing import Color
# prepare a workbook with 3 pages.
wb = Workbook()
wb.worksheets[0].cells.get("A1").put_value("Page1")
index = wb.worksheets.add()
wb.worksheets[index].cells.get("A1").put_value("Page2")
index = wb.worksheets.add()
wb.worksheets[index].cells.get("A1").put_value("Page3")
wb.worksheets[index].page_setup.paper_size = PaperSizeType.PAPER_A3
# create a font for watermark, and specify bold, italic, color.
font = RenderingFont("Calibri", 68)
font.italic = True
font.bold = True
font.color = Color.blue
# create a watermark from text and the specified font.
watermark = RenderingWatermark("Watermark", font)
# specify horizontal and vertical alignment
watermark.h_alignment = TextAlignmentType.CENTER
watermark.v_alignment = TextAlignmentType.CENTER
# specify rotation
watermark.rotation = 30.0
# specify opacity
watermark.opacity = 0.6
# specify the scale to page(e.g. 100, 50) in percent.
watermark.scale_to_page_percent = 50
# spcify watermark for rendering to pdf.
options = PdfSaveOptions()
options.watermark = watermark
wb.save("output_text_watermark.pdf", options)

向PDF添加图像水印

您只需指定图像的字节即可向PDF添加图像水印。同样,您可以在RenderingWatermark中设置对齐方式、偏移、旋转、不透明度、前景/背景和页面缩放。

from aspose.cells import PaperSizeType, PdfSaveOptions, Workbook
from aspose.cells.rendering import RenderingWatermark
# prepare a workbook with 3 pages.
wb = Workbook()
wb.worksheets[0].cells.get("A1").put_value("Page1")
index = wb.worksheets.add()
wb.worksheets[index].cells.get("A1").put_value("Page2")
index = wb.worksheets.add()
wb.worksheets[index].cells.get("A1").put_value("Page3")
wb.worksheets[index].page_setup.paper_size = PaperSizeType.PAPER_A3
# create a watermark from image(you need to prepare image bytes).
watermark = RenderingWatermark(imageBytes)
# specify offset to alignment.
watermark.offset_x = 100.0
watermark.offset_y = 200.0
# specify rotation
watermark.rotation = 30.0
# specify watermark to background.
watermark.is_background = True
# specify opacity
watermark.opacity = 0.6
# specify the scale to page(e.g. 100, 50) in percent.
watermark.scale_to_page_percent = 50
# spcify watermark for rendering to pdf.
options = PdfSaveOptions()
options.watermark = watermark
wb.save("oputput_image_watermark.pdf", options)