2012-12-09 16 views
11

wkhtmltopdfという面白いHTMLからイメージへのプラグインを設定しようとしています。本当に難しい時です。Windowsでwkhtmltopdfを使用する

  1. ダウンロードwkhtmltopdfのzipパッケージと私は私のindex.phpに次のコードが含まれてテストしたように私のウェブサイトのルートフォルダに

  2. をファイルをupacked:私はこれまでやった

    私のウェブサイトのルートフォルダに.jpgイメージとしてbbc.comのウェブサイトの内容を保存すると期待しています。 ..

    shell_exec( './ wkhtmltopdf --quality 50 http://www.bbc.com bbc.jpg ');

何も起こっていないようです。 PHPはではなく、がセーフモードで実行されているため、問題はありません。 shell_execが実行されているので、それを使って.txtドキュメントを作成することができました。

私は日のためにこれを研究してきた、私はPHPを使用して実行するように寡婦にwkhtmltopdfを設定する方法についての明確な、単純化されたステップバイステップの作業をガイドと一緒に考え出すことができる誰にも100バウンティを提供しています

は、具体的には、私は簡素化ウォークスルーどのように上を探しています:

  • は、PHPを使用してWindows上で実行するwkhtmltopdfを設定します(一般的な問題とどのようにそれらを克服するための詳細を含みます)。

  • ボタンまたはリンクをクリックしたとき:の入力値(この部分のサンプルコードを含む)をすべて記入した「最新の」Webページをpdfに印刷してください。ページの内容を変更するイベントのWebページは、現在のページのバージョンではなく、ページの初期状態を印刷する必要があります。

  • 上記の同じ機能のonClickを作成してpdfに出力する(この部分のサンプルコードを含む).pdfのダウンロードリンクを作成します。

+0

PHP以外のコマンドラインでプログラムを呼び出すとどうなりますか?それは動作しますか? – Charles

+0

私はWindows上のPHPスクリプトでlinuxコマンドを実行しているので、コマンドラインから直接実行できるかどうかはわかりません。 – AnchovyLegend

+0

SSHをサーバに入れて試してみてください。彼らがSSHをサポートしているかどうか調べるには、ホストに確認する必要があります。彼らはおそらく同様に小さなチュートリアルを持っている可能性があります。おそらくこれは不正なアクセス許可のような単純なものですが、サーバー自体のコマンドラインで調べるのが最も簡単です。 – Charles

答えて

8

実際の問題はここでは分かりにくいですが、私はa blag post tutorial on getting wkhtmltopdf to respond in a Windows 7/PHP Environmentとしました。詳細が必要かどうか質問してください - あなたの問題をカバーしていないと確信しています。

コメント欄にも述べたように、関数呼び出しshell_exec('./wkhtmltopdf --quality 50 http://www.bbc.com bbc.jpg');は、wkhtmltopdfとwkhtmltoimageが異なるプログラムであり、異なるコマンドラインオプションを受け入れるため、失敗します。そのコマンドでwkhtmltopdfをwkhtmltoimageに置き換えると、出力ファイルが生成されることがあります。私はあなたのケースでは、shell_exec('c:\wkhtmltopdf\wkhtmltopdf www.google.com goog.pdf 2>> err3.txt 1>> out3.txt');のようなテスト実行が最も興味深いと思うので、wkhtmltopdfが行うすべての異なる入出力を見ることができます。

9

これは古い質問ですが、HTMLからPDFにプリントしてイメージと背景色を保持する唯一のライブラリだから、Windowsコマンドプロンプトを使用します。以前はPDF Architectを使用していましたが、背景色を扱うことはできませんでした。

wkhtmltopdfをインストールすると、c:¥Program Files¥wkhtmltopdf¥またはc:¥Program Files(x86)¥wkhtmltopdfに移動します。

http://localhost/が出発点として設定されているローカルPHP環境があるとします。 html_invoice.htmlというファイルがあり、dev_invoice_200.pdfというファイルにそのファイルを出力して、xampp Webサーバーのインボイスフォルダに入れたいとしましょう。

c:\Program Files\wkhtmltopdf\bin\wkhtmltopdf http://localhost/html_invoice.html c:\xampp\htdocs\invoices\dev_invoice_200.pdf 

これは、PDFを作成します。と種類があることを行うには、Windowsのコマンドプロンプト( - >すべてのプログラム - >アクセサリ - >コマンドプロンプトまたは[スタート] - - > [ファイル名を指定して実行> cmdのすなわちスタート)を立ち上げてしまいます正しい場所に。

私たちはWindowsのコマンドプロンプトを使用しているので、PHPを使う理由はありません。代わりにバッチファイルを使用することができます。自動化する必要がある場合は、Windowsタスクスケジューラを使用してバッチファイル(スタート - >すべてのプログラム - >アクセサリ - >システムツール - >タスクスケジューラ)を呼び出すことができます。

バッチファイルを実行したことがない場合は、実行するコマンドをプレーンテキストファイルに入力し、.bat拡張子で保存します。

これで、同じ場所にあるファイルhtml_invoice.htmlを、名前がdev_invoice.pdfの請求書フォルダにいつも印刷し、そこに移動した後に名前を変更するとします。上の行をマイナスの "_200"をテキストファイルに置き、.batとして保存してからWindowsでダブルクリックするか、タスクスケジューラで実行してください。

+0

おかげで私は多くの助け:)すべてうまく動作します –

関連する問題