首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python Elaphe -条形码生成问题

Python Elaphe -条形码生成问题
EN

Stack Overflow用户
提问于 2014-02-24 23:55:33
回答 1查看 754关注 0票数 3

我想使用Elaphe来生成条形码。

我在一个64位的windows机器上工作。这是在Windows7,Python2.7上,我安装了Elaphe 0.6.0Ghostscript 9.10

当我运行这个简单的示例用法时,似乎什么都没有发生。条形码未显示。当我执行_.show()时,它挂起了,但是什么也没有显示出来。我必须执行KeyboardInterrupt才能返回到提示符。当我执行_.show()时,应该启动什么查看器?但是,我在Windows Task Manager中看到了一个gswin32.exe进程。

请参阅我在http://dpaste.com/hold/1653582/上的Python回溯

有没有办法查看生成的PS代码?如何排除故障?

请帮帮忙。

EN

回答 1

Stack Overflow用户

发布于 2014-08-29 16:47:42

elaphe.barcode返回的对象是一个EpsImageFile (其中EPS表示封装的PostScript),但是在调用barcode之后,它还没有运行Ghostscript将代码转换为位图图像。

您可以通过查看fp属性来转储它生成的代码--有很多这样的代码,因为它嵌入了它支持的所有不同条形码类型的完整PS库代码。所以最好是把它写到一个文件中:

代码语言:javascript
复制
b = el.barcode('qr', 'slamacow')
with open('code.eps') as outfile:
    outfile.write(b.fp.getvalue()) # fp is a StringIO instance

在该文件中,您将看到类似以下内容:

代码语言:javascript
复制
%!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或pillow是如何运行Ghostscript的,以便您可以在命令行中亲自尝试,则PIL/pillow代码的关键部分如下(来自site-packages/PIL/EpsImagePlugin.py,第84行):

代码语言:javascript
复制
# 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命令将被替换为可执行文件的路径。

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

https://stackoverflow.com/questions/21992520

复制
相关文章

相似问题

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