Python 在PDF中添加条形码、二维码

打印 上一主题 下一主题

主题 917|帖子 917|积分 2751

在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. from spire.pdf.common import *
  2. from spire.pdf import *
  3. # 创建PDF文件
  4. pdf = PdfDocument()
  5. # 添加页面
  6. page = pdf.Pages.Add(PdfPageSize.A4())
  7. y = 20.0
  8. # 在页面上绘制文本
  9. font = PdfTrueTypeFont("Arial", 12.0, PdfFontStyle.Bold, True)
  10. text = PdfTextWidget()
  11. text.Font = font
  12. text.Text = "Codabar:"
  13. result = text.Draw(page, 0.0, y)
  14. page = result.Page
  15. y = result.Bounds.Bottom + 2
  16. # 创建PdfCodabarBarcode对象,并将Codabar条码绘制到页面上
  17. Codabar = PdfCodabarBarcode("00:12-3456/7890")
  18. Codabar.BarcodeToTextGapHeight = 1.0
  19. Codabar.EnableCheckDigit = True
  20. Codabar.ShowCheckDigit = True
  21. Codabar.TextDisplayLocation = TextLocation.Bottom
  22. Codabar.TextColor = PdfRGBColor(Color.get_Green())
  23. Codabar.Draw(page, PointF(0.0, y))
  24. y = Codabar.Bounds.Bottom + 8
  25. # 在页面上绘制文本
  26. text.Text = "Code39:"
  27. result = text.Draw(page, 0.0, y)
  28. page = result.Page
  29. y = result.Bounds.Bottom + 2
  30. # 创建PdfCode39Barcode对象,并将Code39条码绘制到页面上
  31. Code39 = PdfCode39Barcode("ABC-012689")
  32. Code39.BarcodeToTextGapHeight = 1.0
  33. Code39.TextDisplayLocation = TextLocation.Bottom
  34. Code39.TextColor = PdfRGBColor(Color.get_Green())
  35. Code39.Draw(page, PointF(0.0, y))
  36. # 保存PDF文档
  37. pdf.SaveToFile("PDF中添加条形码.pdf")
  38. pdf.Close()
复制代码

 
 
Python 在PDF文档中添加二维码

该示例中我们需要先借助Spire.Barcode for Python库来生成二维码图片,然后再使用Spire.PDF for Python库将二维码图片绘制到PDF页面上。
重要步骤:

  • 创建 BarcodeSettings 对象,然后使用其 Type 属性将条码范例设置为二维码QRCode
  • 设置二维码的数据、宽度、纠错级别、以及是否显示文本等
  • 基于以上设置创建 BarCodeGenerator 对象,然后使用其 GenerateImage() 方法生成二维码图片
  • 将生成的二维码图片保存为PNG图片;
  • 创建PDF文档,并添加一页
  • 加载二维码图片,然后使用 DrawImage() 方法将二维码绘制到PDF页面指定位置处
  • 保存PDF文档。
 
Python 代码:
  1. from spire.pdf.common import *
  2. from spire.pdf import *
  3. from spire.barcode import *
  4. # 创建BarcodeSettings对象
  5. settings = BarcodeSettings()
  6. # 设置条码类型为QRCode
  7. settings.Type = BarCodeType.QRCode
  8. # 设置条码数据、宽度、纠错级别等
  9. settings.Data = "ABCD12345"
  10. settings.Data2D = "ABCD12345"
  11. settings.X = 2
  12. settings.QRCodeECL = QRCodeECL.M
  13. settings.ShowTextOnBottom = True
  14. # 生成二维码图片
  15. barCodeGenerator = BarCodeGenerator(settings)
  16. QRimage = barCodeGenerator.GenerateImage()
  17. # 将二维码图片保存为PNG文件
  18. with open("QRCode.png", "wb") as file:
  19.     file.write(QRimage)
  20. # 创建PDF文档
  21. pdf = PdfDocument()
  22. # 添加页面
  23. page = pdf.Pages.Add()
  24. # 将二维码图片绘制到PDF页面上
  25. pdfImage = PdfImage.FromFile("QRCode.png")
  26. page.Canvas.DrawImage(pdfImage, 0.0, 20.0)
  27. # 保存PDF文档
  28. pdf.SaveToFile("Pdf中添加二维码.pdf")
  29. pdf.Close()
复制代码

 
Spire.Barcode for Python库支持几十种一维和二维条码范例,因此对于其他Spire.PDF for Python库不支持的一维条形码,我们也可以参考示例二提供的方法团结使用这两个库,先生成指定条码图片,再绘制到PDF页面上。
 
* 对于生成文档中的警告信息,可以点击自行申请一个月免费授权试用:
https://www.e-iceblue.cn/misc/temporary-license.html

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

西河刘卡车医

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表