5

私は最新のCefGlueバージョン(3.2272.2035)を持っています

現在のページを PDF として保存する必要があります。何らかの方法で CEF (JS/C#) と対話し、PDF を作成したいと考えています。

  1. その目的で javascript.window.print() を使用しようとしましたが、成功しませんでした。なぜなら、私が持っているのはそのようなウィンドウだけだからです。

ここに画像の説明を入力

  1. CefPrintHandler で OnPrintJob メソッドを見つけましたが、それを呼び出す正しい方法がわかりません + コメントには、「Linux で印刷を処理するには、このインターフェイスを実装してください」とあり、Windows 環境 (両方の x64) で PDF への印刷を処理する必要があります。 /x86)

コード例をいただければ幸いです。助けてくれてありがとう。

4

1 に答える 1

1

このパッチをマージして、ソースから cef を再コンパイルする必要があります。さらに、CefGlue にいくつかのグルー ロジックを追加する必要がある場合があります。自分で (C++ API で) パッチをテストしたところ、問題なく動作しました。

EDITED: パッチはトランクにマージされます。

一部のページのみを印刷する必要がある場合 (特にこれらのページが管理下にある場合) は、問題なく実行できます。しかし、(当時の私がそうであったように) ほとんど何でも印刷する必要がある場合、一部の Web ページでは印刷ビューに役立つものは何も表示されないという事実に直面することになるでしょう。また、行儀の良い人でも、画面に表示されるものとは大きく異なります。これは CEF の動作ではありません。Google chrome でさえ同じ問題を示したからです。私のアプリケーションではこれはうまくいかなかったので、印刷を中止して画面のキャプチャを開始しました (そして、C++ の pdf ライブラリを使用してそれを pdf に保存することを実装しました) が、おそらくあなたのアプリケーションは私のものほど要求が厳しいものではありません。乾杯!

于 2015-05-26T21:01:11.710 に答える