Link to home
Start Free TrialLog in
Avatar of muntel
muntelFlag for Romania

asked on

PHP and PDF: problem with font metrics data

Hi there, PHP gurus! Urgent help needed here (before I throw this wicked machine off the window:))

My application is supposed to generate a .pdf file containting some product identification data and the corresponding barcode for the product.

I have installed the Free3of9Extended font on my machine (I'm running PHP 4.3.4 with Apache on Win98) and it works just fine with HTML or MS Word (i.e. I can see and print the barcodes), but when I try using it in a PHP-generated .pdf file, I get this error:

"Fatal error: PDFlib error: Metrics data for font 'Free3of9Extended' not found in c:\localsite\test.php on line 13"

My elementary testing code looks like this:

<?php
$pdf = pdf_new();
pdf_set_parameter($pdf, "resourcefile", "c:\php\pdf-related\pdflib.upr");
pdf_open_file($pdf, "dummy.pdf");
pdf_begin_page($pdf, 595, 842);
$myfont = pdf_findfont($pdf, "Free3of9Extended", "host", 1);
pdf_setfont($pdf, $myfont, 10);
pdf_show_xy($pdf, "2453453452345", 50, 750);
pdf_end_page($pdf);
pdf_close($pdf);
?>

I have specified the afm and pfm filename for my font in the pdflib.upr file:
FontAFM
Free3of9Extended=New_____.afm
...
FontPFM
Free3of9Extended=New_____.pfm

(new_____.* are the corresponding filenames for the afm and pfm barcode font files)

I still can't get rid of the "Metrics data for font 'Free3of9Extended' not found" error message. Note that other fonts (such as Arial) work just fine.

What else do I have to do? What am I overlooking here?

Thanks guys/gals!
Avatar of techtonik
techtonik

No idea. Could you try latest PDFlib from http://www.pdflib.com/products/pdflib4/download/PHP-4.3.0/pdflib-4.0.3-Windows-php430.zip or version 5 http://www.pdflib.com/products/pdflib/index.html

I've got some crashes with PDFlib, which comes with PHP 4.3.4
Avatar of muntel

ASKER

Thank you for answering, techtonik. I gave it a try with the new version of PDFlib, but I still get the same error.

I don't think my problem has anything to do with PDFlib, it may have something to do with the font I'm using (barcode 3 of 9). Does anybody have some experience with using fonts in PDF files? Anyone, please?
Avatar of muntel

ASKER

It's OK, I've solved the problem. I switched from Type 1 to True Type for my barcode fonts and everything works fine.

I modified the pdflib.upr file accordingly:

FontOutline
Free 3 of 9 = Free3of9.ttf

Now things work just the way they should.

I'd like a refund on my points, if that's possible, please. Thanks!
ASKER CERTIFIED SOLUTION
Avatar of Netminder
Netminder

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial