Как написать штрих-код в формате HTML при использовании tcpdf - PullRequest
1 голос
/ 10 мая 2010

Я использую TCPDF для создания PDF-файла, используя следующую команду

$pdf->writeHTML($htmlcontent, true, 0, true, 0);

TCPDF также позволяет создавать штрих-код с помощью следующих команд

$pdf->Cell(0, 0, 'C39+', 0, 1);
$pdf->write1DBarcode('Code 39', 'C39+', '', '', 80, 15, 0.4, $style, 'N');
$pdf->Ln();

Я хочу иметь возможность писать штрих-код как часть HTML-кода выше. Есть ли простой способ?

Я потенциально могу вызвать изображение штрих-кода в приведенном выше коде writeHTML, но не уверен, как использовать вышеуказанную функцию штрих-кода (или любую другую в TCPDF), которая позволила бы мне создать изображение и затем передать это изображение в генерацию HTML.

Ответы [ 4 ]

13 голосов
/ 21 июля 2011

Вы можете написать методы TCPDF в HTML как показано ниже

<?php
$params = $pdf->serializeTCPDFtagParameters(array('40144399300102444888207482244309', 'C128C', '', '', 0, 0, 0.2, array('position'=>'S', 'border'=>false, 'padding'=>4, 'fgcolor'=>array(0,0,0), 'bgcolor'=>array(255,255,255), 'text'=>false, 'font'=>'helvetica', 'fontsize'=>8, 'stretchtext'=>2), 'N'));    
$str='<table cellspacing="0" cellpadding="1" border="0">            
<tr> 
    <td align="left">barcode</td>
</tr>
<tr> 
    <td align="center" style="padding-left:5px;">';
    $str .= '<tcpdf method="write1DBarcode" params="'.$params.'" />';
    $str .='</td>
</tr>
</table>';

$pdf->writeHTML($str,true, false,false,false,'left');
$pdf->Output('example_049.pdf', 'I');
?>

Для получения подробной информации, пожалуйста, проверьте TCPDF example_049.php

8 голосов
/ 27 сентября 2011

Классы штрих-кодов TCPDF уже содержат методы для экспорта штрих-кодов в различных форматах (SVG, PNG и HTML).

2D пример:

require_once(dirname(__FILE__).'/2dbarcodes.php');
$barcodeobj = new TCPDF2DBarcode('http://www.tcpdf.org', 'QRCODE,H');

// export as SVG image
//$barcodeobj->getBarcodeSVG(3, 3, 'black');

// export as PNG image
//$barcodeobj->getBarcodePNG(3, 3, array(0,128,0));

// export as HTML code
echo $barcodeobj->getBarcodeHTML(3, 3, 'black');

1D пример:

require_once(dirname(__FILE__).'/barcodes.php');
$barcodeobj = new TCPDFBarcode('123456', 'C128');

// export as SVG image
//$barcodeobj->getBarcodeSVG(2, 30, 'black');

// export as PNG image
//$barcodeobj->getBarcodePNG(2, 30, array(0,128,0));

// export as HTML code
echo $barcodeobj->getBarcodeHTML(2, 30, 'black');

Для получения дополнительной информации см. Документацию и примеры на http://www.tcpdf.org.

2 голосов
/ 20 августа 2010

Вы можете поместить свой номер штрих-кода в поддельный тег HTML, а затем проанализировать этот тег, когда вы записываете HTML, как в этом примере.

Это будет в вашем HTML:

some HTML.... <POSTNET>12345-1234</POSTNET> ....some more HTML

Это код для анализа поддельного тега.

        // look to see if there is a POSTNET tag
        if (strpos($letter_html, "<POSTNET>") !== false) {
            $postnet_pre = explode("<POSTNET>", $letter_html);
            $this->WriteHTML($postnet_pre[0], $this->line_height);

            // write the barcode
            $postnet_post = explode("</POSTNET>", $postnet_pre[1]);
            $zip_code = $postnet_post[0];
            $this->write1DBarcode($zip_code, 'POSTNET', '', '', 80, 15, 0.4, $style, 'N');

            // write rest of the letter
            $this->WriteHTML($postnet_post[1], $this->line_height);

        } else {

            // no POSTNET so just write the whole letter
            $this->WriteHTML($letter_html, $this->line_height);
        }
0 голосов
/ 13 октября 2011

При создании штрих-кода убедитесь, что вы заключили 12-значную точку доставки внутри символа «косая черта». В большинстве шрифтов POSTNET символ косой черты отображается как «управляющий» символ, который до / после исправляет значения штрих-кода. Без этих управляющих символов штрих-код технически недействителен.

Можно загрузить шрифт POSTNET в формате TrueType.

...