【发布时间】:2014-12-15 22:40:21
【问题描述】:
我尝试使用QrCode for Python 生成一个二维码,并且我尝试将其用于很多对象,那么有没有任何自动方法可以将生成的大量图像分组到一个组中,例如,这将是可能的,打印它(而不是手动将它们分组到 A4 纸中)。
【问题讨论】:
标签: python python-imaging-library qr-code pillow
我尝试使用QrCode for Python 生成一个二维码,并且我尝试将其用于很多对象,那么有没有任何自动方法可以将生成的大量图像分组到一个组中,例如,这将是可能的,打印它(而不是手动将它们分组到 A4 纸中)。
【问题讨论】:
标签: python python-imaging-library qr-code pillow
如果您将 PNG 文件导出到某个地方,您可以轻松地再次读取它们并将其打印为 PDF。有一个名为 reportlab 的库非常棒,因为它支持图像绘制。
所以我在这里提供一个示例代码:
我正在生成一个 PNG 文件,然后我将它放在画布上,您可以随意更改大小和分组。
from reportlab.pdfgen import canvas
from reportlab.lib.units import inch, cm
#Create A QR-Code
import qrcode
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10,
border=4,
)
qr.add_data('Some data')
qr.make(fit=True)
img = qr.make_image()
image_file = open("test.png",'w+')
img.save(image_file, "PNG")
#Draw the generated Code on a PDF Canvas
c = canvas.Canvas('ex.pdf')
#Add Single Images
#c.drawImage('test.png', 0, 0, 10*cm, 10*cm)
#c.drawImage('test.png', 10*cm, 10*cm, 10*cm, 10*cm)
#Add Images in a loop
for x in range (0, 3):
for y in range (0, 3):
c.drawImage('test.png', x*10*cm, y*10*cm, 10*cm, 10*cm)
c.showPage()
c.save()
【讨论】:
创建您需要的总大小的图像,然后使用paste 将每个 QR 图像放入主图像。 box 参数用于指定在主图像中定位 QR 的左上角坐标。
【讨论】: