Aller au contenu

Impression PDF \"multifeuille\"


jms

Messages recommandés

Salut,

Quelqu'un aurait-il une suggestion pour m'aider à pondre un script (langage TRES élémentaire !) me permettant de créer des fichiers PDF contenant autant de pages qu'il y a de layout dans mon fichier dessin source ? Je cale déjà pour créer un PDF ne contenant qu'une seule page, au moyen de :

(command "-plot" "y" "Chapelles de sol" "Acrobat PDFWriter" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "C:\\test.pdf"),

le problème étant qu'il cale sur l'avant-dernière étape, en m'ouvrant une fenêtre pour nommer le fichier pdf à créer, ce nom étant justement la dernière étape !

Quand bien même je parviendrais à créer ce pdf, il me resterait encore à répéter cette opération autant de fois qu'il y a de layout, en ajoutant les nouveaux pdf obtenu aux précédents.

Bien sûr je pourrais passer par un "publish" et obtenir de parfaits DWF, ce que je fais pour certains clients, mais ici, il s'agit pour moi de produire des fichiers pdf pour le compte d'un client ne pouvant pas installer de viewer (pour des raisons de sécurité qui ne me regarde pas)

 

Bonne journée

 

Jean-Michel

Lien vers le commentaire
Partager sur d’autres sites

si tu ne connais pas la longueur de boucle d'avance

 

pour faire un script

 

 (command "-plot" "y" "Chapelles de sol" "Acrobat PDFWriter" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "C:\\test.pdf"),
(command "-plot" "y" "Layout1" "Acrobat PDFWriter" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "C:\\test.pdf"),
(command "-plot" "y" "Layout2" "Acrobat PDFWriter" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "C:\\test.pdf"),
.....

 

en plus tu devra utiliser la fonction lisp:

; liste les présentations
(layoutlist)

 

ensuite

 

; nombre de présentations:
(length (layoutlist))

 

et enfin

 

 ; Nom de la première présentation
(nth 0 (layoutlist))

 

 ; Nom de la dernière présentation
(nth (- (length (layoutlist)) 1) (layoutlist))

 

teste ces lignes sur la ligne de commande

tu viens de débuter dans le Lisp! bon courage ;)

Dessinateur AutoCAD, Modeleur BIM, consultant informatique logiciels métier

Lenovo ThinkStation P330 i9 9900K 32Gb RAM 512 SSD + 1To

AutoCAD, Revit, GstarCAD, Fisa-CAD, Microsoft Office

 

PlaquetteDeplianteMars2024.pdf

Lien vers le commentaire
Partager sur d’autres sites

Voici un exemple de petit lisp que tu peux copier dans le bloc-notes et le nommer

"ImpressionMultiple [surligneur] .LSP[/surligneur]" le .LSP est nécessaire pour pouvoir l'ouvrir avec AutoCAD avec

Outils- AutoLISP-Charger

ou par bouton (load " chemin/ImpressionMultiple.LSP")

note que je n'ai pas noté "\" mais "/".

 

 ;;; Impression Multiples de toutes les présentations
;;; Utilisation de la boucle Tant Que suivant un compteur : (While (condition)....)
;;; Utilisation de la liste : (layoutlist)
;;; Utilisation de la fonction retournant un élément de list : (nth rang liste)
;;;

(setq i 0) ; boucle i = 0
;; Tant que i est inférieur à aux nombre de présentation effectue
;; la commanda "-plot" blablabla
;; et incrémente ensuite la boucle i
(while (< i (length (layoulist)))
 (progn
   (command 
          "-plot"
          "y"                    ; certainement Oui
          (nth i (layoutlist))   ; Nom de la présentation
          "Acrobat PDFWriter"    ; Option 1
          ""                     ; Option 2
          ""                     ; Option 3
          ""                     ; Option 4
          ""                     ; Option 5
          ""                     ; Option 6
          ""                     ; Option 7
          ""                     ; Option 8
          ""                     ; Option 9
          ""                     ; Option 10
          ""                     ; Option 11
          ""                     ; Option 12
          ""                     ; Option 13
          ""                     ; Option 14
          ""                     ; Option 15
          ""                     ; Option 16
          ""                     ; Option 17
          "C:\\test.pdf"         ; certainement le nom de fichier
   )
   (setq i (1+ i)) ; incremente la boucle i
 )
)
(setq i nil) ; libère la variable i et la mémoire

