2009-07-06 12 views
0

Qt webkit Jambi APIを使用して、HTMLをPDFに変換しています。シングルスレッドQtによるマルチスレッドHTMLからPDFへの変換

私は、QWebPageとQWebkit(QT webkit)がGUIクラスであるため、上記の変換用のjarを作成して、マルチスレッド環境で使用できるようにすることを目標にしています。

私はこの問題を回避する方法がわからないので、私は立ち往生しています。

また、私は、誰もがQTアプリケーションのライフサイクル、イベントループと関連するものについての良いリファレンスを提供することができ、QTで初心者です。

ありがとうございます。

アシシュ

答えて

0

私の主な仕事は、pdfを印刷するためのhtmlからpdfへの変換を取得することでした。

私はQTジャンビ(QT WebKitのC++もAPI)は、マルチスレッド環境で動作するように取得しようとしましたができませんでした。

次のように私の最終的な解決策だった

:私はhereから「wkhtmltopdfのネイティブバイナリを使用

は、標準入出力ストリームをキャプチャするJavaラッパーを書きました。

は、PDFへの変換HTMLを必要な各Javaスレッドのための「wkhtmltopdf」バイナリ初期化。

また私はerjiangのアドバイスには一度も取り組んでいませんでした。その時までに私は仕事から離れてしまったので、彼の助言をする時間がありませんでした。

2

まあ、実際に、私は「ファイルへ出力」をし、ファイルタイプとしてPDFを選択行うためのFirefoxを使用しています。しかし、これは手作業のためのものです - あなたはFirefoxにスクリプトを書くことができると思いますが。

私はLinux環境で、あなたがQtに言及しているので、Linux/Unixを想定しています。おそらく2つの文字列をn xコマンドラインアプリと一緒に使うことができると思います。おそらくenscriptに役立つものがあります。もしそうでなければ、私は他の解決策を見てきたと確信しています。私の頭の上からそれらを思い出すことはできません。 HTMLをPostscriptに変換できるのであれば、そこからPDFを取得するのは簡単です。

1

HTML1とCSS1の両方で十分であれば、QTextDocumentQPrinterを別のスレッドで使用できます。

1

「Programming with Qt、Second Edition」、O'Reillyは優れていますが、Qt3のみをカバーしています。多くの基本的なことがQt 4.5にも当てはまります。 、ISBN 0132354160

"Qtの4(第2版)とC++ GUIプログラミング" は、悪くはありません。

Qtドキュメントにも例とチュートリアルが含まれています。

1

子スレッド内のGUIクラスを使用してjarファイルを初期化できない理由はわかりません。これはトゥルーンによってジャンビに設定された人為的な制限ですか?

私は理論的には、画面に何も表示する必要はない、Rendering a webpage with Qt and Webkit to a QPixmapにこの例のノートを取りました。 QWebPageとQWebFrameはどちらもQObjectを継承します。上のリンクのサンプルコードを使用すると、GUIなしでWebページのレンダリングされたコンテンツを取得できるはずです。

+0

「トロール」:D私はスラーが好きです – jrharshath

関連する問題