欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

通過python在PDF中添加條形碼和二維碼的代碼詳解

 更新時間:2024年08月15日 11:12:26   作者:Eiceblue  
在PDF中添加條碼是一個常見需求,特別是在需要自動化處理、跟蹤或檢索PDF文件時,作為一種機器可讀的標(biāo)識符,PDF中的條碼可以包含各種類型的信息,本文介紹了如何使用Python在PDF中添加條形碼或二維碼,需要的朋友可以參考下

引言

在PDF中添加條碼是一個常見需求,特別是在需要自動化處理、跟蹤或檢索PDF文件時。作為一種機器可讀的標(biāo)識符,PDF中的條碼可以包含各種類型的信息,如文檔的唯一標(biāo)識、版本號、日期等。以下是一篇關(guān)于如何使用Python在PDF中添加條形碼或二維碼的文章。

所需Python庫

Spire.PDF for Python 庫:用于在PDF文件中直接繪制條形碼,支持多種一維條碼類型,如 Codabar, Code11, Code32, Code39, Code93等。

由于Spire.PDF for Python只支持創(chuàng)建一維條碼,如果需要在PDF中添加二維碼,我們還需要結(jié)合Spire.Barcode for Python庫。

這兩個Python庫可以通過下面的pip 命令進行安裝:

pip install Spire.Pdf
pip install Spire.Barcode

Python 在PDF 文檔中添加條形碼

Spire.PDF for Python庫提供了不同的類來代表不同的一維條碼類型,該示例將演示如何使用該庫在PDF中繪制常見的Codabar和Code39條碼。

主要步驟:

  1. 新建PDF文檔并添加頁面;
  2. 在PDF頁面上繪制文本;
  3. 創(chuàng)建 PdfCodabarBarcode 對象,然后使用其 Draw()方法將Codabar條碼繪制到頁面指定位置
  4. 創(chuàng)建 PdfCode39Barcode 對象,然后使用其Draw()方法將Code39條碼繪制到頁面指定位置
  5. 保存PDF文件。

Python 代碼:

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

# 創(chuàng)建PDF文件
pdf = PdfDocument()
# 添加頁面
page = pdf.Pages.Add(PdfPageSize.A4())

y = 20.0
# 在頁面上繪制文本
font = PdfTrueTypeFont("Arial", 12.0, PdfFontStyle.Bold, True)
text = PdfTextWidget()
text.Font = font
text.Text = "Codabar:"
result = text.Draw(page, 0.0, y)
page = result.Page
y = result.Bounds.Bottom + 2

# 創(chuàng)建PdfCodabarBarcode對象,并將Codabar條碼繪制到頁面上
Codabar = PdfCodabarBarcode("00:12-3456/7890")
Codabar.BarcodeToTextGapHeight = 1.0
Codabar.EnableCheckDigit = True
Codabar.ShowCheckDigit = True
Codabar.TextDisplayLocation = TextLocation.Bottom
Codabar.TextColor = PdfRGBColor(Color.get_Green())
Codabar.Draw(page, PointF(0.0, y))
y = Codabar.Bounds.Bottom + 8

# 在頁面上繪制文本
text.Text = "Code39:"
result = text.Draw(page, 0.0, y)
page = result.Page
y = result.Bounds.Bottom + 2

# 創(chuàng)建PdfCode39Barcode對象,并將Code39條碼繪制到頁面上
Code39 = PdfCode39Barcode("ABC-012689")
Code39.BarcodeToTextGapHeight = 1.0
Code39.TextDisplayLocation = TextLocation.Bottom
Code39.TextColor = PdfRGBColor(Color.get_Green())
Code39.Draw(page, PointF(0.0, y))

# 保存PDF文檔
pdf.SaveToFile("PDF中添加條形碼.pdf")
pdf.Close()

生成條形碼:

Python 在PDF文檔中添加二維碼

該示例中我們需要先借助Spire.Barcode for Python庫來生成二維碼圖片,然后再使用Spire.PDF for Python庫將二維碼圖片繪制到PDF頁面上。

主要步驟:

  1. 使用Python條碼庫生成二維碼圖片;
    • 創(chuàng)建 BarcodeSettings 對象,然后使用其Type屬性將條碼類型設(shè)置為二維碼QRCode
    • 設(shè)置二維碼的數(shù)據(jù)、寬度、糾錯級別、以及是否顯示文本等
    • 基于以上設(shè)置創(chuàng)建 BarCodeGenerator 對象,然后使用其 GenerateImage() 方法生成二維碼圖片
  2. 將生成的二維碼圖片保存為PNG圖片;
  3. 使用Python PDF庫將二維碼圖片繪制到PDF中;
    • 創(chuàng)建PDF文檔,并添加一頁
    • 加載二維碼圖片,然后使用 DrawImage() 方法將二維碼繪制到PDF頁面指定位置處
  4. 保存PDF文檔。

Python 代碼:

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

# 創(chuàng)建BarcodeSettings對象
settings = BarcodeSettings()

# 設(shè)置條碼類型為QRCode
settings.Type = BarCodeType.QRCode
# 設(shè)置條碼數(shù)據(jù)、寬度、糾錯級別等
settings.Data = "ABCD12345"
settings.Data2D = "ABCD12345"
settings.X = 2
settings.QRCodeECL = QRCodeECL.M
settings.ShowTextOnBottom = True

