最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Python在PDF中繪制多種圖形的操作示例

 更新時間:2025年11月23日 15:44:05   作者:大丸子  
在進行PDF自動化處理時,人們往往首先想到的是文本生成、圖片嵌入或表格繪制等常規(guī)需求,然而在許多實際業(yè)務(wù)場景中,能夠在PDF中靈活繪制圖形同樣至關(guān)重要,本文將基于免費的Free?Spire.PDF?for?Python,一步步示范如何在同一頁PDF中繪制多種常見圖形,需要的朋友可以參考下

在進行 PDF 自動化處理時,人們往往首先想到的是文本生成、圖片嵌入或表格繪制等常規(guī)需求。然而在許多實際業(yè)務(wù)場景中,能夠在 PDF 中靈活繪制圖形同樣至關(guān)重要。例如技術(shù)報告需要示意線條和流程節(jié)點,簡易統(tǒng)計圖需要用到扇形或色塊,而某些表單或自動化文檔則需要定制背景區(qū)域、標注或分隔元素。

Python 本身的圖形繪制并不直接面向 PDF,但借助專業(yè)的 PDF 庫,我們可以高效完成各種圖形的渲染。本文將基于免費的 Free Spire.PDF for Python,一步步示范如何在同一頁 PDF 中繪制多種常見圖形,包括線條、扇形、矩形(含漸變)、橢圓等。

1. 環(huán)境準備

通過 pip 安裝:

pip install spire.pdf.free

Spire.PDF 提供 PdfDocumentPdfPageBasePdfPenPdfBrush 等常用對象,能輕松實現(xiàn)繪圖、文本、圖像等內(nèi)容的組合輸出。

2. 創(chuàng)建 PDF 文檔與頁面

首先創(chuàng)建文檔、添加頁面,并保存當前畫布狀態(tài)(以便在繪制完一組圖形后恢復環(huán)境):

from spire.pdf.common import *
from spire.pdf import *

# 創(chuàng)建 PDF 文檔
doc = PdfDocument()
page = doc.Pages.Add()

# 保存繪圖狀態(tài)
state = page.Canvas.Save()

3. 在 PDF 中繪制不同類型的圖形

以下代碼將在一個 PDF 頁面中 按順序分段繪制所有圖形。

Python 在 PDF 頁面繪制圖形示例代碼

from spire.pdf import *

# 創(chuàng)建 PDF 文檔
doc = PdfDocument()
page = doc.Pages.Add()

# 保存繪圖環(huán)境
state = page.Canvas.Save()

# ========== 1. 繪制線條(實線 + 虛線) ==========
pen1 = PdfPen(PdfRGBColor(Color.get_SteelBlue()), 2.2)
x, y = 50.0, 40.0
length = 350.0

# 實線
page.Canvas.DrawLine(pen1, x, y, x + length, y)

# 虛線線條
y += 25.0
pen1.DashStyle = PdfDashStyle.DashDot
pen1.DashPattern = [2.0, 3.0, 1.0]
page.Canvas.DrawLine(pen1, x, y, x + length, y)


# ========== 2. 繪制三個餅圖扇形 ==========
pen2 = PdfPen(PdfRGBColor(Color.get_Maroon()), 1.8)

# 扇形 1
page.Canvas.DrawPie(pen2, 40.0, 90.0, 110.0, 110.0, 270.0, 230.0)

# 扇形 2
page.Canvas.DrawPie(pen2, 170.0, 90.0, 110.0, 110.0, 360.0, 260.0)

# 扇形 3
page.Canvas.DrawPie(pen2, 300.0, 90.0, 110.0, 110.0, 180.0, 330.0)


# ========== 3. 矩形(邊框、線性漸變、放射漸變) ==========
# 空心矩形
pen3 = PdfPen(PdfRGBColor(Color.get_SaddleBrown()), 2.0)
page.Canvas.DrawRectangle(
    pen3,
    RectangleF(PointF(40.0, 220.0), SizeF(130.0, 95.0))
)

# 線性漸變矩形
linear = PdfLinearGradientBrush(
    PointF(200.0, 220.0),
    PointF(320.0, 300.0),
    PdfRGBColor(Color.get_LimeGreen()),
    PdfRGBColor(Color.get_Goldenrod())
)
page.Canvas.DrawRectangle(
    linear,
    RectangleF(PointF(200.0, 220.0), SizeF(130.0, 95.0))
)

