0

キリル文字でhtmlを印刷する方法は?私はこれをやろうとしました:

QTextDocument *document = new QTextDocument();
document->setHtml(htmlContent);
document->print(printer);

しかし、ドキュメントは間違ったエンコーディングで印刷されました。HTMLエンコーディングはutf-8です。

4

2 に答える 2

1

htmlContentがQStringであると仮定すると、おそらく間違ったエンコーディングで作成したことになります。たとえば、元のHTMLデータ(バイト)がUTF-8の場合、次のようなものを使用する必要があります。

htmlContent = QString::fromUtf8(myHtmlDataCharPtr);

htmlContentがUTF-8データへのcharポインターである場合は、次を使用する必要があります

document->setHtml(QString::fromUtf8(htmlContent));

于 2012-10-10T07:36:17.640 に答える
0

QTextDocument が正しく機能するには、非常に正確な HTML が必要です。WebKit / Firefox / QWebBrowser は、通常、整形式の入力を受け入れず、正しく表示します。したがって、出力をファイルに書き込み、HTML チェック プログラムに送信し、すべての問題を修正してから、もう一度やり直してください。

于 2012-10-10T07:17:25.870 に答える