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

MFC Discussion :

Imprimante PDF Ghostscript (source Farscape)


Sujet :

MFC

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 391
    Points : 347
    Points
    347
    Par défaut Imprimante PDF Ghostscript (source Farscape)
    Bonjour

    En me balladant sur le site j'ai vu un magnifique tuto de farscape permettant l'impression de fichier PDF a partir de fichier txt.

    Dans l'idee d'utiliser cette source, j'ai installer suivant le tuto (tres bien fait ) l'imprimante, le redirecteur de port et lancer la source pour faire en test.
    Pour ce test en vue de formater mon fichier txt , j'ai juste rentre un numero de ligne ( soit 200 lignes ).
    En lancant l'impression je recupere bien le pdf mais j'ai a chaque fois la ligne 82 et ses mutiples disparait.

    Si quelqu'un a déja utiliser cette source, est ce que ce phenomène n'a lieu que sur ma config et si non avez vous reussi a régler ce problème.

    Cordialement
    Images attachées Images attachées

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    je pense que c'est un petit probléme de marge d'impression que je n'ai pas géré ...
    essaye de récupérer la marge de l'imprimante et de diminuer la surface d'impression en conséquence.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     pDC->Escape(GETPRINTINGOFFSET, 0, NULL, &ptmargins);

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 391
    Points : 347
    Points
    347
    Par défaut
    Bonjour

    Merci pour ta reponse.

    J'ai essayé de recuperer la marge et meme de la fixer plus grande en direct ,
    le résultat est le meme la disparition de la ligne au moment du changement de page.
    J'ai retirer l'impression du heading pensant que celui-ci reecriver sur la ligne.
    Sans heading meme resultat.

    Je vais voir en debug quand j'aurais un peu de temps ce qui se passe au moment du changement de page.

    Cordialement

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 391
    Points : 347
    Points
    347
    Par défaut
    Bonjour

    Voila le petit bug et sa solution pour ceux que çà interressent.

    Dans la fonction "PrintPdf(CDC *pDC,CStdioFile &File,DOCINFO &docInfo)"
    Les test de fin du fichier texte sont fait avec la valeur de retour du ReadString.
    Ceux qui a pour effet d'avoir a chaque debut de page deux lectures de ligne successive du fichier
    Une dans la boucle WHILE general et une dans la boucle FOR pour la gestion de la page.

    On peux modifier comme suit

    ajouter un booleen au debut de la fonction
    changer la valeur de test des boucles avec ce booleen et ne pas oublier de lire le fichier quand meme.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    while(FinDoc)
    	{     
     
    		int iY = 300;  
    		pDC->StartPage();
    		nPage++;
     
    		for( ; FinDoc && (iY < iVerticalSize ); )
    		{
    			FinDoc = File.ReadString(str);
    			pDC->GetTextMetrics(&tm);
    			......

    Cordialement

  5. #5
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    bon je suis content que mon petit tuto t'ai plus
    tu peux me poster ou par email ta correction pour que j'apporte la modification?

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

Discussions similaires

  1. Declarer Imprimante PDF
    Par seboun17 dans le forum SAP
    Réponses: 1
    Dernier message: 16/09/2008, 10h35
  2. lecteur pdf open source pour Windows xp et Vista
    Par pi-2r dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 27/08/2008, 14h57
  3. Incompatibilité imprimante / PDF Creator
    Par veevee dans le forum Windows 2000/Me/98/95
    Réponses: 2
    Dernier message: 09/04/2008, 22h23
  4. Comment installer et partager une imprimante pdf
    Par Abdel58 dans le forum Administration système
    Réponses: 2
    Dernier message: 27/06/2006, 16h33
  5. [W2k] Imprimante pdf libre via word
    Par ggnore dans le forum Word
    Réponses: 3
    Dernier message: 04/08/2005, 17h02

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