Magazine Internet

Convertir du HTML en PDF avec Qt

Publié le 09 octobre 2010 par Kphoen

Dans le cadre d’un projet en C++ utilisant Qt pour la partie GUI, il s’est posé la question de savoir comment générer à partir de code HTML et CSS un jôôli PDF.

Voici la solution retenue :

QWebView view; // sera chargé de rendre le code HTML
QPrinter printer; // et lui s'occupera de l'impression du rendu

// configuration du printer : format A4, rendu en PDF
printer.setPageSize(QPrinter::A4);
printer.setOutputFormat(QPrinter::PdfFormat);
printer.setOutputFileName("mon_super.pdf"); // nom par défaut, changez le ! =)

// on donne au QWebView le code HTML à interpréter
view.setHtml("<head><title>test titre</title></head><body><h1>titre</h1><p>contenu</p></body></html>");

// si on veut imprimer une page web
// view.load(new QUrl("http://www.kevingomez.fr"));

// affichage d'une boite de dialogue pour donner quelques options à l'utilisateur
// il peut par exemple changer le nom du fichier, définir quelles pages seront imprimées, etc.
QPrintDialog printDialog(&printer, this);
if(printDialog.exec() == QDialog::Accepted) {
    view.print(&printer); // impression de la page en utilisant le printer
}

Et voilà, nous avons très simplement généré notre PDF ! Nous pouvons bien évidemment utiliser l’URL d’une page pour générer le fichier en utilisant la méthode load(url) de QWebView.


Retour à La Une de Logo Paperblog

A propos de l’auteur


Kphoen 5 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte