Solved

PHP and PDF: problem with font metrics data

Posted on 2004-04-13
6
3,542 Views
Last Modified: 2013-12-13
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!
0
Comment
Question by:muntel
  • 2
  • 2
6 Comments
 
LVL 9

Expert Comment

by:techtonik
Comment Utility
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
0
 

Author Comment

by:muntel
Comment Utility
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?
0
 

Author Comment

by:muntel
Comment Utility
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!
0
 
LVL 9

Expert Comment

by:techtonik
Comment Utility
Agreed. =)
You should make a request as it stated here.
http://www.experts-exchange.com/Web/Web_Languages/PHP/PHP_Windows/help.jsp#hi70
0
 
LVL 5

Accepted Solution

by:
Netminder earned 0 total points
Comment Utility
User resolved; closed, 125 points refunded.

Netminder
Site Admin
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Generating table dynamically is the most common issue faced by php developers.... So it seems there is a need of an article that explains the basic concept of generating tables dynamically. It just requires a basic knowledge of html and little maths…
These days socially coordinated efforts have turned into a critical requirement for enterprises.
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now