Finding examples of working with TrueType Fonts in API2 is like pulling teeth. I know I lost a few trying to get the thing to work. Turns out, embedding a TTF into a PDF isn't that difficult. This isn't a tutorial, but it should help some of you out there!
#!/usr/local/bin/perl use strict; use CGI; use PDF::API2; ## This was designed to be output via a web server. my $q = new CGI; print $q->header('application/pdf'); my $pdf = PDF::API2->new(-file => "$$.test"); my $page = $pdf->page; ## Create a new page. my $txt = $page->text; ## Text Layer $txt->compress; ## Create standard font references. my $HelveticaBold = $pdf->corefont('Helvetica-Bold'); my $Georgia = $pdf->corefont('Georgia-Italic', -encode=>'latin1'); ## And embed a TTF ## This assumes the "broadvie.TTF" file is in the same directory ## as this script. my $BroadView = PDF::API2::TrueTypeFont->new_api($pdf, 'broadvie.TTF'); my $y = 740; my $x = 100; $txt->font($HelveticaBold, 14); ## set font $txt->translate($x,$y); ## set insert location $txt->text_center("Helvetica Bold, 14"); ## insert text $y-=20; $txt->font($Georgia, 12); $txt->translate($x,$y); $txt->text_center("Georgia, 12"); $y -= 20; $txt->font($BroadView, 12); ## this works just like the corefonts. $txt->translate($x,$y); $txt->text_center("BroadView, 12"); $y -= 20; $pdf->finishobjects($page,$txt); $pdf->saveas; $pdf->end(); open (OUT, "$$.test"); while (){print} close OUT;
If anyone out there has successfully done Cyrllic; please let me know!