Python?在PDF中繪制線條、矩形、橢圓形的方法
在PDF中繪制圖形可以增強(qiáng)文檔的視覺效果。通過添加不同類型的形狀,如實(shí)線、虛線、矩形、圓形等,可以使文檔更加生動(dòng)有趣,提高讀者的閱讀興趣。這對(duì)于制作報(bào)告、演示文稿或是教材特別有用。本文將通過以下幾個(gè)示例介紹如何使用Python 在PDF中繪制不同的圖形。
- Python 在PDF中繪制實(shí)線、虛線
- Python 在PDF中繪制矩形
- Python 在 PDF 中繪制橢圓形
所需Python庫 - Spire.PDF for Python??梢酝ㄟ^下面的pip 命令直接安裝:
pip install Spire.Pdf
Python 在PDF中繪制實(shí)線、虛線
Spire.PDF for Python庫提供了 PdfPageBase.Canvas.DrawLine() 方法用于在PDF頁面指定位置繪制線條。通過設(shè)置畫筆PdfPen的樣式,可以繪制實(shí)線或虛線。
Python 代碼:
from spire.pdf.common import * from spire.pdf import * # 創(chuàng)建PDF文檔 pdf = PdfDocument() # 添加頁面 page = pdf.Pages.Add() # 保存當(dāng)前繪圖狀態(tài) state = page.Canvas.Save() # 指定線條起始點(diǎn)的X和Y坐標(biāo) x = 100.0 y = 50.0 # 制定線條長度 width = 300.0 # 創(chuàng)建指定顏色和粗細(xì)的畫筆 pen = PdfPen(PdfRGBColor(Color.get_Blue()), 2.0) # 用畫筆在頁面上繪制實(shí)線 page.Canvas.DrawLine(pen, x, y, x + width, y) # 設(shè)置畫筆樣式為虛線 pen.DashStyle = PdfDashStyle.Dash # 設(shè)置虛線樣式為[1, 4, 1] pen.DashPattern = [1, 4, 1] # 指定虛線起始點(diǎn) y 坐標(biāo) y = 80.0 # 用畫筆頁面上繪制虛線 page.Canvas.DrawLine(pen, x, y, x + width, y) # 恢復(fù)之前保存的繪圖狀態(tài) page.Canvas.Restore(state) # 保存PDF文檔 pdf.SaveToFile("繪制線條.pdf") pdf.Close() pdf.Dispose()
Python 在PDF中繪制矩形
PdfPageBase.Canvas.DrawRectangle() 方法可用于在PDF頁面指定位置繪制矩形。通過向該方法中傳遞不同的參數(shù),可以指定矩形的大小、填充色等。
Python 代碼:
from spire.pdf.common import * from spire.pdf import * # 創(chuàng)建PDF文檔 pdf = PdfDocument() # 添加頁面 page = pdf.Pages.Add() # 保存當(dāng)前繪圖狀態(tài) state = page.Canvas.Save() # 創(chuàng)建指定顏色和粗細(xì)的畫筆 pen = PdfPen(PdfRGBColor(Color.get_Blue()), 1.5) # 用畫筆在頁面上繪制一個(gè)矩形 page.Canvas.DrawRectangle(pen, RectangleF(PointF(20.0, 60.0), SizeF(150.0, 90.0))) # 創(chuàng)建一個(gè)線性漸變筆刷 linearGradientBrush = PdfLinearGradientBrush(PointF(220.0, 60.0), PointF(350.0, 180.0), PdfRGBColor(Color.get_Green()), PdfRGBColor(Color.get_Pink())) # 用線性漸變筆刷繪制一個(gè)填充式矩形 page.Canvas.DrawRectangle (linearGradientBrush, RectangleF(PointF(220.0, 60.0), SizeF(150.0, 90.0))) # 恢復(fù)之前保存的繪圖狀態(tài) 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 * # 創(chuàng)建PDF文檔 pdf = PdfDocument() # 添加頁面 page = pdf.Pages.Add() # 保存當(dāng)前繪圖狀態(tài) state = page.Canvas.Save() # 創(chuàng)建畫筆 pen = PdfPens.get_Violet() # 用畫筆在頁面上繪制橢圓形 page.Canvas.DrawEllipse(pen, 30.0, 60.0, 150.0, 100.0) # 創(chuàng)建填充畫刷對(duì)象 brush = PdfSolidBrush(PdfRGBColor(Color.get_Violet())) # 繪制填充的橢圓形狀 page.Canvas.DrawEllipse(brush, 220.0, 60.0, 150.0, 100.0) # 恢復(fù)之前保存的繪圖狀態(tài) page.Canvas.Restore(state) # 保存PDF文檔 pdf.SaveToFile("繪制橢圓形.pdf") pdf.Close() pdf.Dispose()
生成文檔中的紅色水印,可以通過點(diǎn)擊以下鏈接,申請(qǐng)一個(gè)月免費(fèi)授權(quán)來去除:
https://www.e-iceblue.cn/misc/temporary-license.html
到此這篇關(guān)于Python 在PDF中繪制線條、矩形、橢圓形的方法的文章就介紹到這了,更多相關(guān)python pdf 繪制線條、矩形、橢圓形內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解Python之Scrapy爬蟲教程N(yùn)BA球員數(shù)據(jù)存放到Mysql數(shù)據(jù)庫
這篇文章主要介紹了詳解Python之Scrapy爬蟲教程N(yùn)BA球員數(shù)據(jù)存放到Mysql數(shù)據(jù)庫,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01淺析Python 3 字符串中的 STR 和 Bytes 有什么區(qū)別
Python2的str相當(dāng)于Python3的Bytes,而Unicode相當(dāng)于Python3的Bytes。這篇文章主要介紹了Python 3 字符串中的 STR 和 Bytes 究竟有什么區(qū)別?需要的朋友可以參考下2018-10-10python神經(jīng)網(wǎng)絡(luò)Keras常用學(xué)習(xí)率衰減匯總
這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)Keras常用學(xué)習(xí)率衰減匯總,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05Python高級(jí)編程之繼承問題詳解(super與mro)
這篇文章主要介紹了Python高級(jí)編程之繼承問題,結(jié)合實(shí)例形式詳細(xì)分析了Python多繼承、MRO順序及super調(diào)用父類等相關(guān)操作技巧,需要的朋友可以參考下2019-11-11Python 實(shí)現(xiàn)王者榮耀中的敏感詞過濾示例
今天小編就為大家分享一篇Python 實(shí)現(xiàn)王者榮耀中的敏感詞過濾示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01Python連接數(shù)據(jù)庫使用matplotlib畫柱形圖
這篇文章主要介紹了Python連接數(shù)據(jù)庫使用matplotlib畫柱形圖,文章通過實(shí)例展開對(duì)主題的相關(guān)介紹。具有一定的知識(shí)參考價(jià)值性,感興趣的小伙伴可以參考一下2022-06-06Python文件簡單操作及openpyxl操作excel文件詳解
這篇文章主要為大家詳細(xì)介紹了python對(duì)文件的簡單使用及openpyxl操作excel文件的方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-10-10Pandas實(shí)現(xiàn)數(shù)據(jù)拼接的操作方法詳解
Python處理大規(guī)模數(shù)據(jù)集的時(shí)候經(jīng)常需要使用到合并、鏈接的方式進(jìn)行數(shù)據(jù)集的整合,本文為大家主要介紹了.merge()、?.join()?和?.concat()?三種方法,感興趣的可以了解一下2022-04-04