itextpdf仅从命令行

时间:2016-03-24 21:25:44

标签: php linux fonts embed itextpdf

我在Ubuntu上使用itextpdf来填充带有数据的PDF表单。实际上我使用了这个套件中包含的类(实用程序):PdfFormFiller。数据由Unicode字符串表示。要正确显示我使用的字符,我使用PdfFormFiller的-fonts选项。

为此,我编写了一个PHP脚本,只需使用正确的参数调用PdfFormFiller。

<?php
$command = "java -cp ./bin:lib/itextpdf-5.5.3.jar PdfFormFiller.PdfFormFiller DIPLOMA_FORM.pdf -f test.fdf -font \"fonts/arial.ttf\" -flatten test.pdf";
exec($command);
?>

当我从命令行(php)以root身份运行PHP文件时,一切都很好。 PDF具有嵌入的字体并且字符显示正确。

但是当我从web运行脚本(访问链接)时,生成的PDF不包含所需的字体(带有所有Unicode字符的Arial)。

我尝试使用绝对路径,相对(到网页)路径和变体来引用字体文件(在PHP脚本中)。不行。

我允许apache用户对所涉及的所有文件拥有所有访问权限。不行。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

同时我用FPDF解决了这个问题。就像UTF-8的魅力一样。

http://www.fpdf.org/en/script/script93.php

L.E。 tfpdf甚至更好。 :)

http://www.fpdf.org/en/script/script92.php