1

1)「wkhtmltopdf-i386」の名前を「wkhtmltopdf」に変更し、「wkhtmltopdf」をサーバーの「/usr/local/bin」という名前のフォルダーにアップロードしました

2) php 統合スクリプトを同じフォルダーにアップロードし、「pdf_class.php」という名前を付けました (https://github.com/aur1mas/Wkhtmltopdf/blob/master/Wkhtmltopdf.php)。

この 2 つのファイルを「/home/kacmaz/domains/xxx.com/public_html/test_pdf/」にアップロードします。

3) 「test.php」という名前のファイルを同じフォルダーにアップロードしました。

    <?php

include "pdf_class.php";

  try 
{
    $wkhtmltopdf = new Wkhtmltopdf(array('path' =>'/home/kacmaz/domains/xxx.com/public_html/test_pdf'));
    //$wkhtmltopdf = new Wkhtmltopdf(array('path' => APPLICATION_PATH . '/../public/uploads/'));
    $wkhtmltopdf->setTitle("Title");
    $wkhtmltopdf->setHtml("http://www.google.com");
    $wkhtmltopdf->output(Wkhtmltopdf::MODE_DOWNLOAD, "myfile.pdf");
} 
catch (Exception $e) 
{
    echo $e->getMessage();
}
?>

「779753975.html」「749335291.html」のようなファイルを「/home/kacmaz/domains/xxx.com/public_html/test_pdf/」に作成します (ファイルは 21 バイトで、「http://www.google. com」ファイル内)

しかし、このエラーが発生します

WKHTMLTOPDF はデータを返しませんでした

また、pdf ファイルがありません。この問題を解決するにはどうすればよいですか?

4

1 に答える 1

1

現時点では環境を複製することはできませんが、置き換えてみることをお勧めします

$wkhtmltopdf->setHtml("http://www.google.com");

$wkhtmltopdf->setHtml("<h1>This Is A Test</h1><p>Ponies</p>");

そして、それが生み出すものを見る。いくつかの一時ファイルが生成されているように聞こえ、setHtml がその内容を一時ファイルに書き込み、それらに基づいて pdf が生成されているため、実際には HTML コンテンツではないため、データが取得されません。

また、同様の内容でコマンド ラインで常にテストを行い、動作するかどうかを確認すると、いくつかの問題が解消される可能性があります。

于 2012-08-14T13:42:23.137 に答える