Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Wed 13 August 2008 17:38

magali di salvo
Participant actif
Lieu: Lyon
Date d'inscription: 21 Sep 2005
Messages: 70

[MapInfo9.0] Faire des PDF en batch

Bonjour,
je souhaite automatiser une génération de pdf "normalisés" en terme de répertoire et noms à partir d'une liste de .WOR prédéfinie avec mapbasic.
grâce aux précieuses indications trouvées dans d'autres messages du forum sur le sujet, j'ai utilisé dans mapbasic une commande du style :

Set Window FrontWindow() Printer Name "PDFCreator"  Orientation LandScape Papersize 8
printwin file "chemin\nom_de_fichier.pdf" overwrite

il crée bien un pdf avec le bon nom au bon endroit, mais impossible de l'ouvrir avec aucun lecteur PDF. un message d'erreur "n'a pas pu ouvrir nom.pdf car le type de fichier n'est pas pris en charge ou est endommagé...."

j'ai essayé aussi avec d'autres générateurs de pdf et aussi acrobat : même topo !

si quelqu'un a la solution ?

merci par avance !

magali di salvo

Hors ligne

 

#2 Wed 13 August 2008 18:30

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: [MapInfo9.0] Faire des PDF en batch

Bonjour
Hypothèse: le batch va plus vite que la fabrication du PDF, qui n'est pas fini (donc inutilisable)
Faire une boucle de 2-3 minutes entre chaque (ou trouver un truc pour que la fabrication du PDF suivant ne démarre pas avant la fin de fabrication du PDF précédent)

Hors ligne

 

#3 Thu 14 August 2008 08:20

magali di salvo
Participant actif
Lieu: Lyon
Date d'inscription: 21 Sep 2005
Messages: 70

Re: [MapInfo9.0] Faire des PDF en batch

Merci Maurice,
je crains que ce ne soit pas ça vu que je teste avec un seul fichier sans boucle et qu'il a donc largement le temps de finir sa manip'...
après reflexion (la nuit porte conseil !), je crois que "printwin" dans un fichier correspond à cocher la case "imprimer dans un fichier" et crée donc un fichier d'impression du genre plt et pas le fichier pdf auquel je m'attend.
je ne vois pas trop comment faire ça tout en automatique avec mapbasic puisque on rentre le nom soit dans acrobat soit dans pdfcreator et qu'on n'est donc plus dans mapinfo...
est-ce seulement possible d'automatiser la génération automatique de pdf avec mapinfo ?

merci d'avance

magali di salvo diren rhone-alpes

Hors ligne

 

#4 Thu 14 August 2008 08:48

Damien BEAUSEIGNEUR
Participant assidu
Lieu: meyzieu
Date d'inscription: 5 Sep 2005
Messages: 425

Re: [MapInfo9.0] Faire des PDF en batch

Bonjour

En fait il y a un moyen de ruser, il faut utiliser les paramètres d'enregistrement automatique de PDFCREATOR.
Créer avec un nom unique. Faire la boucle comme l'indique Maurice.
Avant de passer au suivant, il faut renommer le fichier avec le bon nom et le tour est joué.
ou sinon pour être plus précis mais la il faut l'écrire en vbscript lancer la création d'un fichier vide indiquant que le document est pret. dans les options
Et ensuite renommer le fichier ou le faire directement dans le vbscript
et passer au suivant.

cordialement

Damien

Hors ligne

 

#5 Thu 14 August 2008 11:34

didier.bondyfalat
Participant occasionnel
Lieu: Nice
Date d'inscription: 31 Jan 2007
Messages: 31

Re: [MapInfo9.0] Faire des PDF en batch

Bonjour,

La commande

Code:

PrintWin File "nom de fichier"

génère un fichier postscrip (.ps).
Les versions récentes de PDFCreator permettent de convertir se fichier postscript en pdf en ligne de commande et de supprimer le fichier .ps.

Voici les commandes magiques qui permettent de créer un pdf de la fenêtre courante :

Code:

Dim PathFilenameWithoutExtension As String
PathFilenameWithoutExtension = "C:\MonRep\MonFic"

PrintWin File PathFilenameWithoutExtension+".ps"
Run Program "pdfCreator.exe /IF"""+PathFilenameWithoutExtension+".ps"" /OF"""+PathFilenameWithoutExtension+".pdf"" /DeleteIF"

Attention, le répertoire contenant pdfCreator.exe doit être rajouter à la variable d'environnement path.

Didier Bondyfalat
DDE 06

Hors ligne

 

#6 Thu 14 August 2008 12:54

magali di salvo
Participant actif
Lieu: Lyon
Date d'inscription: 21 Sep 2005
Messages: 70

Re: [MapInfo9.0] Faire des PDF en batch

Merci à tous et particulièrement à didier bondyfalat, sa méthode est tout à fait ce qu'il me fallait !

j'ai adapté comme suit sans ajouter pdfcreator.exe dans la variable PATH et en ajoutant un overwrite (dès fois que...)

Code :
Dim PathFilenameWithoutExtension As String
PathFilenameWithoutExtension = "monrep/monfic"

Set Window FrontWindow() Printer Name "PDFCreator" Orientation LandScape Papersize 8
printwin window frontwindow() File PathFilenameWithoutExtension+".ps" overwrite

Run Program "C:/Program Files/PDFCreator/PDFCreator.exe /IF"""+PathFilenameWithoutExtension+".ps"" /OF"""+PathFilenameWithoutExtension+".pdf"" /DeleteIF"

...en plus j'ai appris qu'on pouvait donc dans mapbasic faire un "run program" pour lancer autre chose...

encore merci,

magali di salvo diren rhone alpes

Hors ligne

 

Pied de page des forums

Powered by FluxBB