Qt 6.11 is out! See what's new in the release
blog
Writing .doc in Qt
-
Hello.
Someone knows how to export the QPrinter contents in .doc?
I could do it in pdf but, I can't do in .doc. Any idea?
Thank you very much
-
Yes sorry. This code generates a pdf document. I want to do something similar but in .doc to open with Microsoft Word:
if (pdfButtonClicked) { QIcon icon(":/MainIcons/Resources/pdf_pressed_2.png"); icon.addPixmap(QPixmap(":/MainIcons/Resources/pdf_pressed_2.png")); ui->pdfButton->setIcon(icon); printer.setPageSize(QPrinter::A4); printer.setOrientation(QPrinter::Portrait); printer.setOutputFormat(QPrinter::PdfFormat); QString fileName = QFileDialog::getSaveFileName(this, "Save pdf...", QCoreApplication::applicationDirPath(), "PDF (*.pdf)" ); if (!fileName.isNull()) { printer.setOutputFileName(fileName); QImage imagen = screenshot.toImage(); imagen = imagen.scaled(imagen.width() - 300, imagen.height()-100); QPainter painter(&printer); QRect rect = painter.viewport(); rect.setSize(QSize(imagen.width(), imagen.height())); QSize size = imagen.size(); size.scale(rect.size(), Qt::KeepAspectRatio); double xscale = printer.pageRect().width() / double(imagen.width()*1.19); double yscale = printer.pageRect().height() / double(imagen.height()); double scale = qMin(xscale, yscale); painter.scale(scale, scale); painter.translate(150, 200); painter.drawImage(0, 0, imagen); painter.end(); QIcon icon(":/MainIcons/Resources/pdf.png"); icon.addPixmap(QPixmap(":/MainIcons/Resources/pdf.png")); ui->pdfButton->setIcon(icon); pdfButtonClicked = false; QMessageBox::information(NULL, "Export PDF", "PDF created.", QMessageBox::Ok); } else { QIcon icon(":/MainIcons/Resources/pdf.png"); icon.addPixmap(QPixmap(":/MainIcons/Resources/pdf.png")); ui->pdfButton->setIcon(icon); pdfButtonClicked = false; } }Thank you very much
-
@ivanicy
Where do you get the data you want to write in the doc file? What is your starting point? -
The closest thing is using QTextDocumentWriter
QTextDocument tempDocument; QTextCursor tempCursor(&tempDocument); tempCursor.insertImage(imagen); // Use tempCursor to add text if you want QTextDocumentWriter writer; writer.setFormat("odf"); writer.setFileName(fileName); if(!writer.write(&tempDocument)) qCritical("Save Failed!");This format is recognised by Libre Office, Open Office and (recent versions of) MS Word
-
The closest thing is using QTextDocumentWriter
QTextDocument tempDocument; QTextCursor tempCursor(&tempDocument); tempCursor.insertImage(imagen); // Use tempCursor to add text if you want QTextDocumentWriter writer; writer.setFormat("odf"); writer.setFileName(fileName); if(!writer.write(&tempDocument)) qCritical("Save Failed!");This format is recognised by Libre Office, Open Office and (recent versions of) MS Word