首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >串行二维码发生器

串行二维码发生器
EN

Stack Overflow用户
提问于 2012-08-10 22:39:39
回答 2查看 3.9K关注 0票数 0

我需要一个二维码生成器,生成21500个唯一的序列号与二维码戳,并导出每1000码的一个PDF文件,所以我们将有22个PDF文件。我该怎么做呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-10 23:25:16

不久前,我使用Python、qrencode和LaTeX做过类似的事情。我已经修改了我的旧代码以满足您的需求。我以为你想要A4页面。二维码的内容是从PMY00001到PMY22000的ASCII字符串。

代码语言:javascript
运行
复制
#!/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个这样的表,最好使用循环:

代码语言:javascript
运行
复制
for ((i=0;i<22;i++)); do ../qrgen.py $((i*1000+1)) >$i.tex; pdflatex $i.tex; done

当然,这不是最好的解决方案--你可以使用Python qrencode库绑定,而不是启动外部qrencode程序和一些库,直接从Python生成PDF,而不是使用pdflatex,这样可能会更快。

票数 0
EN

Stack Overflow用户

发布于 2012-08-10 22:45:29

您可以用自己选择的语言编写脚本,在循环中使用Google's QR code generator生成所需的所有代码,并将它们保存为pdf。如果你需要一个更具体的答案,你需要提供更多的细节。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11903967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档