Dessinateur AutoCAD, Modeleur BIM, consultant informatique logiciels métier

Lenovo ThinkStation P330 i9 9900K 32Gb RAM 512 SSD + 1To

AutoCAD, Revit, GstarCAD, Fisa-CAD, Microsoft Office

 

PlaquetteDeplianteMars2024.pdf

Lien vers le commentaire
Partager sur d’autres sites

ça y est, j'entre dans la cour des grands, ça m'apprendra !

Un grand merci, il y a matière à découverte pour le néophyte que je suis en Lisp.

J'examine le script dès qu'on m'en laissera le temps, le teste et te retourne mes impressions.

 

Jean-Michel

Lien vers le commentaire
Partager sur d’autres sites

depuis la version 6 d'acrobat, il est possible de configurer le PC3 pour qu'il ne pose plus la question d'ou enregistrer le fichier.

 

sinon je me demande si il ne fallait pas faire un CMDECHO 0 ou alors un FILEDIA 0

 

 

PS: si ca fait directement plusieurs page dans acrobat, sa m'interresse, pour le moment je les assembles encore manuellement sous acrobat Pro. :-)

Lien vers le commentaire
Partager sur d’autres sites

- pour assemblez plusieurs fichier PDF je crois qu'il existe quelques gratuiciels.

 

- en ce qui concerne le FILEDIA et le CMDECHO c'est comme on veut

 

CMDECHO = 1 pour voir défiler les lignes, perso ça fait toujours beau de montrer que l'ordi bosse tout seul, on peut boire son café tranquille. (avec l'aide de la commande "_.TextScr" c'est le pied :cool: )

 

FILEDIA=1 la commande "_-PLOT " le fait sans problème.

Dessinateur AutoCAD, Modeleur BIM, consultant informatique logiciels métier

Lenovo ThinkStation P330 i9 9900K 32Gb RAM 512 SSD + 1To

AutoCAD, Revit, GstarCAD, Fisa-CAD, Microsoft Office

 

PlaquetteDeplianteMars2024.pdf

Lien vers le commentaire
Partager sur d’autres sites

  • 4 semaines après...

je sais pas mais moi, je génère des dizaines à plusieurs centaines de planches sur certains documents par des lisps. Donc en auto en fonction de l'intérêt (c'est auto-détecté) et mon lisp est hyper compliqué avec une analyse du contenu du dessin.

 

Mais après il me faut un dossier multipage en un seul pdf.

Donc tout part sur un seul layout !!!

 

Donc j'ai une routine lisp qui charge les polylignes sélectionnées (parfois je prends qu'une partie) qui font les contours de chaque feuille et paramettre la sortie en fonction de l'imprimante choisie pour le layout. Si c'est une postscript sur fichier, ça sauve tout en fichiers nom1.ps.plt nom2.ps.plt (plt ajouté automatiquement par autocad) puis je lance un batch qui enlève les .plt et laisse les ps puis un autre qui lance distiller sur un fichier précréé à la sélection de fichier .ps à concaténer + les signets et pdf marks nécessaires et qui me lance la création du pdf d'un seul tenant.

La routine lisp avec d'autres, je l'ai vendue très très cher donc pas possible de la donner.

Je continue de m'en servir cependant pour mon usage perso. C'est vraiment pas long à faire pour la partie impression.

Ca consiste à faire choisir toutes les polylignes et prendre les points extrêmes (voire mettre une limitation à 4 côtés et fermées) et d'un même calque.

 

Ne pas oublier de réduire le maxavctp à 4 ou 6 car là ça fait mal d'avoir les 48 par défaut si les desins sont complexes.

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité