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

WinDev Discussion :

transformer fichier excel en pdf


Sujet :

WinDev

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Mars 2008
    Messages : 325
    Points : 150
    Points
    150
    Par défaut transformer fichier excel en pdf
    Bonjour

    J'ai un répertoire avec 4000 fichiers excel que je transforme en pdf.

    Mon soucis c'est : si j'imprime certain fichier excel avec mon imprimante, j'ai une seul page. si je transforme le fichier excel en pdf avec pdfcreator, le document est sur 2 pages.

    je pense que ça vient des marges de pdfcreator mais dans les options de pdfcreator, je ne trouve pas ou je peux changer manuellement. et si c'est possible de le faire par programmation ca serait encore mieux.

    Pour imprimer en pdf, j'ai réalisé une classe, voici quelques lignes de ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    CPDFCreator est une classe
    	//Objet pilotant PDF Creator
    	oPDF est un objet OLE dynamique
    	//Objet permettant de gérer les erreurs PDF Creator
    	oPDFError est un objet OLE dynamique
    	//Objet permettant de piloter les options de PDF Creator
    	oPDFOptions est un objet OLE dynamique
    	bDebug est un booléen
    	sMessErr est une chaîne
    FIN

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    PROCEDURE Constructeur(_bDebug est un booléen=Vrai)
    :bDebug = _bDebug
    :oPDF = ObjetActif("PDFCreator.clsPDFCreator")
    :oPDFError = ObjetActif("PDFCreator.clsPDFCreatorError")
    :oPDFOptions = ObjetActif("PDFCreator.clsPDFCreatorOptions")
    SI :oPDF = Null ALORS
    	:oPDF = allouer un objet OLE "PDFCreator.clsPDFCreator"
    FIN
    SI :oPDFError = Null ALORS
    	:oPDFError = allouer un objet OLE "PDFCreator.clsPDFCreatorError"
    FIN
    SI :oPDFOptions = Null ALORS
    	:oPDFOptions = allouer un objet OLE "PDFCreator.clsPDFCreatorOptions"
    FIN
    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
    29
    30
    31
    32
     
    PROCEDURE ImpressionRapide(_sFichierChemin est une chaîne,_sSauvegardeAutoRepertoire est une chaîne)
    SI EnModeTest() ALORS
    	Trace("ClaPDFCreator:ImpressionRapide()")
    FIN
    SI :isDemarre() ALORS
    	:Fermer()
    FIN
    SI PAS :Demarrer() ALORS
    	RENVOYER Faux
    FIN
    :ClearCache()
    :ClearLog()
    :Set_ImprimanteDefaut()
    :Set_Visible(Vrai)
    :Set_SauvegardeAutoFormat(0)
    :Set_SauvegardeAutoRepertoire(_sSauvegardeAutoRepertoire)
    :Set_SauvegardeAutoFichierNom(fExtraitChemin(_sFichierChemin,fFichier))
    :UtiliserSauvegardeAuto(Vrai)
    :UtiliserSauvergardeAutoRepertoire(Vrai)
    :EnAttenteImpression(Faux)
    SI :isImprimable(_sFichierChemin) ALORS
    	:ImprimerFichier(_sFichierChemin)
    FIN
    SI :isDemarre() ALORS
    	:Fermer()
    FIN
     
    SI :Get_sMessErr() <> "" ALORS
    	RENVOYER Faux
    FIN
    RENVOYER Vrai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    PROCEDURE ImprimerFichier(_sFichierChemin est une chaîne)
    SI EnModeTest() ALORS
    	Trace("ClaPDFCreator:ImprimerFichier()")
    FIN
    :oPDF>>cPrintfile(_sFichierChemin)
    Multitâche(300)
    RENVOYER Vrai

  2. #2
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Une question, cela pourrait-il venir des polices (non true type ?). Elles seraient "mal" converties et du coup plus larges/hautes ?

    Je n'ai pas (encore) trouvé d'info sur le réglage de marges sur pdf creator.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  3. #3
    Membre expérimenté Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Points : 1 381
    Points
    1 381
    Par défaut
    J'ai un programme qui fait des impressions Excel et PDF et j'ai eu donc les mêmes problèmatiques que toi à l'époque.
    J'ai tenté d'utiliser PDFCreator, mais c'est compliqué pour pas grand chose. (enfin faut pas exagérer... )

    Bref, Excel permet d'exporter facilement en PDF, et ça marche très bien.
    Il suffit de faire quelque chose comme ça :
    Code WLangage : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ObExcel:m_xExcel>>ActiveWorkbook>>ExportAsFixedFormat(0, nomPDF)
    LanceAppliAssociée(nomPDF + ".pdf")

    Ca marche à partir de Excel 2007 (à tester avec 2003...) mais je crois qu'il faut installer un plugin, si ma mémoire est bonne, appelé SaveAsPDFandXPS.exe qui permet d'exporter n'importe quelle feuille Excel en PDF.

    En tout cas, j'ai une application qui utilise cet export PDF et ça marche très bien.

Discussions similaires

  1. Transfomer un fichier Excel en pdf
    Par abbd dans le forum Windows Forms
    Réponses: 3
    Dernier message: 26/02/2009, 14h51
  2. Enregistrer un fichier Excel en PDF avec Vba
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 23/01/2009, 13h44
  3. transformation fichier excel en XML
    Par fanette dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 24/01/2008, 10h47
  4. enregistrer un fichier excel en PDF
    Par elmaximoys dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/01/2008, 16h15
  5. resultat sur un fichier excel,word,pdf
    Par harakatyouness dans le forum C#
    Réponses: 3
    Dernier message: 08/08/2007, 16h45

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