如何使用示例49和serializeTCPDFtagParameters而不是write1DBarcode将TCPDF条形码放在html表中?

时间:2015-05-22 17:51:47

标签: php html barcode tcpdf

我需要打印许多1D和2D条形码,并将它们放在html格式的文档中。环顾四周,我发现使用TCPDF方法是可行的,实际上No.49给出了解决方案。

$params = $pdf->serializeTCPDFtagParameters(array('CODE 128', 'C128', '', '', 80, 30, 0.4, array('position'=>'S', 'border'=>true, 'padding'=>4, 'fgcolor'=>array(0,0,0), 'bgcolor'=>array(255,255,255), 'text'=>true, 'font'=>'helvetica', 'fontsize'=>8, 'stretchtext'=>4), 'N'));
$html .= '<tcpdf method="write1DBarcode" params="'.$params.'" />';

但是,在我自己的PHP脚本上实现时,不会呈现条形码。我创建了一个test.php文件,其中只剪切并粘贴了整个49个示例php代码,然后再次显示$ html内容,但没有用$ params定义的任何内容。
但同样,我放置了这个

 $pdf->write1DBarcode(...)

并且工作完美,按预期呈现条形码,但您可能知道,这不是将条形码放在许多html表格中的方法。

任何想法?,我正在使用在Debian 7服务器上运行的PHP 5.6,TCPDF最新版本。另外我无法导入 tcpdf_include.php ,因为它来自examples文件夹,而是使用了 tcpdf.php ,一切正常。

同样,为了澄清,我可以使用 write2DBarcode()方法生成1D和2D条形码,但不能使用 generateserializeTCPDFtagParameters()方法生成条形码,建议的一个将条形码放在html中,如例49所示。

根据@taxicali的要求,这是一个示例输出,适用于需要准确条形码的本地包裹公司,以便扫描仪快速读取。

3 个答案:

答案 0 :(得分:5)

Sample of a barcodes sheet generated by TCPDF

我刚刚解决了这个问题,顺便说一下这可能是个常见问题: 我刚刚复制了位于此处的tcpdf_config.php文件:

/tcpdf/
      examples/
              config/

并粘贴在这里:

/tcpdf/
      config/

不再是,它只是一个依赖问题。

答案 1 :(得分:3)

要使用tcpdf html标记,您需要设置常量&#39; K_TCPDF_CALLS_IN_HTML&#39;到了&#39; TRUE&#39;在tcpdf_config.php文件中,如示例在红色顶部所示

https://tcpdf.org/examples/example_049/

/**
 * If true allows to call TCPDF methods using HTML syntax
 * IMPORTANT: For security reason, disable this feature if you are printing user HTML content.
 */
define('K_TCPDF_CALLS_IN_HTML', true);

答案 2 :(得分:0)

如果没有完整的代码,可能很难解决这个问题,我前段时间曾使用过PDF和条形码,并且遇到了很多问题,很多问题让我很难理解。 有人认为我不得不问,你的TCPDF是否带有字体文件?我想也许你不包括字体文件,因此你不能渲染条形码,因为它应该被渲染,另一件好事就是你向我们展示了你得到后期渲染的输出。