# 放射漸變矩形
radial = PdfRadialGradientBrush(
    PointF(360.0, 220.0), 90.0,
    PointF(470.0, 300.0), 90.0,
    PdfRGBColor(Color.get_OrangeRed()),
    PdfRGBColor(Color.get_DodgerBlue())
)
page.Canvas.DrawRectangle(
    radial,
    RectangleF(PointF(360.0, 220.0), SizeF(130.0, 95.0))
)


# ========== 4. 橢圓(空心 + 實心) ==========
pen4 = PdfPens.get_CadetBlue()

# 空心橢圓
page.Canvas.DrawEllipse(pen4, 60.0, 350.0, 130.0, 85.0)

# 實心橢圓
brush = PdfSolidBrush(PdfRGBColor(Color.get_CadetBlue()))
page.Canvas.DrawEllipse(brush, 230.0, 350.0, 130.0, 85.0)


# 恢復狀態(tài)
page.Canvas.Restore(state)

# 保存文件
doc.SaveToFile("Drawing_Shapes.pdf")
doc.Close()
doc.Dispose()

繪制結(jié)果預覽

4. 關(guān)鍵繪圖對象與概念解析

為了更好地理解這些圖形的繪制機制,這里對關(guān)鍵對象進行說明。

(1)PdfPen:繪制線條、邊框的核心工具

PdfPen 決定線條的顏色、粗細、樣式:

  • PdfPen(color, width):創(chuàng)建筆對象
  • pen.DashStyle:虛線、點線等
  • pen.DashPattern:自定義線段 / 間隔模式

在工程制圖或示意圖中十分常用。

(2)PdfBrush:繪制填充內(nèi)容

  • PdfSolidBrush —— 實心顏色
  • PdfLinearGradientBrush —— 線性漸變(適合高亮效果)
  • PdfRadialGradientBrush —— 放射漸變(常用于聚焦或球形效果)

這類 Brush 在制作圖表、色塊、背景強調(diào)時非常好用。

(3)Canvas:圖形繪制的承載對象

常用方法包括:

  • DrawLine()
  • DrawPie()
  • DrawRectangle()
  • DrawEllipse()

所有圖形繪制操作都需要通過 page.Canvas 執(zhí)行。

5. 典型應(yīng)用場景

(1)自動生成分析報告中的圖形示意

無需依賴 Excel 或圖表工具,直接在 PDF 輸出關(guān)鍵圖形。

(2)制作數(shù)據(jù)可視化的簡圖(輕量級)

例如:

  • 儀表盤的小型餅圖
  • 簡單色塊圖

適用于快速展示。

(3)PDF 表單的界面元素繪制

矩形、線條、漸變能用于:

  • 字段背景
  • 模塊分割線
  • 輸入?yún)^(qū)域框架

讓 PDF 表單更美觀。

6. 總結(jié)

通過本文的示例,你已經(jīng)了解如何使用 Spire.PDF for Python 在一頁 PDF 中繪制多類圖形,并掌握了 PdfPen、PdfBrush 及多種漸變畫刷的基本用法。這些繪圖能力不僅能用于生成示意線條、圖表元素和背景色塊,也能擴展到更加復雜的文檔可視化需求。

借助這些核心對象,你可以自由組合線條、填充、漸變和形狀,構(gòu)建具有良好視覺結(jié)構(gòu)的自動化 PDF 內(nèi)容。如果需要進一步增強效果,還可以加入文本標注、圖像、坐標系或自定義多邊形等元素,使文檔更加完整專業(yè)。

以上就是使用Python在PDF中繪制多種圖形的操作示例的詳細內(nèi)容,更多關(guān)于Python PDF繪制多種圖形的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論

婺源县| 黄梅县| 留坝县| 普定县| 齐齐哈尔市| 潜山县| 紫金县| 凌云县| 安达市| 扎赉特旗| 中超| 萨嘎县| 武威市| 榆中县| 蒲城县| 襄垣县| 曲水县| 武城县| 逊克县| 卢龙县| 翁牛特旗| 贵德县| 鹤山市| 吉水县| 林甸县| 安义县| 广州市| 收藏| 高密市| 靖宇县| 星座| 沂水县| 庄浪县| 无极县| 延津县| 米脂县| 通辽市| 濮阳市| 三台县| 萨迦县| 溧水县|