отображать штрих-код с помощью Zend_PDF

Привет, ребята,

как я могу отобразить штрих-код с помощью Zend_PDF?

это мой код:

  $config = new Zend_Config(array(
                'barcode'        => 'code39',
                'barcodeParams'  => array('text' => '11020109'),
                'renderer'       => 'image',
                'rendererParams' => array('imageType' => 'gif'),
             ));
  $renderer = Zend_Barcode::factory($config)->render();

теперь, как я могу сделать это в свой pdf? я безуспешно пытаюсь:

$barcode = Zend_Pdf_Image::imageWithPath($renderer);
$page->drawImage($barcode, 10, 510, 290, 550); 

Благодарность


person jack.cap.rooney    schedule 16.11.2011    source источник


Ответы (1)


Следующее должно помочь вам, есть 3 вещи, которые вы должны изменить: ваш рендерер, ваш метод рендеринга штрих-кода в pdf и по какой-то неясной причине вы должны включить шрифт в свой Zend_Barcode, иначе вы получите сообщение об ошибке.

$pdf = new Zend_Pdf();

// Your font (path might differ)
Zend_Barcode::setBarcodeFont(APPLICATION_PATH . '\..\data\resources\fonts\arial.ttf'); 

$config = new Zend_Config(
    array(
        'barcode'        => 'code39',
        'barcodeParams'  => array('text' => '11020109'),
        'renderer'       => 'pdf', // here is your new renderer
        'rendererParams' => array(), // you can define position offset here
    )
);

$pdfWithBarcode = Zend_Barcode::factory($config)->setResource($pdf)->draw(); // your new barcode renderer is defined here, from now on to add things to your pdf you need to use the new variable ($pdfWithBarcode)

// Save your pdf (path might differ)
$pdfWithBarcode->save(APPLICATION_PATH . '\..\data\testBarcode.pdf'); 
person JF Dion    schedule 16.11.2011
comment
я пытаюсь это сделать, но получаю эту ошибку: нулевой символ не разрешен в именах PDF - person jack.cap.rooney; 17.11.2011
comment
Шрифт, который вы устанавливаете для своего Zend_Barcode, существует по указанному вами пути? - person JF Dion; 17.11.2011
comment
у вас есть специальные символы в имени выходного файла? - person JF Dion; 17.11.2011
comment
думаю нет.. $pdf->save(fogliovendita.pdf); - person jack.cap.rooney; 17.11.2011
comment
Последняя строка неверна: $pdfWithBarcode — это экземпляр Zend_Barcode_Renderer_Pdf, и вам нужен Zend_Pdf. Я думаю, вы имели в виду $pdf-›save(...); или, может быть, API изменился за это время (я смотрю на zf 1.12) - person paul.ago; 02.05.2013