首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何向html2ps添加条形码支持?

如何向html2ps添加条形码支持?
EN

Stack Overflow用户
提问于 2010-02-25 21:42:18
回答 5查看 1.7K关注 0票数 2

我们使用HTML脚本将html2ps转换为PostScript。我知道这不是最好的解决方案,但这就是这里的开发人员所做的(在我之前)。

现在我们需要实现对条形码字体的支持,条形码字体显示每个超文本标记语言,并且需要在每个转换后的PostScript文件中显示。您如何做到这一点?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-03-07 00:42:39

好的,我已经让它只适用于字体(如果需要,没有图像)。下面是如何实现的:

  • 使用您的条形码字体(我对条形码一无所知,所以我采用了Code 128免费软件TrueType字体;将其转换为Postcript (类型1)字体,扩展名为.pfa。我使用ttf来执行此转换,如下所示:打开ttf字体,选择文件>生成字体,并显示"PS Type1 (ASCII)“,然后忽略可能出现的警告。现在,我在一个名为Code128bWin.pfa.
  • Create a
  • (test.html):

的文件中拥有了PS Type1格式的字体"Code128bWin”。

  • 创建一个配置文件(这是花时间理解的;您不能将其作为内联CSS放在HTML中;它需要是html2ps的配置文件)。因此,创建一个名为config

的文件

字体系列{

- H4 : Code128bWin } @html2ps { font { Code128bWin { names:"Code128bWin";files:"Code128bWin.pfa";}

  • 因此,<h4>标记中的文本将使用codebar字体呈现。现在可以通过运行以下命令生成Postscript输出:html2ps -f config test.html > test.ps

欢迎评论!

作为附注:这显然很丑陋,但有时有必要侵入现有进程,因此我不会对操作进行评判。我认为这个解决方案满足所有约束:)

票数 6
EN

Stack Overflow用户

发布于 2010-03-06 22:00:02

所以,如果在评论中看到的是:

不能使用以前创建的图像,这些图像通过使用<img />-tag

  • you嵌入到html中无法包含其他字体来创建条形码(不起作用)

To #1:不可能,因为你不能存储图像?如果这是原因,请尝试使用在线代码创建器,例如barcodesinc:

http://www.barcodesinc.com/generator/image.php?code=Hello World&style=197&type=C128B&width=200&height=50&xres=1&font=3

示例:

如果你不能依赖外部服务提供商,网络上有免费的课程供你使用,例如Barcode Generator。在web服务器上部署,并使用像<img src="http://myserver/myscript.php?code=HelloWorld"/>这样的标记指向此脚本。html2ps支持渲染内联图像。

http://www.terryburton.co.uk/barcodewriter/上还有一个开源的postscript条形码编写器。使用html2ps后,您可以操作ps文件并嵌入条形码编写器指令,例如:

代码语言:javascript
复制
50 450 moveto (978-1-86074-271) (includetext) /isbn /uk.co.terryburton.bwipp findresource exec

#2:您能提供一个错误消息吗?您在哪个阶段遇到了问题?

嗯..。#3css:仅使用+ css (只有在所有其他都失败时才会使用)

可以使用简单的css和span-element创建条形码:

代码语言:javascript
复制
        <style>
        .barcode {
            border:5px solid white;
            background:white;
            width:310px;
            text-align:center;

        }
        .ns{
            border-left:2px solid white;
            height:30;
        }
        .nb{
            border-left:2px solid black;
            height:30;
        }
        .ws{
            border-left:5px solid white;
            height:30;
        }
        .wb{
            border-left:5px solid black;
            height:30;
        }

    </style>
<div class='barcode' id='bcx2_bc' ><span class='nb'></span><span class='ws'></span><span class='nb'></span><span class='ns'></span><span class='wb'></span><span class='ns'></span><span class='wb'></span><span class='ns'></span><span class='nb'></span><span class='ns'></span><span class='nb'></span><span class='ns'></span><span class='nb'></span><span class='ns'></span><span class='wb'></span><span class='ns'></span><span class='wb'></span><span class='ws'></span><span class='nb'></span><span class='ns'></span><span class='wb'></span><span class='ns'></span><span class='nb'></span><span class='ns'></span><span class='wb'></span><span class='ws'></span><span class='nb'></span><span class='ns'></span><span class='nb'></span><span class='ns'></span><span class='nb'></span><span class='ns'></span><span class='wb'></span><span class='ns'></span><span class='nb'></span><span class='ns'></span><span class='wb'></span><span class='ws'></span><span class='nb'></span><span class='ns'></span><span class='nb'></span><span class='ns'></span><span class='nb'></span><span class='ns'></span><span class='wb'></span><span class='ns'></span><span class='wb'></span><span class='ws'></span><span class='nb'></span><span class='ns'></span><span class='wb'></span><span class='ns'></span><span class='nb'></span><span class='ws'></span><span class='nb'></span><span class='ns'></span><span class='wb'></span><span class='ns'></span><span class='nb'></span><span class='ns'></span><span class='nb'></span><span class='ns'></span><span class='nb'></span><span class='ws'></span><span class='wb'></span><span class='ns'></span><span class='wb'></span><span class='ns'></span><span class='nb'></span><span class='ns'></span><span class='wb'></span><span class='ns'></span><span class='nb'></span><span class='ws'></span><span class='wb'></span><span class='ns'></span><span class='nb'></span><span class='ns'></span><span class='nb'></span><span class='ns'></span><span class='nb'></span><span class='ns'></span><span class='wb'></span><span class='ws'></span><span class='nb'></span><span class='ns'></span><span class='nb'></span><span class='ns'></span><span class='wb'></span><span class='ns'></span><span class='nb'></span><span class='ws'></span><span class='nb'></span><span class='ns'></span><span class='wb'></span><span class='ns'></span><span class='wb'></span><span class='ns'></span><span class='nb'></span><span class='ns'></span><br>TEST8052</div>

示例:

Barcode http://img689.imageshack.us/img689/4360/barcodeg.jpg

这段代码是使用HTML Bar Codes创建的,它也是一个php类。你可以选择

服务器通过命令行接口调用它,并将其嵌入到每个html页面的常规html中(对于动态服务器,使用cli/

  • 一次,然后将其放入硬编码的html中(只有当您的条形码不会随着每个html页面而改变时才适用)

我想不出任何其他的可能性。

票数 3
EN

Stack Overflow用户

发布于 2010-02-25 23:53:14

我发现用字体组成的条形码是一种可怕的黑客手段。我建议生成适当的PostScript:http://www.terryburton.co.uk/barcodewriter/

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

https://stackoverflow.com/questions/2334319

复制
相关文章

相似问题

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