1

从 Qt 应用程序(Qt 4.7.1)中,我正在打印一个图表,如下所示:

  • QPrinter 是默认构造的:QPrinter printer;
  • 启用彩色打印:printer.setColorMode( QPrinter::Color );
  • 用户现在可以选择打印机:QPrintDialog printDialog( &printer, this );
  • printer.setFullPage( true );
  • 使用打印机初始化画家:QPainter painter( &printer );

然后,绘制了一个复杂的图表。我可以将问题缩小到一种对象:虚线。它们的创建方式如下:

  • 一个 QPen 被创建。
  • 画笔宽度和画笔样式已设置。
  • 然后用这支笔画出许多线条(跨越页面的整个宽度)。

对于实线(Qt::SolidLine),一切都很好(< 100 kB PDF 大小)。但是对于虚线 (Qt::DotLine),当使用 A0 和 600 dpi 打印到 PDFCreator 时,PDF 的大小为 60 MB。对于较低的分辨率,文件大小也会变小。

更新:我还尝试使用 HP 绘图仪的驱动程序,重定向到一个文件。这个文件有 130 MB,所以问题更严重。

在 Linux (KDE) 上,PDF 的大小小于 50 kB。

显然,Windows 的 Qt 打印代码/Windows 打印系统光栅点线(但不是实线)。知道如何解决这个问题吗?

4

0 回答 0