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

Qt Discussion :

Imprimer un texte avec des tabulations


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 41
    Par défaut Imprimer un texte avec des tabulations
    Bonjour,

    J'utilise un QTextEdit qui contient du texte formaté et des tabulations. J'ai dû augmenter la taille des tabulations pour une meilleur présentation (setTabStopWidth).

    A l'écran il n'y a pas de problème, mais je voudrais aussi pouvoir sauvegarder le document en pdf et l'imprimer.

    Voici mon code pour la sauvegarde en pdf:

    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
     
        QString file_name;
        file_name = QFileDialog::getSaveFileName(this);
     
        if (file_name.right(4) != ".pdf")
        {
            file_name += ".pdf";
        }
     
        QPrinter printer;
        printer.setOutputFileName(file_name);
     
        QTextDocument text_document;
        text_document.setHtml(text_edit->toHtml());
     
        text_document.print(&printer);
    Mon problème, c'est que dans le PDF je ne retrouve pas ces tabulations (elles restent trop petite). Après avoir regardé sur internet il paraitrait que html ne gère pas les tabulations (je connais rien à l'html), ce qui est très probablement la source de mon problème.

    Je ne vois pas du tout comment faire, y'a t'il y moyen d'imprimer un document sans passer par le html? ou de faire marcher les tabulations avec le html ?

    Merci de votre aide.

    PS : personne n'a une idée pour mon problème avec QSqlRelationalTableModel :
    http://www.developpez.net/forums/d68...l/#post3978942

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 41
    Par défaut
    En fait depuis Qt 4.3 QTextEdit a sa propre fonction print, et cela marche bien. Donc le problème ne se pose plus (plus besoin de conversion html et de QTextDocument).

    Si cela peut aider quelqu'un, voici le nouveau code pour sauvegarder en pdf:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    QString file_name;
    file_name = QFileDialog::getSaveFileName(this, "Enregistrer", "", "PDF(*.pdf)");
    QPrinter printer;
    printer.setOutputFileName(file_name);
    text_edit->print(&printer);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. changer un textarea par fonction JS : texte avec des sauts de ligne
    Par agrotic dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/10/2006, 14h08
  2. Import fichier texte avec des champs variables
    Par joshua12 dans le forum Access
    Réponses: 4
    Dernier message: 26/09/2006, 09h06
  3. [JSTL 1.0.6] affichage d'un texte avec des retour chariots
    Par clettebou dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 09/08/2006, 10h16
  4. Ecrire du texte avec des coordonnées 3D
    Par julian_ross dans le forum DirectX
    Réponses: 3
    Dernier message: 21/06/2005, 15h05
  5. [Javascript] Afficher du texte avec des intervalles
    Par Invité4 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 02/01/2005, 21h29

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