elaphe.barcode
返回的對象是EpsImageFile
(其中EPS表示封裝PostScript),但在調用barcode
之後,它尚未運行Ghostscript將代碼轉換爲位圖圖像。
您可以通過查看fp
屬性來轉儲它生成的代碼 - 它有很多,因爲它爲所有支持的不同條形碼類型嵌入了完整的PS庫代碼。因此,這可能是最好的寫出來一個文件:
b = el.barcode('qr', 'slamacow')
with open('code.eps') as outfile:
outfile.write(b.fp.getvalue()) # fp is a StringIO instance
在該文件中,你會看到這樣的內容:
%!PS-Adobe-2.0
%%Pages: (attend)
%%Creator: Elaphe powered by barcode.ps
%%BoundingBox: 0 0 42 42
%%LanguageLevel: 2
%%EndComments
% --BEGIN RESOURCE preamble--
... A whole lot of included library ...
% --END ENCODER hibccodablockf--
gsave
0 0 moveto
1.000000 1.000000 scale
<74686973206973206d792064617461>
<>
/qrcode /uk.co.terryburton.bwipp findresource exec
grestore
showpage
如果你想看看PIL或枕頭運行Ghostscript的,所以你可以自己在命令行試試吧,關鍵部件從PIL /枕頭代碼是這樣(從site-packages/PIL/EpsImagePlugin.py
,行84):
# Build ghostscript command
command = ["gs",
"-q", # quiet mode
"-g%dx%d" % size, # set output geometry (pixels)
"-r%d" % (72*scale), # set input DPI (dots per inch)
"-dNOPAUSE -dSAFER", # don't pause between pages, safe mode
"-sDEVICE=ppmraw", # ppm driver
"-sOutputFile=%s" % outfile, # output file
"-c", "%d %d translate" % (-bbox[0], -bbox[1]),
# adjust for image origin
"-f", infile, # input file
]
但在Windows上gs
命令將次被替換e可執行文件的路徑。