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

Langage Delphi Discussion :

Imprimer facture PDF


Sujet :

Langage Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 24
    Points : 25
    Points
    25
    Par défaut Imprimer facture PDF
    Bonjour

    J'imprime une facture sous forme PDF.
    j'utilise TextOut pour imprimer mes ligne de facture.
    Mon probleme c'est que les valeurs float me pose probleme ils ne s'imprime
    pas aligner.

    exemple :
    Frais Refacturables 1 000,00 14 067,13 14 067 125,32
    Prestation 5,00 14 069,94 70 349,69

    comme vous voyer le 5,00 n'est pas aligner avec 1 000,00 etc

    Est ce quelqu'un a une idée ?

    Cordialement

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 707
    Points : 25 589
    Points
    25 589
    Par défaut
    TextOut dans un Handle d'Imprimante virtuelle PDF ?
    Avec GetTextExtentPoint32, tu peux obtenir la taille du texte et agir en conséquence peut-être chercher le texte le plus possible pour définir la taille des colonnes ! Mais tu peux très bien décidé d'avoir des colonnes à taille fixe !

    Sinon imprime colonne par colonne, X tu permettras d'avoir des colonnes en pixel, il faut penser à la définition 300 ou 600dpi pour les classiques

    utilise SetTextAlign(GetTextAlign or TA_LEFT) pour le texte avant TextOut
    utilise SetTextAlign(GetTextAlign or TA_RIGHT) pour les nombres avant TextOut

    Voir si TabbedTextOut permet de faire cela sans devoir le gérer manuellement, je pige pas bien cette fonction ! je crois que ça donne ça le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    nTabStopPositions : TIntegerDynArray = (100, 150, 200, 250);
    Line : string = 'Frais Refacturables'#9'1 000,00'#9'14 067,13'#9'14 067'#9'125,32';
    Line2 : string = 'Frais Prestation'#9'5,00'#9'14 069,94'#9'70'#9'349,69';
    TabbedTextOut(hdc, 100, 100, PChar(Line), Length(Line), Length(nTabStopPositions), nTabStopPositions, 50);
    TabbedTextOut(hdc, 100, 100, PChar(Line2), Length(Line2), Length(nTabStopPositions), nTabStopPositions, 50);
    Si tu utilise une imprimante virtuelle PDF pourquoi ne pas passer par QuickReport ou RaveReport ?

    Si tu n'utilise pas une imprimante virtuelle PDF, TextOut est-il une méthode d'un objet PDF externe ? là, je ne peux pas aider !

Discussions similaires

  1. [WebForms][2.0] Imprimer un pdf
    Par fix105 dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 05/06/2006, 16h11
  2. Imprimer un PDF directement avec PHP
    Par King_T dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 11/05/2006, 02h02
  3. Imprimer un PDF en javascript
    Par shoushinye dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/10/2005, 10h48
  4. VBA/Word/Excel97/Imprimer un pdf sans ouvrir acrobat
    Par ouskel'n'or dans le forum VBA Word
    Réponses: 2
    Dernier message: 28/09/2005, 22h40
  5. [PDF] Imprimer un pdf
    Par Magguy dans le forum Documents
    Réponses: 3
    Dernier message: 21/01/2005, 10h08

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