как написать штрих-код в формате html при использовании tcpdf

Я использую 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.


person JewelThief    schedule 10.05.2010    source источник


Ответы (5)


Вы можете написать методы 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

person Sanjeev Chauhan    schedule 21.07.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.

person Nicola Asuni    schedule 27.09.2011

Вы можете указать свой номер штрих-кода как поддельный 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);
        }
person Truman Leung    schedule 20.08.2010

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

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

person Jonathan Oliver    schedule 13.10.2011

Я попробовал следующее, и это сработало:

$params = $pdf->serializeTCPDFtagParameters(
    array('https://tcpdf.org/', 'QRCODE,H', '', '', 27, 27, '', 'N')
);

$html .= '<tcpdf method="write2DBarcode" params="'.$params.'" />';
person Cherry Chan    schedule 12.03.2021