翻譯|行業(yè)資訊|編輯:吉煒煒|2025-08-20 14:18:34.890|閱讀 125 次
概述:水印技術是保護文檔安全、聲明所有權及防止未經授權復制的關鍵手段。無論是分發(fā)草稿還是為最終交付成果添加品牌標識,使用水印都能有效保護您的內容。本教程將指導您如何使用 Spire.PDF for Python 在 Python 中為 PDF 文件添加水印 。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
	 
 
水印技術是保護文檔安全、聲明所有權及防止未經授權復制的關鍵手段。無論是分發(fā)草稿還是為最終交付成果添加品牌標識,使用水印都能有效保護您的內容。E-iceblue旗下Spire系列產品是國產文檔處理領域的優(yōu)秀產品,支持國產化信創(chuàng),幫助企業(yè)高效構建文檔處理的應用程序。本教程將指導您如何使用 Spire.PDF for Python 在 Python 中為 PDF 文件添加水印 。
我們將逐步演示如何插入文字水印與圖片水印、調整透明度與定位,并解決常見問題——所有步驟均配有清晰且注釋完善的代碼示例。
加入Spire技術交流QQ群(125237868),與更多開發(fā)者一起提升文檔開發(fā)技能。
Spire.PDF for Python 是一款功能強大的 PDF 處理庫,特別針對水印功能提供以下特性:
開始前請確保已通過以下命令安裝庫:
pip install spire.pdf
以下代碼演示如何為 PDF 每頁添加傾斜的"禁止復制"文字水印,包含字號、顏色、位置、旋轉角度及透明度的專業(yè)級設置:
from spire.pdf import *
from spire.pdf.common import *
import math
# 創(chuàng)建PdfDocument類的對象
doc = PdfDocument()
# 從指定路徑加載PDF文檔
doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.pdf")
# 為水印字體創(chuàng)建PdfTrueTypeFont類的對象
font = PdfTrueTypeFont("黑體", 48.0, 0, True)
# 指定水印文本
text = "禁 止 復 制"
# 測量文本的尺寸以確保正確定位
text_width = font.MeasureString(text).Width
text_height = font.MeasureString(text).Height
# 循環(huán)遍歷文檔中的每一頁
for i in range(doc.Pages.Count):
    # 獲取當前頁面
    page = doc.Pages.get_Item(i)
    
    # 保存當前畫布狀態(tài)
    state = page.Canvas.Save()
 
    # 計算頁面的中心坐標
    x = page.Canvas.Size.Width  / 2
    y = page.Canvas.Size.Height / 2
    # 將坐標系平移到中心,使頁面的中心成為原點(0, 0)
    page.Canvas.TranslateTransform(x, y)
    
    # 將畫布逆時針旋轉45度以顯示水印
    page.Canvas.RotateTransform(-45.0)
    # 設置水印的透明度
    page.Canvas.SetTransparency(0.4)
    
    # 使用負偏移量在中心位置繪制水印文本
    page.Canvas.DrawString(text, font, PdfBrushes.get_Blue(), PointF(-text_width / 2, -text_height / 2))
    
    # 恢復畫布狀態(tài),以防止變換影響后續(xù)繪圖
    page.Canvas.Restore(state)
# 將修改后的文檔保存到新的PDF文件
doc.SaveToFile("output/TextWatermark.pdf")
# 釋放資源
doc.Dispose()
	代碼解析:
效果圖:
 
以下代碼演示如何為PDF每一頁添加半透明圖片水印,確保精準定位并呈現專業(yè)視覺效果。
from spire.pdf import *
from spire.pdf.common import *
# 創(chuàng)建PdfDocument類的對象
doc = PdfDocument()
# 從指定路徑加載PDF文檔
doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.pdf")
# 從指定路徑加載水印圖像
image = PdfImage.FromFile("C:\\Users\\Administrator\\Desktop\\logo.png")
# 獲取加載的圖像的寬度和高度以進行定位
imageWidth = float(image.Width)
imageHeight = float(image.Height)
# 循環(huán)遍歷文檔中的每一頁以應用水印
for i in range(doc.Pages.Count):
    # 獲取當前頁面
    page = doc.Pages.get_Item(i)
    # 將水印的透明度設置為50%
    page.Canvas.SetTransparency(0.5)
    # 獲取當前頁面的尺寸
    pageWidth = page.ActualSize.Width
    pageHeight = page.ActualSize.Height
    # 計算x和y坐標以將圖像居中放置在頁面上
    x = (pageWidth - imageWidth) / 2
    y = (pageHeight - imageHeight) / 2
    # 在計算出的中心位置繪制圖像
    page.Canvas.DrawImage(image, x, y, imageWidth, imageHeight)
# 將修改后的文檔保存到新的PDF文件
doc.SaveToFile("output/ImageWatermark.pdf")
# 釋放資源
doc.Dispose()
	代碼解析:
效果圖:
 
除了水印之外,您還可以為 PDF 添加圖章。與水印固定位置不同,圖章可以自由移動或刪除,為文檔批注提供了更大的靈活性。
借助 Spire.PDF for Python 庫,為 PDF 文檔添加水印既簡單便捷又功能強大。您既可以批量添加醒目的"機密"警示水印,也能嵌入品牌 Logo 作為優(yōu)雅的背景標識。該庫支持靈活的坐標定位、透明度調節(jié)、旋轉等高級功能,讓您能夠根據文檔類型和使用場景,輕松打造專業(yè)級的水印解決方案。
可以,您只需在遍歷PDF頁面的循環(huán)中結合使用兩種水印添加方法即可。
與文字水印示例類似,在繪制圖片前使用 Canvas.RotateTransform( 角度) 方法即可實現旋轉。
支持。當使用PNG圖片作為水印時,Spire.PDF會保留其原有的透明度。
完全可以。您可以在頁面循環(huán)中添加條件判斷邏輯,根據頁碼或其他標準為不同頁面應用不同的水印。
————————————————————————————————————————
關于慧都科技:
慧都科技是一家行業(yè)數字化解決方案公司,長期專注于軟件、油氣與制造行業(yè)。公司基于深入的業(yè)務理解與管理洞察,以系統(tǒng)化的業(yè)務建模驅動技術落地,幫助企業(yè)實現智能化運營與長期競爭優(yōu)勢。在軟件工程領域,我們提供開發(fā)控件、研發(fā)管理、代碼開發(fā)、部署運維等軟件開發(fā)全鏈路所需的產品,提供正版授權采購、技術選型、個性化維保等服務,幫助客戶實現技術合規(guī)、降本增效與風險可控。慧都科技E-iceblue的官方授權代理商,提供E-iceblue系列產品免費試用,咨詢,正版銷售等于一體的專業(yè)化服務。E-iceblue旗下Spire系列產品是國產文檔處理領域的優(yōu)秀產品,支持國產化信創(chuàng),幫助企業(yè)高效構建文檔處理的應用程序。
歡迎下載|體驗更多E-iceblue產品
獲取更多信息請咨詢 ;技術交流Q群(125237868)
本站文章除注明轉載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@ke049m.cn
文章轉載自:慧都網