我需要一个QR代码生成器,它生成21500个带有QR标记的唯一序列号,并在一个PDF文件中导出每1000个代码,因此我们将有22个PDF文件。 我怎样才能做到这一点?
答案 0 :(得分:0)
您可以用您选择的语言编写一个脚本,在循环中使用Google's QR code generator生成您需要的所有代码并将其保存为pdf。如果您需要更具体的答案,则需要提供更多详细信息。
答案 1 :(得分:0)
前段时间我使用Python,qrencode和LaTeX做了类似的事情。我修改了我的旧代码以满足您的需求。我以为你想要A4页面。 QR码的内容是PMY00001到PMY22000 ASCII字符串。
#!/usr/bin/env python
import random, base64, string, os, sys
width=7.7
height=7
print "\\documentclass[a4paper,10pt]{report}"
print "\\usepackage[absolute]{textpos}"
print "\\usepackage{nopageno}"
print "\\usepackage{graphicx}"
print "\\setlength{\\TPHorizModule}{1mm}"
print "\\setlength{\\TPVertModule}{1mm}"
print "\\textblockorigin{10mm}{10mm}"
print "\\setlength{\\parskip}{0pt}"
print "\\setlength{\\parindent}{0pt}"
print "\\setlength{\\fboxsep}{0pt}"
print "\\setlength{\\tabcolsep}{0pt}"
print "\\renewcommand{\\baselinestretch}{0.8}"
print ""
print "\\begin{document}"
idx=int(sys.argv[1])
for i in range(0,25):
for j in range(0,40):
b = 'PMY%05d' % idx
f = os.path.join("codes", b + ".png")
ff = os.popen("qrencode -lH -o " + f, "w")
ff.write(b)
ff.close()
print "\\begin{textblock}{" + str(width) + "}(" + str(width * i) + "," + str(height * j) + ")"
print "\\includegraphics[height="+str(height)+"mm]{" + f + "}"
print "\\end{textblock}"
idx=idx+1
print "\\end{document}"
要使用它,请将其写为例如qrgen.py
,添加执行权限chmod +x qrgen.py
,创建codes
目录:mkdir codes
并运行./qrgen.py 0 >codes.tex
以生成codes.tex
文档,然后pdflatex codes.tex
生成codes.pdf
文件。 0参数是起始序列号。
要获得22张这样的表格,最好使用循环:
for ((i=0;i<22;i++)); do ../qrgen.py $((i*1000+1)) >$i.tex; pdflatex $i.tex; done
当然这不是最佳解决方案 - 使用Python qrencode库绑定可以获得更快的解决方案,而不是启动外部qrencode
程序和一些用于直接从Python生成PDF而不是使用{{1 }}