Как сделать так, чтобы QPainter рисовал в QTextDocument при этом чтобы текст, который там был не удалился?
Printer::Printer(QWidget *pwgt):QWidget(pwgt)
{
    m_pprinter = new QPrinter(QPrinter::HighResolution);
    textDocument = new QTextDocument;
    barcode = new EAN13(this);
    barcodeStr = "4650000000" ;
}
Printer::~Printer()
{
    delete m_pprinter;
    delete textDocument;
}
void Printer::slotPrint(QString data)
{
    m_pprinter->setPrinterName("Xprinter XP-360B");
    m_pprinter->setPageMargins(4,4,4,4, QPrinter::Millimeter);
    data.replace("12pt", "17pt");
    textDocument->setHtml(data);
    textDocument->setPageSize(m_pprinter->pageRect().size());
    QPrintPreviewDialog dialog(m_pprinter, this);
    connect(&dialog, SIGNAL(paintRequested(QPrinter*)), SLOT(slotPrint(QPrinter*)));
    dialog.exec();
}
void Printer::slotPrint(QPrinter *printer)
{
    //
    draw(printer);
    //textDocument->print(printer);
}
void Printer::draw(QPaintDevice *ppd)
{
    int Wd, Ht ;
    Wd = m_pprinter->width() ;
    Ht = m_pprinter->height() ;
    QPainter painter(ppd) ;
    barcode->makePattern(barcodeStr);
    qreal scale = painter.device()->logicalDpiX()/25.4;
    barcode->draw(QRectF(360, Ht-70, 29.83 * scale, 8.74* scale), painter) ;
    painter.end();
    textDocument->drawContents(&painter);
}