【问题标题】:itextpdf embeding fonts only from command lineitextpdf 仅从命令行嵌入字体
【发布时间】:2016-07-12 15:17:58
【问题描述】:

我在 Ubuntu 上使用 itextpdf 用数据填写 PDF 表单。事实上,我使用了这个工具包中包含的一个类(实用程序):PdfFormFiller。数据由 Unicode 字符串表示。为了正确显示 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 已嵌入字体,字符显示正确。

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

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

我允许 apache 用户访问所有相关文件。不行。

有什么想法吗?

【问题讨论】:

  • 是什么让您认为php 从您的root 帐户运行与php 作为Web 服务运行具有相同的权限?
  • 我将“apache”设置为所有相关文件的所有者和组以及对所有内容的权限 (rwx)。
  • 请分享您的 PHP 脚本。

标签: php linux fonts embed itextpdf


【解决方案1】:

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

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

L.E. tfpdf 更好。 :)

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

【讨论】:

    猜你喜欢
    • 2014-05-23
    • 1970-01-01
    • 2019-02-20
    • 2013-05-24
    • 2021-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-18
    相关资源
    最近更新 更多