11

Linuxコマンドラインからこれがうまく機能しています:

wkhtmltopdf entry.html output.pdf

しかし、以下は PHP コードからは機能しません。

exec ('wkhtmltopdf entry.html output.pdf');

興味深いことに、私はググって、チェックされていない多くの解決策を見つけましたが、これが問題である理由は説明されていません。いいものありましたらよろしくお願いします。

4

6 に答える 6

9

同じ問題があり、他の誰かが3時間を超えて無駄にするべきではないと思います:

解決策はここにあります:apacheログのwkhtmltopdfエラー

「x環境をエミュレートするには」xvfpをインストールする必要があります

exec("xvfb-run -a wkhtmltopdf test.html output.pdf")
于 2012-10-07T00:43:25.253 に答える
4

wkhtmltopdf には binding がありそのうちの 1 つは PHP 用です。あなたはそれらを試してみることができます。

于 2011-05-27T14:38:37.860 に答える
3

ここに wkhtmltopdf の PHP ラッパー http://mikehaertl.github.com/phpwkhtmltopdf/ 非常にシンプル

于 2012-11-14T00:27:55.763 に答える
2

この問題が発生しました-私の場合の簡単な解決策:PHPがセーフモードであることに気づきませんでした。セーフモードをオフにすると、正常に機能しました!

于 2011-07-23T11:28:55.160 に答える
0

私は同じ問題に苦しんでいました。

Windows 2008 R2サーバー上の私のソリューションPHP 5.4

exec('C:\inetpub\wwwroot\mywebsite\subdir\wkhtmltopdf input.html output.pdf');

そして、これは(これを含むネットを5時間以上検索した後)output.txtと呼ばれる新しいファイルで、名前をoutput.pdfに変更し、ユーザーに「全員」の権利を与えました。

これらは私の試しです:

  exec(C:\inetpub\wwwroot\mywebsite\wkhtmltopdf );
  echo(exec(wkhtmltopdf.exe cache.html output.pdf));
  exec("xvfb-run -a wkhtmltopdf test.html output.pdf")
  $execute = "xvfb-run -a wkhtmltopdf cache.html output.pdf";
  $out = shell_exec("/path/to/wkhtmlto­pdf --version"); echo($out); 
  $out = passthru('/usr/local/bin/wkhtml2pdf

これらが他の人に役立つことを願っています

于 2013-01-04T02:43:22.760 に答える