2012-08-10 11 views
0

QR 스탬프로 21500 개의 고유 일련 번호를 생성하는 QR 코드 생성기가 필요하며 하나의 PDF 파일에 1000 개의 코드를 모두 내 보내면 22 개의 PDF 파일이 생성됩니다. 어떻게하면됩니까?연속 QR 코드 생성기

답변

0

얼마 전에 파이썬을 사용하여 비슷한 것을했습니다. 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 

이 최적의 솔루션이 아닙니다 물론이 - 당신은 아마 파이썬 qrencode 라이브러리 바인딩을 사용하는 대신 외부 qrencode을 시작 훨씬 빠른 하나를 얻을 수 있습니다 프로그램과 일부 라이브러리는 pdflatex 대신 직접 파이썬에서 PDF를 생성합니다.

0

을 루프로 사용하는 언어로 원하는 스크립트를 작성하여 필요한 모든 코드를 생성하고 pdf에 저장할 수 있습니다. 보다 구체적인 답변이 필요한 경우 자세한 내용을 제공해야합니다.

+0

안녕하세요. 회신 해 주셔서 감사합니다. – ronymattar

+0

이것을 쓰고 싶은 특정 언어가 있습니까? 네가 원하는 걸 혼란 스럽다. –

+0

안녕하세요. 회신 해 주셔서 감사합니다. 다음을 확인한 경우 : http://popemeetyouth.org/images/card.jpg 인쇄하고자하는 카드입니다. 인쇄기에 일련 번호와 QR 코드를 제공하면됩니다. 일련 번호는 PMY00001이어야합니다. PMY21500까지 – ronymattar