# 生成二維碼圖片
barCodeGenerator = BarCodeGenerator(settings)
QRimage = barCodeGenerator.GenerateImage()

# 將二維碼圖片保存為PNG文件
with open("QRCode.png", "wb") as file:
    file.write(QRimage)

# 創(chuàng)建PDF文檔
pdf = PdfDocument()
# 添加頁面
page = pdf.Pages.Add()

# 將二維碼圖片繪制到PDF頁面上
pdfImage = PdfImage.FromFile("QRCode.png")
page.Canvas.DrawImage(pdfImage, 0.0, 20.0)

# 保存PDF文檔
pdf.SaveToFile("Pdf中添加二維碼.pdf")
pdf.Close()

生成二維碼:

Spire.Barcode for Python庫支持幾十種一維和二維條碼類型,因此對于其他Spire.PDF for Python庫不支持的一維條形碼,我們也可以參考示例二提供的方法結(jié)合使用這兩個庫,先生成指定條碼圖片,再繪制到PDF頁面上。

以上就是通過python在PDF中添加條形碼和二維碼的代碼詳解的詳細(xì)內(nèi)容,更多關(guān)于python PDF添加條形碼和二維碼的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 用python實現(xiàn)五子棋實例

    用python實現(xiàn)五子棋實例

    這篇文章主要為大家詳細(xì)介紹了用python實現(xiàn)五子棋實例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Python基于隨機采樣一至性實現(xiàn)擬合橢圓(優(yōu)化版)

    Python基于隨機采樣一至性實現(xiàn)擬合橢圓(優(yōu)化版)

    這篇文章主要對上一版的Python基于隨機采樣一至性實現(xiàn)擬合橢圓的優(yōu)化,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,感興趣的可以了解一下
    2022-11-11
  • python編程進階之類和對象用法實例分析

    python編程進階之類和對象用法實例分析

    這篇文章主要介紹了python編程進階之類和對象用法,結(jié)合實例形式分析了python類和對象概念、原理、內(nèi)置函數(shù)、類的變量、繼承等相關(guān)使用技巧與注意事項,需要的朋友可以參考下
    2020-02-02
  • Django使用裝飾器限制對視圖的訪問及實現(xiàn)原理

    Django使用裝飾器限制對視圖的訪問及實現(xiàn)原理

    除了可以在視圖處理中校驗用戶身份以及驗證用戶權(quán)限之外,Django還提供了便捷的裝飾器來完成這兩類校驗,下面介紹這兩個裝飾器的使用方法與實現(xiàn)原理,對Django裝飾器限制視圖訪問相關(guān)知識感興趣的朋友一起看看吧
    2022-10-10
  • Python編程編寫完善的命令行工具

    Python編程編寫完善的命令行工具

    提到編寫命令行工具,你可能會想到用 sys.argv 或者標(biāo)準(zhǔn)庫 argparse,沒錯,這兩個很常用,不過情況復(fù)雜時沒有那么方便和高效,因此今天分享兩個工具,讓你編寫命令行工具不費吹灰之力
    2021-09-09
  • Python文件遍歷os.walk()與os.listdir()使用及說明

    Python文件遍歷os.walk()與os.listdir()使用及說明

    這篇文章主要介紹了Python文件遍歷os.walk()與os.listdir()使用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Python實現(xiàn)線程池之線程安全隊列

    Python實現(xiàn)線程池之線程安全隊列

    這篇文章主要為大家詳細(xì)介紹了Python實現(xiàn)線程池之線程安全隊列,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Python腳本支持OC代碼重構(gòu)模塊調(diào)用關(guān)系分析實踐

    Python腳本支持OC代碼重構(gòu)模塊調(diào)用關(guān)系分析實踐

    在軟件開發(fā)中,經(jīng)常會遇到一些代碼問題,例如邏輯結(jié)構(gòu)復(fù)雜、依賴關(guān)系混亂、代碼冗余、不易讀懂的命名等,這些問題可能導(dǎo)致代碼的可維護性下降,增加維護成本,同時也會影響到開發(fā)效率,本文以Python實現(xiàn)自動化的工具,支持代碼重構(gòu)過程的實踐
    2023-10-10
  • PyTorch?池化層詳解及作用介紹

    PyTorch?池化層詳解及作用介紹

    池化層是CNN中關(guān)鍵組件,主要功能包括降維、特征提取、抑制噪聲和防止過擬合,常見類型有最大池化和平均池化,全局池化則用于簡化模型結(jié)構(gòu)和提高泛化能力,本文詳細(xì)介紹了池化層的作用、種類和實現(xiàn),以及與卷積層的區(qū)別
    2024-09-09
  • Python 代碼中的 yield 關(guān)鍵字到底是什么

    Python 代碼中的 yield 關(guān)鍵字到底是什么

    yield是Python中一個強大的工具,它可以幫助你以一種高效的方式處理大量數(shù)據(jù),理解yield的工作原理對于掌握Python編程至關(guān)重要,這篇文章主要介紹了Python 代碼中的 yield 到底是什么,需要的朋友可以參考下
    2024-07-07

最新評論