我已经创建了一个测试页面来测试使用Prince xml,但是这段代码似乎不起作用。
的index.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'..
答案 0 :(得分:1)
问题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
。
答案 1 :(得分:0)
这发生在我身上,所以我使用SSH来访问我的服务器并意识到我没有安装字体库。如果您使用的是CentOS,那么您需要先安装一个字体库。我发现这有用http://blog.whatgeek.com.pt/2011/11/10/install-core-fonts-centos-6/
答案 2 :(得分:0)
使用YesLogic PHP包装器在Mac上的虚拟盒上运行Prince,并使用Web浏览器解析PHP文件。没有PDF输出,包装器没有报告错误。
上面的答案并没有为我解决问题。
所以我使用' php -f index.php' 从命令行解析PHP文件,并且它有效。我这个愚蠢的错误 - 我的PHP文件根本没有正确的权限。