1

Qt アプリケーション (Qt 4.7.1) から、次のように図を印刷しています。

  • QPrinter はデフォルトで構築されています。QPrinter printer;
  • カラー印刷が有効:printer.setColorMode( QPrinter::Color );
  • ユーザーがプリンターを選択できるようになりました。QPrintDialog printDialog( &printer, this );
  • printer.setFullPage( true );
  • プリンターを使用してペインターを初期化します。QPainter painter( &printer );

次に、複雑な図が描かれます。問題を 1 種類のオブジェクト、点線に絞り込むことができました。それらは次のように作成されます。

  • QPen が作成されます。
  • ペン幅とペンスタイルを設定します。
  • 次に、このペンで多数の線 (ページの幅全体にわたる) が描かれます。

実線 (Qt::SolidLine) の場合、すべて問題ありません (< 100 kB PDF サイズ)。ただし、点線 (Qt::DotLine) の場合、A0 および 600 dpi を使用して PDFCreator に印刷すると、PDF は 60 MB の大きさになります。解像度が低いと、ファイル サイズも小さくなります。

更新:ファイルにリダイレクトされたHPプロッターのドライバーも試しました。このファイルは 130 MB あるため、問題はさらに深刻です。

Linux (KDE) では、PDF のサイズは 50 kB 未満です。

どうやら、Windows / Windows 印刷システム用の Qt 印刷コードは点線をラスター化します (実線ではありません)。この問題について何をすべきか考えていますか?

4

0 に答える 0