Имплементировала код из этой статьи и теперь появились проблемы с баркодом.
Баркод существует в виде True Font для Windows ("USPS Bar Code" - инсталлируемый .ttf)
То есть печатаешь какой-нибудь 9-digit ZIP-Code этим шрифтом и она тебе дает баркод как на конверте.
До имплементации этого класса, делала баркод в виде:
Code: Select all
// get and use a font object
$barcode = pdf_findfont($pdf, "USPS Bar Code", "host", 1); pdf_setfont($pdf, $barcode, 10);
// print text
pdf_show_xy($pdf, "94583-5500",250, 750);
И все работало нормально.
Как перешла на эту бибилиотеку:
Code: Select all
$pdf->setFont('USPS Bar Code', '', 10);
$pdf->text(400, 100, '94583-5500');
Никакого баркода не видать, одни цифры. Интересно почему парсер перестал распознавать установленный фонт?
Привожу оба файла целиком на всякий случай..
ДО:
Code: Select all
<?php
//include JavaScript debug library
include("inc/PHP_JS_debug.php");
// create handle for new PDF document
$pdf = pdf_new();
// open a file
pdf_open_file($pdf, "htdocs/barcode_test.pdf");
// start a new page (A4)
pdf_begin_page($pdf, 595, 842);
// get and use a font object
$times = pdf_findfont($pdf, "Times New Roman", "host", 1); pdf_setfont($pdf, $times, 10);
// print text
pdf_show_xy($pdf, "This is to test barcode",50, 750);
// get and use a font object
$barcode = pdf_findfont($pdf, "USPS Bar Code", "host", 1); pdf_setfont($pdf, $barcode, 10);
// print text
pdf_show_xy($pdf, "94583-5500",250, 750);
// end page
pdf_end_page($pdf);
// close and save file
pdf_close($pdf);
debug_msg('File is closed');
flush();
?>
ПОСЛЕ:
Code: Select all
<?php
require 'inc/PDF.php';
$pdf = &PDF::factory('p', 'a4');
$pdf->open();
$pdf->setCompression(true);
$pdf->addPage();
$pdf->setFont('Arial', 'B', 12);
$pdf->text(100, 100, 'CALIFORNIA EVIDENCE OF LIABILITY INSURANCE');
$pdf->setFont('USPS Bar Code', '', 10);
$pdf->text(400, 100, '94583-5500');
$pdf->setFont('Arial', '', 10);
$pdf->text(50, 130, 'This insurance complies with CVC $ 16056 or $ 16500.5');
$pdf->line(350, 130, 450, 130);
$pdf->image('sig.jpg', 350, 110);
$pdf->output('idcard_test.pdf');
?>
Спасибо,
Сабина
PS. Кстати нет ни у кого случаем этого фонта для USPS Bar Code? А то я забыла на работе скопировать и сейчас весь вечер теряю. В смысле не потестируешь толком на домашнем компе.