通过Python在PDF中添加条形码和二维码的代码详解!
通过Python在PDF中添加条形码和二维码的代码详解!
引言
在PDF中添加条码是一个常见需求,特别是在需要自动化处理、跟踪或检索PDF文件时。作为一种机器可读的标识符,PDF中的条码可以包含各种类型的信息,如文档的唯一标识、版本号、日期等。以下是一篇关于如何使用Python在PDF中添加条形码或二维码的文章。
所需Python库
Spire.PDF for Python 库:用于在PDF文件中直接绘制条形码,支持多种一维条码类型,如 Codabar, Code11, Code32, Code39, Code93等。
由于Spire.PDF for Python只支持创建一维条码,如果需要在PDF中添加二维码,我们还需要结合Spire.Barcode for Python库。
这两个Python库可以通过下面的pip 命令进行安装:
pip install Spire.Pdf
pip install Spire.Barcode
Python 在PDF 文档中添加条形码
Spire.PDF for Python库提供了不同的类来代表不同的一维条码类型,该示例将演示如何使用该库在PDF中绘制常见的Codabar和Code39条码。
主要步骤:
- 新建PDF文档并添加页面;
- 在PDF页面上绘制文本;
- 创建
PdfCodabarBarcode
对象,然后使用其Draw()
方法将Codabar条码绘制到页面指定位置 - 创建
PdfCode39Barcode
对象,然后使用其Draw()
方法将Code39条码绘制到页面指定位置 - 保存PDF文件。
Python 代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
from spire.pdf.common import * from spire.pdf import * # 创建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 # 创建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 # 创建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页面上。
主要步骤:
- 使用Python条码库生成二维码图片;
- 创建
BarcodeSettings
对象,然后使用其Type属性将条码类型设置为二维码QRCode - 设置二维码的数据、宽度、纠错级别、以及是否显示文本等
- 基于以上设置创建
BarCodeGenerator
对象,然后使用其GenerateImage()
方法生成二维码图片
- 创建
- 将生成的二维码图片保存为PNG图片;
- 使用Python PDF库将二维码图片绘制到PDF中;
- 创建PDF文档,并添加一页
- 加载二维码图片,然后使用
DrawImage()
方法将二维码绘制到PDF页面指定位置处
- 保存PDF文档。
Python 代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
from spire.pdf.common import * from spire.pdf import * from spire.barcode import * # 创建BarcodeSettings对象 settings = BarcodeSettings() # 设置条码类型为QRCode settings. Type = BarCodeType.QRCode # 设置条码数据、宽度、纠错级别等 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) # 创建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库不支持的一维条形码,我们也可以参考示例二提供的方法结合使用这两个库,先生成指定条码图片,再绘制到PDF页面上。
以上就是通过python在PDF中添加条形码和二维码的代码详解的详细内容。
学习资料见知识星球。
以上就是今天要分享的技巧,你学会了吗?若有什么问题,欢迎在下方留言。
快来试试吧,小琥 my21ke007。获取 1000个免费 Excel模板福利!
更多技巧, www.excelbook.cn
欢迎 加入 零售创新 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;
1、价值上万元的专业的PPT报告模板。
2、专业案例分析和解读笔记。
3、实用的Excel、Word、PPT技巧。
4、VIP讨论群,共享资源。
5、优惠的会员商品。
6、一次付费只需99元,即可下载本站文章涉及的文件和软件。
共有 0 条评论