4

QWebView から pdf ファイルを作成しています。

class myView: public QWebView
{
}

メンバー関数の 1 つには次のものがあります。

 this->settings()->setAttribute(QWebSettings::PrintElementBackgrounds, true);
 QPrinter printer;
 printer.setOutputFormat(QPrinter::PdfFormat);
 printer.setResolution(QPrinter::HighResolution);
 printer.setOutputFileName("whoami.pdf");
 print(&printer);

PDF ファイルが生成されていることがわかりますが、html ファイルには PDF に入っていない画像がほとんどなく、空白です。

ネットサーフィンはあまり役に立たず、次のようなWebSettingも有効にしました:

 this->settings()->setAttribute(QWebSettings::PrintElementBackgrounds, true);

誰かが私が欠けているものを親切に提案できますか?

4

1 に答える 1

1

最初に印刷物に待機するように伝え、ページの読み込みが終了したことを伝える必要があります。

  1. これをコードに追加します:

    connect(&document, SIGNAL(loadFinished(bool)), SLOT(printpdf()));
    

document は qwebview 変数です。

  1. 次に、プライベート スロットを作成します。

    printpdf();
    

この関数では、プリンターと print(&printer); を呼び出す必要があります。

忘れないでください、あなたのhtmlにscrにfile:///を追加する必要があります

<img src="file:///c:/image.jpg" />
于 2016-01-12T09:38:54.383 に答える