如何使用FPDF和mPDF嵌入字体

Car*_*son 5 embed fonts fpdf

我正在尝试将Helvetica Neue嵌入到我的PDF中,但我在网上找到的所有资源都过于复杂,并且充满了我认为不需要的信息.

谁能指点我一步一步的教程如何在FPDF中包含字体?

提前致谢.

Ada*_*rax 12

这不是太难.

假设我们要添加Rockford字体.

首先,我们需要使用ttf2pt1(或一些等效程序)为Rockford生成AFM文件.在shell中运行以下命令.

ttf2pt1 Rockford
Run Code Online (Sandbox Code Playgroud)

该命令将在当前shell目录中创建Rockford.afm.

将shell更改为fpdf安装目录中的makefont目录

cd /<...>/fpdf/font/makefont
Run Code Online (Sandbox Code Playgroud)

执行交互式php shell

php -a
Run Code Online (Sandbox Code Playgroud)

在交互式PHP shell中运行以下命令.

php > require("makefont.php");
php > MakeFont("/<font location>/Rockford.ttf", "/<font location>/Rockford.afm");
php > exit
Run Code Online (Sandbox Code Playgroud)

你应该在当前目录中看到两个新文件,Rockford.phpRockford.z.将这两个文件复制到fpdf安装目录中的'fonts'目录.

cp Rockford.z Rockford.php /<...>/fpdf/font/
Run Code Online (Sandbox Code Playgroud)

此时,将新字体安装到FPDF中.

要在生成PDF时使用字体,必须先按如下方式导入字体.

$fpdf->AddFont('Rockford', '', 'Rockford.php');
Run Code Online (Sandbox Code Playgroud)

然后,您可以在脚本中使用该字体.例如,要将字体设置为Rockford大小为8,您可以编写以下语句.

$fpdf->SetFont('Rockford', '', 8);
Run Code Online (Sandbox Code Playgroud)


Car*_*son 1

不幸的是,这比应有的要困难得多,尽管我成功了。下面的链接是一个很好的参考,但我无法安装fondu,所以我不得不在Windows 上使用TrueType、TransType Pro。

http://www.eiriks.net/2007/09/13/custom-font-with-fpdf-on-os-x-ttf2pt1-fondu/

我刚刚找到了这个 HTML 到 PDF 生成器,并且可能会研究一下,与 FPDF 相比,它似乎很容易定制。http://www.digitaljunkies.ca/dompdf/