Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

PDF::API3 and the Courier font

by talexb (Canon)
on Oct 30, 2012 at 14:14 UTC ( #1001511=perlquestion: print w/ replies, xml ) Need Help??
talexb has asked for the wisdom of the Perl Monks concerning the following question:

I'm trying to use the regular Courier font with the PDF::API3 package, but when I run this script, all I get is Courier-Oblique. The other fonts more or less work fine, but I'd really like to get a proper, ordinary monospace font.

#!/usr/bin/perl # # Test PDF::API3 for use with open source license files. use strict; use warnings; my $outputPDF = 'test.pdf'; use PDF::API3::Compat::API2; { my $pdf = PDF::API3::Compat::API2->new( -file => $outputPDF ); defined $pdf or die "Unable to create PDF file $outputPDF"; my $page = $pdf->page(); my $content = $page->text(); my ( $x, $y ) = ( 72, 720 ); for my $fontName ( qw[ trebuchet trebuchetbold trebuchetitalic trebuchetbolditalic bankgothic courier courierbold courierboldoblique courieroblique couriernew couriernewbold georgia georgiabold georgiabolditalic georgiaitalic helveticaboldoblique helveticaoblique helveticabold helvetica symbol timesbolditalic timesitalic timesroman timesbold verdana verdanabold verdanabolditalic verdanaitalic webdings wingdings zapfdingbats ] ) { my $font = $pdf->corefont($fontName); $content->font( $font, 10 ); $content->translate( $x, $y ); $content->text( 'This is the first line I have written using this module' ); $y -= 12; $content->translate( $x, $y ); $content->text("in quite a while. ($fontName)"); $y -= 12; } $pdf->save; }

Also, I notice that PDF::API3 has bugs that are 2-4 years old -- does this mean that this module isn't under active development any more?

Alex / talexb / Toronto

"Groklaw is the open-source mentality applied to legal research" ~ Linus Torvalds

Comment on PDF::API3 and the Courier font
Download Code
Re: PDF::API3 and the Courier font
by Khen1950fx (Canon) on Oct 30, 2012 at 14:58 UTC
    I believe that you're experiencing a capitalization problem. I would write the font names like this:
    #!/usr/bin/perl use strict; use warnings; use PDF::API3::Compat::API2; use PDF::API3::Compat::API2::Util; my $outputPDF = 'test.pdf'; { my $pdf = PDF::API3::Compat::API2->new( -file => $outputPDF ); defined $pdf or die "Unable to create PDF file $outputPDF"; my $page = $pdf->page(); my $content = $page->text(); my ( $x, $y ) = ( 72, 720 ); foreach my $fontName ( qw[ trebuchet trebuchetbold trebuchetitalic trebuchetbolditalic bankgothic Courier Courier-Bold Courier-BoldOblique Courier-Oblique Courier-New Courier-NewBold georgia georgiabold georgiabolditalic georgiaitalic Helvetica-BoldOblique Helvetica-Oblique Helvetica-Bold Helveti +ca Symbol Times-BoldItalic Times-Italic Times-Roman Times-Bold verdana verdanabold verdanabolditalic verdanaitalic webdings wingdings zapfdingbats ] ) { my $font = $pdf->corefont($fontName); $content->font( $font, 10 ); $content->translate( $x, $y ); $content->text( 'This is the first line I have written using this module' ); $y -= 12; $content->translate( $x, $y ); $content->text("in quite a while. ($fontName)"); $y -= 12; } $pdf->save; }
        I believe that you're experiencing a capitalization problem.

      Thanks for the suggestion -- that's one of the things I tried already. I tried it again, and no dice.

      I also tried putting a dash after 'Courier' -- all of these changes provide me with nothing but Courier Oblique.

      #!/usr/bin/perl # # Test PDF::API3 for use with open source license files. use strict; use warnings; my $outputPDF = 'test.pdf'; use PDF::API3::Compat::API2; { my $pdf = PDF::API3::Compat::API2->new( -file => $outputPDF ); defined $pdf or die "Unable to create PDF file $outputPDF"; my $page = $pdf->page(); my $content = $page->text(); my ( $x, $y ) = ( 72, 720 ); for my $fontName ( qw[ courier courierbold courierboldoblique courieroblique Courier CourierBold CourierBoldOblique CourierOblique courier courier-bold courier-boldoblique courier-oblique Courier Courier-Bold Courier-BoldOblique Courier-Oblique ] ) { my $font = $pdf->corefont($fontName); $content->font( $font, 10 ); $content->translate( $x, $y ); $content->text( 'This is the first line I have written using this module' ); $y -= 12; $content->translate( $x, $y ); $content->text("in quite a while. ($fontName)"); $y -= 12; } $pdf->save; }

      Alex / talexb / Toronto

      "Groklaw is the open-source mentality applied to legal research" ~ Linus Torvalds

Re: PDF::API3 and the Courier font
by rsmeineke (Initiate) on Nov 11, 2013 at 11:20 UTC

    talexb:

    I realize I am over a year late to this thread ... but I just did battle with this same issue.

    Have a look at this thread: http://www.perlmonks.org/index.pl?node_id=1061558

    Regards, Robert M.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1001511]
Approved by Athanasius
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (7)
As of 2014-08-29 00:14 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (275 votes), past polls