当前位置: 代码网 > it编程>前端脚本>Python > 通过python在PDF中添加条形码和二维码的代码详解

通过python在PDF中添加条形码和二维码的代码详解

2024年08月15日 Python 我要评论
引言在pdf中添加条码是一个常见需求,特别是在需要自动化处理、跟踪或检索pdf文件时。作为一种机器可读的标识符,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条码。

主要步骤:

  1. 新建pdf文档并添加页面;
  2. 在pdf页面上绘制文本;
  3. 创建 pdfcodabarbarcode 对象,然后使用其 draw()方法将codabar条码绘制到页面指定位置
  4. 创建 pdfcode39barcode 对象,然后使用其draw()方法将code39条码绘制到页面指定位置
  5. 保存pdf文件。

python 代码:

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页面上。

主要步骤:

  1. 使用python条码库生成二维码图片;
    • 创建 barcodesettings 对象,然后使用其type属性将条码类型设置为二维码qrcode
    • 设置二维码的数据、宽度、纠错级别、以及是否显示文本等
    • 基于以上设置创建 barcodegenerator 对象,然后使用其 generateimage() 方法生成二维码图片
  2. 将生成的二维码图片保存为png图片;
  3. 使用python pdf库将二维码图片绘制到pdf中;
    • 创建pdf文档,并添加一页
    • 加载二维码图片,然后使用 drawimage() 方法将二维码绘制到pdf页面指定位置处
  4. 保存pdf文档。

python 代码:

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中添加条形码和二维码的代码详解的详细内容,更多关于python pdf添加条形码和二维码的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com