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