略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: PDF_setfont

2024-05-06

PDF_setfont

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_setfontSet font

说明

PDF_setfont ( resource $pdfdoc , int $font , float $fontsize ) : bool

Sets the current font in the specified fontsize, using a font handle returned by PDF_load_font(). 成功时返回 TRUE, 或者在失败时返回 FALSE

add a note add a note

User Contributed Notes 6 notes

up
4
pcheely at presensit dot com
11 years ago
Here is a simple function to ease changing fonts in your PDF.

function pdf_font($pdf,$size,$face='arial')
{
   //Set the path 
   $path=$_SERVER['DOCUMENT_ROOT'];
   ${$face} = $face."=$path/fonts/".$face.".ttf";

   pdf_set_parameter($pdf, 'FontOutline',${$face});
      
   $font=pdf_findfont($pdf,$face,"host",0);
  
    pdf_setfont($pdf,$font,$size);
}
up
0
Malcolm Scott
16 years ago
Note that pdf_setfont (this function) and pdf_set_font (a deprecated function) are different. I spent a while trying to figure out why my code wasn't working; it turns out I'd included the extra underscore by accident...
up
-1
info at techcare dot ch
10 years ago
Note that core font Helvetica-Bold does not accept font sizes>12 .
This probably affects other core fonts.
up
-1
shan at symbiotic dot 2y dot net
18 years ago
For those who are looking
the PDF core fonts Are

Courier,Courier-Bold,Courier-Oblique,Courier-BoldOblique,
Helvetica,Helvetica-Bold,Helvetica-Oblique,Helvetica-BoldOblique,
Times-Roman,Times-Bold,Times-Italic,Times-BoldItalic,
Symbol,ZapfDingbats
up
-1
afsilva at netscape dot net
18 years ago
To anyone who is trying to add extra FONTS to work with PHP and pdflib.

Take a look at: ftp://ftp.adobe.com/pub/adobe/type/win/all/afmfiles/ - This is collection of fonts already converted to AFM. There are thousands of fonts. What I am doing is downloading everything, and then I will grep my way through the directories to find what I am looking for.

Another tip: to get the pdflib.upr file working with your fonts add:
putenv("PDFLIBRESOURCE=/dir/where/the/file/is/fonts/pdflib.upr");
on the beginning of your php script. And make sure you change the Font Definition entry on your pdflib.upr file as well. It needs to point to the directory where the .afm files are.
up
-2
cox at idecnet dot com
19 years ago
There is also another encoding called 'host'. in the pdflib test examples, they say:
" We don't want to use metrics files for the sample, and therefore stick to host encoding. For this reason the sample text (which uses German special characters) must be platform-specific. Both flavors only differ in the special characters."

官方地址:https://www.php.net/manual/en/function.pdf-setfont.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3