【发布时间】:2013-06-05 21:09:40
【问题描述】:
我一直在寻找 128 格式条形码的字体,以便使用 PDFlib 放置在 PDF 中。 Iv 到处找,似乎找不到适合我的扫描仪的。尝试扫描时似乎无法识别条形码。
我使用了 code128.tff、ADVC128C.TFF 和 ADVC128B.ttf 字体,虽然它们似乎在输出条形码,但似乎没有扫描仪识别它。有没有人对此有任何运气,或者你知道我在哪里可以找到更多字体来试用。
以下是我的代码。
$p = new PDFlib();
$p->set_option("errorpolicy=return");
$p->set_option("stringformat=utf8");
if ($p->begin_document($outfile, "") == 0)
throw new Exception("Error: " . $p->get_errmsg());
/* Start page */
$p->begin_page_ext(0, 0, "width=300 height=300");
$p->set_option("FontOutline={Code128bWin=/data/Code128bWin.ttf}");
$font = $p->load_font("Code128bWin", "unicode", "");
if ($font == 0)
throw new Exception("Error: " . $p->get_errmsg());
$p->setfont($font, 20);
$p->fit_textline("B546546546546", $x, $y-=20, "");
$p->set_option("FontOutline={Code128bWinLarge=/data/Code128bWinLarge.ttf}");
$font = $p->load_font("Code128bWinLarge", "unicode", "");
if ($font == 0)
throw new Exception("Error: " . $p->get_errmsg());
$p->setfont($font, 20);
$p->fit_textline("B546546546546", $x, $y-=60, "");
/* Finish page */
$p->end_page_ext("");
$p->end_document("");
$buf = $p->get_buffer();
$len = strlen($buf);
header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=font_resource.pdf");
print $buf;
这实际上输出了一个条形码,但扫描仪无法读取
【问题讨论】:
-
您是否正确编码了条形码数据。你可以试试zend_barcode来帮助你
-
一些代码会有所帮助,以防你错过了其他人可能会捡到的东西。