IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion :

Imprimer du HTML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 389
    Par défaut Imprimer du HTML
    Bonjour a tous,

    je suis sur le point de finir ma première appli Qt.
    Malheureusement, la je bloque.
    En effet j'essaie de trouver comment faire pour imprimer du HTML.

    Je m'explique, j'ai un QString qui contient une vue HTML d'un de mes objets et je voudrai imprimer cette vue.

    Voici ce que j'ai essayé de faire:
    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
     
    QWebView webView;
    QPrinter printer;
     
    printer.setPageSize(QPrinter::A4);
    QString type=(docType==Document::Facture)?QObject::tr("Facture"):QObject::tr("Devis");
    printer.setDocName(type+"_"+id );
    printer.setCreator(QObject::tr("QFacturation"));
    printer.setOutputFormat(QPrinter::NativeFormat);
    webView.setHtml(view);  // view Contient la vue HTML de mon objet
     
    QPrintDialog printDialog(&printer);
    if(printDialog.exec() == QDialog::Accepted) {
        webView.print(&printer);
    }
    Le problème est que ce code ne me donne rien, une page vide.
    (Mon PC de dev n'était pas relier a une imprimante, je fais mes test en passant par l'imprimante PDF PDFCreator).


    Avez vous une idée d'ou viens le blocage ?
    (Je précise que la variable view n'est pas vide et contient bien le HTML)

    Je vous remercie d'avance pour votre aide

    EDIT: Chose encore plus etrange, si je fais webView.show(); je vois bien le rendu correct de mon objet en HTML

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 256
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 256
    Par défaut prob impression qwebview
    un truc tout bête qui peut te dépanner

    mets le contenu HTML dans un qtextedit et tu charges dedans ton contenu HTML avec qtextedit->setHtml(QString); puis tu imprime avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    QPrinter imp;
    // tes options tels que imp.setPageSize(QPrinter::A4);
    qtextedit->print(&imp);
    Si ça marche pas, ça vient peut être de ton QPrinter.

    Je suis pas assez bon pour te donner LA solution mais pour moi le print sur qtextedit est testé et approuvé

    En esperant t'avoir aidé
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 389
    Par défaut
    J'ai deja essayé avec un QTextDocument, sa fonctionne, mais je n'ai pas tout mon css de supporté...
    (Pas de text-align ,de float, de text-transform, de width, de margin ....)

    (j'ai mit une image du problème en pieces jointes)
    Images attachées Images attachées  

  4. #4
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 389
    Par défaut
    Bon après avoir compiler mon programme sous Linux, aucun problème a déclarer....

    Donc il y a t'il une procédure spéciale pour imprimer HTML sous windows ?

  5. #5
    Malikemal
    Invité(e)
    Par défaut
    Je ne sais pas si ton problème est toujours d'actualité, mais d'après la doc selon les systèmes il se peut que les options que tu définies ne soit pas prises en compte. Je dis peut être une bêtise mais tu devrais essayer d'utiliser une QPrintDialog, pour pouvoir définir ces options.

  6. #6
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 389
    Par défaut
    Oui mon problème est toujours d'actualité....
    Je vais voir avec la QPrintDialog, mais je ne vois pas en quoi cela peut toucher mon problème d'impression du HTML ....

    Bon j'ai essayé mais cela ne change rien....

Discussions similaires

  1. Comment imprimer du HTML
    Par weabow dans le forum Débuter avec Java
    Réponses: 9
    Dernier message: 26/06/2013, 06h13
  2. [D7][IE]Faire imprimer un html
    Par jbat dans le forum Web & réseau
    Réponses: 3
    Dernier message: 08/02/2009, 11h26
  3. Réponses: 22
    Dernier message: 17/02/2006, 11h51
  4. [VB6] Imprimer directement une page html
    Par Debra dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 23/04/2004, 11h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo