Exécution d'un code dos
petittrain
Messages postés
50
Date d'inscription
Statut
Membre
Dernière intervention
-
thunder413 Messages postés 167 Date d'inscription Statut Membre Dernière intervention -
thunder413 Messages postés 167 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je dois créer un fichier pdf à partir d'un document en .doc à partir d'un site.
c'est à dire d'un utilisateur (en intranet) m'envoie un document en .doc et je l'enregistre en .pdf le tous en automatique (sans passer par l'ouverture manuel de l'IHM de pdfcreator).
j'ai donc opté pour pdfcreator qui est un logiciel libre.
j'ai trouvé à partir de différent forum un script qui marche en ligne de command dos
pdfcreator /optionfile"c:\pdfcreator.ini" /pf"c:\temp\essai2.doc"
ligne teste avec sucés dans la fenêtre cmd.exe de dos quand je suis dans le chemin c: program files\pdfcreator
avec pdfcreator.ini
[Options]
AutosaveDirectory=C:\
AutosaveFilename=pdfcreator
AutosaveFormat=0
StartStandardProgram=0
UseAutosave=1
UseAutosaveDirectory=1
mais lorsque je lance les commande suivantes dans un fichier essai.php
$cmd = 'c: program files\pdfcreator' . DIRECTORY_SEPARATOR . 'pdfcreator.exe';
$shell = new COM('WScript.Shell');
$oExec = $shell->Exec($cmd.' /optionfile"c:\temp\pdfcreator.ini" /pf"c:\temp\essai2.doc"');
il me dit "error "
Uncaught exception 'com_exception' with message '<b>Source:</b> WshShell.Exec<br/><b>Description:</b> Accès refusé
je ne l'ai pas trouvé où on pouvait autoriser l'exécution de script "WshShell.Exec" ou est ce qu'il y a une autre solution.
je vous remercie d'avance pour vos réponse.
je dois créer un fichier pdf à partir d'un document en .doc à partir d'un site.
c'est à dire d'un utilisateur (en intranet) m'envoie un document en .doc et je l'enregistre en .pdf le tous en automatique (sans passer par l'ouverture manuel de l'IHM de pdfcreator).
j'ai donc opté pour pdfcreator qui est un logiciel libre.
j'ai trouvé à partir de différent forum un script qui marche en ligne de command dos
pdfcreator /optionfile"c:\pdfcreator.ini" /pf"c:\temp\essai2.doc"
ligne teste avec sucés dans la fenêtre cmd.exe de dos quand je suis dans le chemin c: program files\pdfcreator
avec pdfcreator.ini
[Options]
AutosaveDirectory=C:\
AutosaveFilename=pdfcreator
AutosaveFormat=0
StartStandardProgram=0
UseAutosave=1
UseAutosaveDirectory=1
mais lorsque je lance les commande suivantes dans un fichier essai.php
$cmd = 'c: program files\pdfcreator' . DIRECTORY_SEPARATOR . 'pdfcreator.exe';
$shell = new COM('WScript.Shell');
$oExec = $shell->Exec($cmd.' /optionfile"c:\temp\pdfcreator.ini" /pf"c:\temp\essai2.doc"');
il me dit "error "
Uncaught exception 'com_exception' with message '<b>Source:</b> WshShell.Exec<br/><b>Description:</b> Accès refusé
je ne l'ai pas trouvé où on pouvait autoriser l'exécution de script "WshShell.Exec" ou est ce qu'il y a une autre solution.
je vous remercie d'avance pour vos réponse.
A voir également:
- Exécution d'un code dos
- Code ascii - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
3 réponses
docn tru fait
<?php chdir("c:/program files/pdfcreator /");// chagement du repertoire couran //ensuite passthru("pdfcreator /optionfile\"c:/temp/pdfcreator.ini\" /pf \"c:/temp/essai2.doc\""); ?>
merci encore
je n'arrive toujours pas à faire fonctionner le code.
pour l'essai j'ai copié et en collé dans mon code lors du lancement, j'ai obtenu un chiffre -1073741502 mais il n'y a pas eu de lancement du pdfcreator (fichier "history.txt" de pdfcreator) et emplacement n'affichant pas la transformation de l'heure durant laqu'elle j'ai essayé le code.
j'ai également essayé en remplaçant les / par des \
re résultat la été que page php ne s'arrête pas de "s'exécuter"
j'ai essayé de faire un fichier bat qui ne marque que dans le repertoire de windows avec exec ou le passthru il ne donne aucun résultat (sans planter).
merci d'avance
je n'arrive toujours pas à faire fonctionner le code.
pour l'essai j'ai copié et en collé dans mon code lors du lancement, j'ai obtenu un chiffre -1073741502 mais il n'y a pas eu de lancement du pdfcreator (fichier "history.txt" de pdfcreator) et emplacement n'affichant pas la transformation de l'heure durant laqu'elle j'ai essayé le code.
j'ai également essayé en remplaçant les / par des \
re résultat la été que page php ne s'arrête pas de "s'exécuter"
j'ai essayé de faire un fichier bat qui ne marque que dans le repertoire de windows avec exec ou le passthru il ne donne aucun résultat (sans planter).
merci d'avance
salut,
voici un code qui marche comme j'avais pdf creator 0.9.8 sous la main j'ai pris la peine de l'installer et de tester ton truc j'ai rectifier le code précédent celui-ci marche mais il y'a un hic il ne prend pas en charge le fichier ini
je ne sais pas si ton fichier ini est valide mais il y'a une méthode simple pour créer un ini ensuite tu pourra le récupérer et le modifier a ta guise donc
en suite tu peut utiliser le raccourci pour l'installation tu aura le fichier ini par defaut dans C:\Documents and Settings\%username%\Application Data\PDFCreator
cette méthode est décrite dans l'article https://www.commentcamarche.net/applis-sites/bureautique/427-creer-et-convertir-gratuitement-des-fichiers-en-pdf/
maintenant s'il ne t'est pas impérative d'utiliser pdfcreator tu peut opter pour une solution pure php disponible ici https://jc-cornic.developpez.com/tutoriels/php/pdf/
CORDIALEMENT
voici un code qui marche comme j'avais pdf creator 0.9.8 sous la main j'ai pris la peine de l'installer et de tester ton truc j'ai rectifier le code précédent celui-ci marche mais il y'a un hic il ne prend pas en charge le fichier ini
<?php chdir("c:/program files/pdfcreator/");// changement du répertoire courant //ensuite passthru("pdfcreator /optionsfile \"C:\\temp\\pdfcreator.ini\" /pf\"C:\\temp\\essai2.doc\""); ?>
je ne sais pas si ton fichier ini est valide mais il y'a une méthode simple pour créer un ini ensuite tu pourra le récupérer et le modifier a ta guise donc
Sélectionne PDFCreator.exe puis faire un raccourci vers le bureau - ensuite édite les propriétés de ce raccourci (clique droit > Propriétés), et va à l'onglet Raccourci. - Dans le champ Cible, à la suite de ce qui est déjà écrit, tape: /UseINI (n'oublier pas l'espace avant le /) "C:\Documents and Settings\xxx\Bureau\PDFCreator.exe" /UseINI - Clique sur OK pour valider les changements et fermer la fenêtre du raccourci.
en suite tu peut utiliser le raccourci pour l'installation tu aura le fichier ini par defaut dans C:\Documents and Settings\%username%\Application Data\PDFCreator
cette méthode est décrite dans l'article https://www.commentcamarche.net/applis-sites/bureautique/427-creer-et-convertir-gratuitement-des-fichiers-en-pdf/
maintenant s'il ne t'est pas impérative d'utiliser pdfcreator tu peut opter pour une solution pure php disponible ici https://jc-cornic.developpez.com/tutoriels/php/pdf/
CORDIALEMENT
bonjour,
je te remercie pour ton aide, j'ai essayé tes modifications. mon navigateur que se soit firefox ou IE ne marche pas ne donne pas résultat sans planter. j'ai trouvé un fichier ini pour pdf sur internet que j'ai adapté aux besoins. mon fichier .bat en cliquant dessus marche.
ce fichier bat fait appelle au même fichier ini et j'ai le même résultat le server n'arrête pas de tourner.
j'ai essayé de modifié les paramètres de php.ini sans succès.
le but est qu'un client (du server) télécharge un document word sous forme pdf. fpdf est une très bonne librairie avec une communauté actif (je m'en sert pour créer les métadonnés).
merci
je te remercie pour ton aide, j'ai essayé tes modifications. mon navigateur que se soit firefox ou IE ne marche pas ne donne pas résultat sans planter. j'ai trouvé un fichier ini pour pdf sur internet que j'ai adapté aux besoins. mon fichier .bat en cliquant dessus marche.
ce fichier bat fait appelle au même fichier ini et j'ai le même résultat le server n'arrête pas de tourner.
j'ai essayé de modifié les paramètres de php.ini sans succès.
le but est qu'un client (du server) télécharge un document word sous forme pdf. fpdf est une très bonne librairie avec une communauté actif (je m'en sert pour créer les métadonnés).
merci
effectivement de mon coté il y'a un ptit moment de plantage mais dés que l'impression est finie ca redevien normale mais je crois que c'est pas ton cas
mais maintenant tu a opter pour fpdf ou il y'a une contrainte pour son utilisation pour son utilisation
sinon comme tu as un bat qui fonctionne essaye de l'appeler dans ton script !
mais maintenant tu a opter pour fpdf ou il y'a une contrainte pour son utilisation pour son utilisation
sinon comme tu as un bat qui fonctionne essaye de l'appeler dans ton script !
je te remercie pour ta réponse. j'ai essayé ta réponse en suppriment la fonction com. je n' ai plus eu le message d'erreur du début mais la page m'as retourné la valeur 'null' alors que la même fonction dans dos me donnée un résultat avant et après l'essai de lancement de la page php. tous les dossier contenant les document on était mis en partage à l'aide des outil de partage de windows.
cordialement petittrain
est ce que la syntaxe de ta commande est bien fait fais attention au antislash et back slash utilise "/" plutot que "\" dans tes chemein d'acces et utilise passthru et passe a celle-ci un deuxieme argument apres tu poura faire un print_r($ton2arg) pour voir ce que dos retourne comme erreur
en changeant les \ par des / et en modifiant le format de sortie le retour de la fonction passthru me renvoie 0.
en essayant la ligne "corrigé" dans la fenêtre ms dos, j'ai une fenêtre d'erreur de pdfcreator me disant qu'il ne trouve pas le chemin du fichier.
par contre dans la fenetre dos, il faut tapper
cd c:\program files\pdfcreator
avant de tapper la ligne
pdfcreator /optionfile"c:/temp/pdfcreator.ini" /pf"c:/temp/essai2.doc"
merci de tes réponse petittrain