在PDF中繪製圖形可以增強文件的視覺效果。透過新增不同型別的形狀,如實線、虛線、矩形、圓形等,可以使文件更加生動有趣,提高讀者的閱讀興趣。這對於製作報告、簡報或是教材特別有用。本文將透過以下幾個示例介紹如何使用Python 在PDF中繪製不同的圖形。
- Python 在PDF中繪製實線、虛線
- Python 在PDF中繪製矩形
- Python 在 PDF 中繪製橢圓形
所需Python庫 - Spire.PDF for Python。可以透過下面的pip 命令直接安裝:
pip install Spire.Pdf
Python 在PDF中繪製實線、虛線
Spire.PDF for Python庫提供了 PdfPageBase.Canvas.DrawLine() 方法用於在PDF頁面指定位置繪製線條。透過設定畫筆PdfPen的樣式,可以繪製實線或虛線。
Python 程式碼:
from spire.pdf.common import * from spire.pdf import * # 建立PDF文件 pdf = PdfDocument() # 新增頁面 page = pdf.Pages.Add() # 儲存當前繪圖狀態 state = page.Canvas.Save() # 指定線條起始點的X和Y座標 x = 100.0 y = 50.0 # 制定線條長度 width = 300.0 # 建立指定顏色和粗細的畫筆 pen = PdfPen(PdfRGBColor(Color.get_Blue()), 2.0) # 用畫筆在頁面上繪製實線 page.Canvas.DrawLine(pen, x, y, x + width, y) # 設定畫筆樣式為虛線 pen.DashStyle = PdfDashStyle.Dash # 設定虛線樣式為[1, 4, 1] pen.DashPattern = [1, 4, 1] # 指定虛線起始點 y 座標 y = 80.0 # 用畫筆頁面上繪製虛線 page.Canvas.DrawLine(pen, x, y, x + width, y) # 恢復之前儲存的繪圖狀態 page.Canvas.Restore(state) # 儲存PDF文件 pdf.SaveToFile("繪製線條.pdf") pdf.Close() pdf.Dispose()
Python 在PDF中繪製矩形
PdfPageBase.Canvas.DrawRectangle() 方法可用於在PDF頁面指定位置繪製矩形。透過向該方法中傳遞不同的引數,可以指定矩形的大小、填充色等。
Python 程式碼:
from spire.pdf.common import * from spire.pdf import * # 建立PDF文件 pdf = PdfDocument() # 新增頁面 page = pdf.Pages.Add() # 儲存當前繪圖狀態 state = page.Canvas.Save() # 建立指定顏色和粗細的畫筆 pen = PdfPen(PdfRGBColor(Color.get_Blue()), 1.5) # 用畫筆在頁面上繪製一個矩形 page.Canvas.DrawRectangle(pen, RectangleF(PointF(20.0, 60.0), SizeF(150.0, 90.0))) # 建立一個線性漸變筆刷 linearGradientBrush = PdfLinearGradientBrush(PointF(220.0, 60.0), PointF(350.0, 180.0), PdfRGBColor(Color.get_Green()), PdfRGBColor(Color.get_Pink())) # 用線性漸變筆刷繪製一個填充式矩形 page.Canvas.DrawRectangle (linearGradientBrush, RectangleF(PointF(220.0, 60.0), SizeF(150.0, 90.0))) # 恢復之前儲存的繪圖狀態 page.Canvas.Restore(state) # 儲存PDF文件 pdf.SaveToFile("繪製矩形.pdf") pdf.Close() pdf.Dispose()
Python 在 PDF 中繪製橢圓形
在PDF頁面指定位置繪製橢圓形可以使用 PdfPageBase.Canvas.DrawEllipse() 方法。透過指定不同的PDF畫筆或畫刷,可以繪製不同樣式的橢圓形。
Python 程式碼:
from spire.pdf.common import * from spire.pdf import * # 建立PDF文件 pdf = PdfDocument() # 新增頁面 page = pdf.Pages.Add() # 儲存當前繪圖狀態 state = page.Canvas.Save() # 建立畫筆 pen = PdfPens.get_Violet() # 用畫筆在頁面上繪製橢圓形 page.Canvas.DrawEllipse(pen, 30.0, 60.0, 150.0, 100.0) # 建立填充畫刷物件 brush = PdfSolidBrush(PdfRGBColor(Color.get_Violet())) # 繪製填充的橢圓形狀 page.Canvas.DrawEllipse(brush, 220.0, 60.0, 150.0, 100.0) # 恢復之前儲存的繪圖狀態 page.Canvas.Restore(state) # 儲存PDF文件 pdf.SaveToFile("繪製橢圓形.pdf") pdf.Close() pdf.Dispose()
生成文件中的紅色水印,可以透過點選以下連結,申請一個月免費授權來去除:
https://www.e-iceblue.cn/misc/temporary-license.html