王子xml似乎不起作用


Prince xml doesnt seem to work

我创建了一个测试页面来使用Prince xml进行测试,但这段代码似乎不起作用。

索引.php

require_once("prince.php");
$prince = new Prince('www1.must.edu.ph/tts/prince/Engine/bin/prince.exe');
$prince->setHTML(true);
$html = file_get_contents("reportHeader.html");
$ret = $prince->convert_string_to_file($html,'www1.must.edu.ph/tts/prince/Engine/bin/pink.pdf');
echo $html;
if($ret)
echo "converted";
else
echo "not";

每当我访问该页面时,都没有错误......它只显示回显的$html和"not"。

问题 1:

我发现了问题所在。您在.html中运行PHP代码?将文件扩展名更改为.php,然后重新上传到启用PHP的托管服务器,然后重试。

问题2:

构造函数设置不正确。构造函数需要服务器上的绝对路径,而不是 URL。readme.html已经提到了这一点。它应如下所示:

$prince = new Prince('/usr/local/bin/prince');

在读我的时候,它说:

在 Windows 上,请务必指定位于prince.exe文件的路径 在 Prince 安装的 Engine'bin 子文件夹中。

注意:大多数启用PHP的托管服务器都不是基于Windows的;即使它是基于Windows的,它也不允许你执行.exe

这发生在我身上,所以我使用 SSH 访问我的服务器,并意识到我没有安装字体库。 如果你使用的是 CentOS 之类的东西,那么你需要先安装一个字体库。我发现这个有用的 http://blog.whatgeek.com.pt/2011/11/10/install-core-fonts-centos-6/

使用 YesLogic PHP 包装器在 Mac 上的虚拟盒子上运行 Prince 并使用 Web 浏览器解析 PHP 文件。没有 PDF 输出,包装器没有报告错误。

上面的答案并没有为我解决问题。

所以我使用"php -f index.php"从命令行解析 PHP 文件,它起作用了。我的愚蠢错误 - 我的 PHP 文件根本没有正确的权限。