Hi all,

I am trying to print a QTextDocument to PDF using QPrinter like the following. It works great. But now I'm trying to print to a PDF with a black background and I can't figure out how. If I do painter.fillRect() it doesn't cover the margins (margins are white). I've tried changing the document() stylesheet with no success. Does anyone know what is the best way to have a different color background for a PDF? Thanks!


void TextEdit::print(QPrinter *printer)
{
  QPainter painter;
  painter.begin(printer);

  float pageWidth=document()->size().width();
  float scale = printer->pageRect().width() / pageWidth;
  float pageHeight=printer->pageRect().height() / scale;

  document()->setPageSize(QSizeF(pageWidth, pageHeight));
  int pageCount=document()->pageCount();

  for(int page=0; page<pageCount; page++)
  {
    painter.save();
    painter.scale(scale, scale);

    QRectF view(0, page*pageHeight, pageWidth, pageHeight);

    painter.translate(0, -page*pageHeight);

    document()->drawContents(&painter, view);
      painter.restore();

    if(page != pageCount-1)
      printer->newPage();
  }
  painter.end();
}
_______________________________________________
Interest mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to