in reply to Re^3: External font with PDF::API2::Simple
in thread External font with PDF::API2::Simple

I'd like to clarify this thread since it wasn't conclusive, and it's the only thread that I found with this issue. I stumbled upon the same issue, and the documentation isn't clear. First PDF::API2::Simple does NOT support different encoding other than the default 8-bit encoding. PDF::API2 does support unicode, but you cannot load a corefont to the PDF and then do add it using $PDF->add_font() since it's a PDF::API2::Simple method, and it can't handle different encodings. PDF::API2::Simple only allows you to load external fonts, but only with 8 bit encoding. To use different encodings you have to use the full PDF::API2 module. The best doc for a pdf newb that I found was the following: http://pdfapi2.sourceforge.net/pdfapi2_for_fun_and_profit_APW2005.pdf Cheers, Speedy G
  • Comment on Re^4: External font with PDF::API2::Simple

Replies are listed 'Best First'.
Re^5: External font with PDF::API2::Simple
by Ruilong Deng (Initiate) on Dec 13, 2014 at 12:05 UTC
    I have suffered the issue for adding Chinese font to my PDF document, i tried with the tutorial of the model, and it worked perfectly. But we need to put the add_font method after add_page(), otherwise the error will be same as we mentioned in this thread. Here is my code.
    use PDF::API2::Simple; use Encode; use Gaia::Common::Utils; my $pdf = PDF::API2::Simple->new( file => 'root/tmp/foo.pdf', width => 595, height => 842 ); my $font = $pdf->pdf->ttfont('root/statics/font/stsong.ttf'); $pdf->add_page(); $pdf->add_font('', $font, '12' ); # note this line need to be after ab +ove line. $str = "欢迎进入Perl的世界 H +ello World"; $str = decode("utf-8", $str); #$str = encode("utf-8", $str); # Count $pdf->text( $str, x => 100, y => 700, font_size => 12, ); $pdf->save();
Re^5: External font with PDF::API2::Simple
by zentara (Cardinal) on Apr 28, 2012 at 11:06 UTC