PDF extension for PHP (Apache2/win2000)

User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

PDF extension for PHP (Apache2/win2000)

Post by Sabina »

Сделала все по докам, но после того как убрала комментарий у
extension= php_pdf.dll из php.ini и рестартанула Апач, появляется сообщение, что php_pdf.dll cannot be found. А он сидит там, где ему и положено .../php/extensions/... :pain1:
Возможно проблема в комбинации Apache2/Win2000, якобы неустойчива. Хотя вполне возможно, что просто делаю глупую ошибку.

Планы на предмет что еще попробовать:
- добавить в php.ini строку extension_dir = С:/php/..... чтобы наверняка
- если не помогает - попробовать загрузить какую-нибудь стороннюю библиотеку для PDF на PHP. Хотя предварительный просмотр таких пакетов, а особенно их документации особого энтузиазма не вызывает :(
- попробовать загрузить экстеншн динамически через dl() (???)
- попробовать засунуть РНР конфигурационный файл в саму директорию Апача (прочла совет к comments к запискам по инсталляции на виндах на php.net)
- переинсталлировать Апач на 1.3?
* перейти на Линукс просьба не предлагать, я сама собралась это завтра делать после работы, но для офиса это решение не годится :(

Надо до завтра это дело настроить, any ideas are appreciated,
Сабина
Last edited by Sabina on 15 Apr 2004 06:02, edited 1 time in total.
User avatar
Оранжевое Небо
Уже с Приветом
Posts: 723
Joined: 17 Sep 2003 10:00

Post by Оранжевое Небо »

Засунуть php_pdf.dll в системный каталог ?
Смотри, не обломись на полдороги - товарищ "Небо"
User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Post by Sabina »

Оранжевое Небо wrote:Засунуть php_pdf.dll в системный каталог ?


Exactly. Это завтра попробую в первую очередь.

Спасибо
User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Post by Sabina »

Just some great resource I came accross:

PDF Generation Using Only PHP
http://www.zend.com/zend/tut/tutorial-PDFgen1.php
http://www.zend.com/zend/tut/tutorial-PDFgen2.php
User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Post by Sabina »



Имплементировала код из этой статьи и теперь появились проблемы с баркодом.

Баркод существует в виде 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? А то я забыла на работе скопировать и сейчас весь вечер теряю. В смысле не потестируешь толком на домашнем компе.
User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Post by Sabina »

Sabina wrote:PS. Кстати нет ни у кого случаем этого фонта для USPS Bar Code? .


filesearch.ru rules.

Сабина

Return to “Вопросы и новости IT”