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

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

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

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

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

1. 環(huán)境準(zhǔn)備

通過 pip 安裝:

pip install spire.pdf.free

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

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

首先創(chuàng)建文檔、添加頁面,并保存當(dāng)前畫布狀態(tài)(以便在繪制完一組圖形后恢復(fù)環(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 中繪制不同類型的圖形

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

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

from spire.pdf import *

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

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

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

# 實(shí)線
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. 繪制三個(gè)餅圖扇形 ==========
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. 橢圓(空心 + 實(shí)心) ==========
pen4 = PdfPens.get_CadetBlue()

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

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


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

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

繪制結(jié)果預(yù)覽

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

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

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

PdfPen 決定線條的顏色、粗細(xì)、樣式:

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

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

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

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

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

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

常用方法包括:

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

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

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

(1)自動(dòng)生成分析報(bào)告中的圖形示意

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

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

例如:

  • 儀表盤的小型餅圖
  • 簡(jiǎn)單色塊圖

適用于快速展示。

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

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

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

讓 PDF 表單更美觀。

6. 總結(jié)

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

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

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

相關(guān)文章

最新評(píng)論

宣化县| 赞皇县| 海盐县| 张家口市| 高要市| 雷波县| 沈阳市| 杭锦后旗| 宝丰县| 双城市| 徐州市| 江都市| 新乐市| 定西市| 齐齐哈尔市| 金川县| 上杭县| 郓城县| 灵台县| 三台县| 武汉市| 达日县| 句容市| 临夏市| 霍林郭勒市| 乐平市| 黄平县| 婺源县| 葫芦岛市| 元氏县| 宝坻区| 睢宁县| 平潭县| 苍溪县| 沁阳市| 黑山县| 崇文区| 天柱县| 瑞金市| 包头市| 昌都县|