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 :

Imprimer un pdf sous activeX


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 Imprimer un pdf sous activeX
    Bonjour tout le monde

    j'ai un petit soucis pour mon taff.
    selon une sélection je remplis une table avec une liste de facture et pour chaque facture de j'ai le chemin et nom du fichier.

    dans un premier temps j'ai utilisé lanceAppliAssociéé mais quand j'ai fais mon lance appli je n'ai plus la main : j'envois mes impressions dans l'ordre mais ne sortent pas dans l'ordre au niveau de l'imprimante donc j'ai rajouté des multitaches mais pas terrible comme solution :

    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
     
    	POUR nIndice = 1 A nNbrTable
    		SI TABLE.TBIMP[nIndice]=1 ALORS 
    			iParamètre(iEchelle,100)
    			bTrouve=LanceAppliAssociée(ComplèteRep(TABLE.TBCHEMIN[nIndice])+TABLE.TBNOMFIC[nIndice]+".PDF", "print")
    			SI PAS bTrouve ALORS
    				Multitâche(100)
    				bTrouve=LanceAppliAssociée(ComplèteRep(TABLE.TBCHEMIN[nIndice])+TABLE.TBNOMFIC[nIndice]+".PDF", "print") 
    				SI PAS bTrouve ALORS
    					CMessage::msgErreur("le fichier  : "+ComplèteRep(TABLE.TBCHEMIN[nIndice])+TABLE.TBNOMFIC[nIndice]+".PDF"+" n'a pas été trouvé")	
    				FIN
    			FIN
    			Multitâche(500)
    		FIN
    		TBIMP[nIndice]=0	
    	FIN
    je me suis dis que j'allais mettre un axtivex : "Adobe PDF Reader" de windev, puis charger le document et l'imprimer:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    	POUR nIndice = 1 A nNbrTable
    		SI TABLE.TBIMP[nIndice]=1 ALORS 
    			ActivePDF>>LoadFile(ComplèteRep(TABLE.TBCHEMIN[nIndice])+TABLE.TBNOMFIC[nIndice]+".PDF")
    			ActivePDF>>printAll()
    			Multitâche(200)
    		FIN
    		TBIMP[nIndice]=0	
    	FIN
    Lors la j'ai un message d'avertisemment de abore reader => Comment je peux faire pour l'enlever.
    Et comment je peux savoir que l'impression à été effcetué au lieu d'utilisé un multitache.

    alors dans WDXView - Browrer d'activex => j'ai les méthodes mais pas d'information sur ces méthodes. pas trouvé sur le net

  2. #2
    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
    Pour le message d'avertissement, il suffit de cliquer sur la coche ne plus afficher et cliquer sur oui, cette étape décoche une option dans les preferences d'adobe reader.

    donc voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    	POUR nIndice = 1 A nNbrTable
    		SI TABLE.TBIMP[nIndice]=1 ALORS 
    			ActivePDF>>LoadFile(ComplèteRep(TABLE.TBCHEMIN[nIndice])+TABLE.TBNOMFIC[nIndice]+".PDF")
    			ActivePDF>>printAll()
    			//ActivePDF>>
    			Multitâche(200)
    		FIN
    		TBIMP[nIndice]=0	
    	FIN
    j'aimerai enlever la multitache(200) par le retour de l'imprimante mais la je ne connais les methode de l'activex et j'ai pas d'aide.

  3. #3
    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
    svp j'ai besoin d'aide et je ne sais pas comment faire ou où trouver une doc technique avec les informations des instructions. merci

  4. #4
    Membre éprouvé Avatar de wimbish
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Manche (Basse Normandie)

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 416
    Points : 1 073
    Points
    1 073
    Par défaut
    Bonjour,
    Et comment je peux savoir que l'impression à été effcetué au lieu d'utilisé un multitache.
    Un collègue a géré cela en listant les jobs d’impressions à l'aide des API Windows.
    Christophe.

    Tous les chemins mènent à Rome http://doc.pcsoft.fr/fr-FR/

  5. #5
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 803
    Points
    3 803
    Par défaut
    Bonjour,

    Pourquoi tu veux savoir si le document est imprimé?
    Si tu lance toutes tes impressions c'est pas le spooler de ton imprimante qui gère la file d'attente?

    Ensuite si tu est sous XP, sous les autres versions de windows je ne sais pas si ça marche, tu veux activer l'écriture des impressions dans les journaux d'évènement. (tu vas dans imprimante et télécopieur dans le panneau de configuration puis Fichier, Propriété du serveur, Onglet Avancé puis tu coche la case Activer l'enregistrement des évènements d'information du spooler)

    Ensuite il y a un exemple dans la LST54 qui permet de lire les journaux d'évènement.
    Je pense qu'il doit aussi y avoir une api qui permet de le faire.
    la touche est ton amie. l'aide ne mord pas quand on la consulte...
    PS : n'oubliez jamais que nous ne sommes pas avec vous sur le projet. Donc plus vous donnez d'informations et d'exemples de codes et plus nous pourrons vous aider. (Un exemple vaut mieux que de longs discours...)

    Pensez à utiliser les votes et à cliquer sur , merci

  6. #6
    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
    merci de votre aide.

    le pourquoi
    voici ma boule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    POUR nIndice = 1 A nNbrTable
    		SI TABLE.TBIMP[nIndice]=1 ALORS 
    			iParamètre(iEchelle,100)
    			LanceAppliAssociée(ComplèteRep(TABLE.TBCHEMIN[nIndice])+TABLE.TBNOMFIC[nIndice]+".PDF", "print")
    		FIN
    		TBIMP[nIndice]=0	
    FIN
    Quand je regarde les documents dans l'imprimante, ils sont dans le désordre (impression de 200pdf) donc pas sympas pour les personnes qui imprime. de plus a peu pret tous les 10pdf, il y en manque (je pense que le spooler arrive à saturation)

    Alors au niveau du journal d'évènement de windev sur la lst54, c'est cela qu'il me faudrait. mais la j'ai un soucis pour récupperer le code. c'est des procèdures que je n'ai jamais vu sous windev. et je en sais pas comment les insèrer dans mon projet.
    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
    //--------------------------------------------------------------------------------------------------------//
    //La fonction bOuvreJournal permet d'ouvrir un journal pour consultation.
    //
    // Ce journal peut être :
    //  - un journal système prédéfinie accessible par l'Observateur d'événement (Windows 2000 ou XP uniquement )
    //
    //Syntaxe :
    //
    //	<Résultat> = bOuvreJournal(<eTypeJournal>, <sNomJournal>)
    //
    //Paramètres :
    //
    //	<Résultat> : Booléen
    //	Vrai si le journal est ouvert et prêt à être manipuler
    //  Faux dans le cas contraire : l'erreur peut être obtenue par sJournalErreur
    //
    // <eTypeJournal> : Constante eJournal_XXX
    // 		Type du journal a ouvrir ou créer parmis (eJournal_Systeme)
    // <sNomJournal> : Chaîne ou constante chaîne
    // 		Nom du journal a créer/ouvrir : eJSysteme_XXX
    // Note : Il n'est pas necessaire d'ouvrir le journal pour effectuer des ajouts
    //--------------------------------------------------------------------------------------------------------//
     
    [ <Résultat> = ] bOuvreJournal (<eTypeJournal>, <sNomJournal>)

  7. #7
    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
    bon j'ai compris un peu, en faite c'est un composant externe.
    mais après c'est quoi? coment ca ce gère?

  8. #8
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 803
    Points
    3 803
    Par défaut
    Bonjour,

    Si tu as pu mettre cette exemple de code c'est surement car tu a récupéré l'exemple de la LST?
    L'exemple utilise un composant (JournalEvenement.WDK)
    Si tu as récupéré la LST tu trouvera aussi à l'intérieur un répertoire Source qui contienne les sources du composant.
    Mais tu peux utiliser le composant directement en l'intégrant à ton projet.

    Mais d'abord

    Citation Envoyé par mail.spam Voir le message
    tu Peux activer l'écriture des impressions dans les journaux d'évènement. (tu vas dans imprimante et télécopieur dans le panneau de configuration puis Fichier, Propriété du serveur, Onglet Avancé puis tu coche la case Activer l'enregistrement des évènements d'information du spooler)
    Déjà est-ce que déjà ce point marche, car sinon ça va pas t'aider?
    Si tu fais une impression as tu un évènement dans le journal d'évènement de windows?
    la touche est ton amie. l'aide ne mord pas quand on la consulte...
    PS : n'oubliez jamais que nous ne sommes pas avec vous sur le projet. Donc plus vous donnez d'informations et d'exemples de codes et plus nous pourrons vous aider. (Un exemple vaut mieux que de longs discours...)

    Pensez à utiliser les votes et à cliquer sur , merci

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/10/2014, 19h49
  2. Imprimer des PDF sous forme de livre
    Par Gildas86 dans le forum Mise en forme
    Réponses: 5
    Dernier message: 30/10/2011, 13h14
  3. Imprimer un pdf sous access (vba) sans ouvrir acrobat reader
    Par benoit16 dans le forum VBA Access
    Réponses: 3
    Dernier message: 23/02/2010, 08h43
  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, 21h40
  5. [PDF] Imprimer un pdf
    Par Magguy dans le forum Documents
    Réponses: 3
    Dernier message: 21/01/2005, 09h08

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