Python 在PDF中繪製線條、矩形、橢圓形

E-iceblue發表於2024-11-18

在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

相關文章