私は、次のないPHPのループを持っている:PDFを生成する前に画像を確実に読み込む方法を教えてください。
- CURL ローカルファイルにページのHTMLを保存し、ログイン
- を必要
- キャプチャおよび内部ページを経由してWebページにログインWKHTMLTOPDFを使用して
- 、私がいる問題は、たまに(時間のかもしれない〜30%)で、画像をPDFにレンダリングされないということですPDF
としてページをレンダリング。保存したHTMLファイルを開くと、画像が表示されるように手動でページを更新する必要があることがわかります。
実際に画像を読み込む方法についてのアイデアはありますか?物事は私が試してみた:それぞれ、すべてのライン
sleep(n)
を、それがどんなイメージをロードするために十分な時間を持っていることを確認するために私WKHTMLTOPDFコールに--javascript-delay 30000
を追加します。
#1かなり悪く、#2はまったくありませんでした。
ありがとうございます!
ローカルHTMLの画像参照はまだ有効ですか?したがって、リモートサーバーからすべてのイメージを取得し、ローカルの適切な場所にコピーする必要があります。私はCURLなどを介して有効なクッキーを取得し、wkhtmltopdfにこれを供給すると、リモート認証されたページに直接行くより簡単になるのだろうか? – halfer
wkhtmltopdfには実際にクッキーを生成する方法がありますが、この特定の状況(したがってCURLルート)で作業するのは悪夢でした。私がHTMLを読むと、私はHTMLファイルを開いてイメージを見るためにハードリフレッシュできるので、リモートイメージパスへのすべてのパスを置き換えています。イメージを取得するのに十分なoomphがないようです毎回。ワーストケースの場合、私はwkhtmltopdfで動作するクッキーを取得しようとすることができますね。 – Chords
別の方法として、 '--page-requisites'と' --convert-links'オプションで 'wget'を使ってHTML/CSS/Imagesをローカルの場所にダウンロードし、同時にリンクを変更することができます。次に、ローカルコピーに対してPDFレンダラを実行します。 – Darien