à tous,

Je souhaite générer un rapport PDF comprenant :
  • un logo ;
  • quelques renseignements "globaux" ;
  • un tableau.


Le tout en passant par un HTML qui me permet de mettre en forme tout ceci. Sur le papier rien de très compliqué mais en fait je galère pas mal...

J'ai pensé au début passer par un QTexDocument et un QTextCursor. L'idée est bonne, mais pas moyen de lui faire avaler du CSS.
Je me suis donc tourner vers un QWebView, mais là c'est les images qui ne sont pas prises en compte (et les couleurs, mais à la rigueur ça je m'en moque un peu).

Voici le morceau de code que j'ai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
QTextDocument doc;
QTextCursor cursor(&doc);
QWebView web;
 
QFile fileBody(m_templateFile);  // mon fichier html qui me sert de gabarit.
if (!fileBody.open(QIODevice::ReadOnly | QIODevice::Text))
{
    qDebug() << "erreur de lecture";
    return 0;
}
QTextStream in(&fileBody);
QString body = in.readAll();
 
doc.setDefaultStyleSheet("/chemin/vers/styles.css");
 
cursor.insertImage("/home/charlie/Dev/Rapport/logo.png");
cursor.insertTable(3, 5, tableFormat);
 
 
//web.setHtml(body);
cursor.insertHtml(body);
 
 
printer.setFullPage(true);
printer.setOutputFileName(m_fileName);
 
//web.print(&printer);
doc.print(&printer);

Coté CSS, j'ai essayé en tant que fichier à part, incorporé dans le HTML, en attribut de chaque balise, ... pas moyen de le faire fonctionner avec QTextDocument, alors que d'après la doc ça devrait rouler.

Auriez-vous quelques conseils me permettant d'arriver à mes fins d'une manière ou d'une autre ?

D'avance merci à tous.

J

[EDIT]

Problème résolu en utilisant KDReports... juste très bon