• Ce forum est la traduction générée par la machine de www.cad3d.it/forum1 - la communauté italienne du design. Plusieurs termes ne sont pas traduits correctement.

Imprimer en pdf d'une zone sélectionnée

  • Auteur du sujet Auteur du sujet Lubracali
  • Date de début Date de début

Lubracali

Guest
bonjour à tous.

je crée un formulaire utilisateur vba qui me permet de dessiner quelques éléments en 2d.

j'ai créé un bouton qui me permet d'exporter en pdf en utilisant l'imprimante "adobe pdf" créée par acrobat pro.

le code est celui-ci
Code:
privé sous cmdpdf_click()
dim stampa comme acadplot
dim nbackgroundplot aussi longtemps


nbackgroundplot = cedrawing.getvariable("backgroundplot")

Appelez ça "dessin". setvariable("backgroundplot", 0)

set stampa = ce dessin. colis
tampa.plottodevice ("adobe pdf")

Appelez ça "dessin". setvariable("backgroundplot", nbackgroundplot)


peau sous
le code fonctionne, je peux imprimer, mais il y a un problème.

le problème est que de cette façon je peux imprimer, mais imprimer ce qui décide autocad, dans le format qui le décide (je pense que c'est l'imprimante par défaut).

je dois pouvoir décider du format de sortie (c.-à-d. le format du pdf) et de la zone à imprimer (en sélectionnant l'impression -> fenêtre et en sélectionnant la zone rectangulaire).

si quelqu'un savait comment m'indiquer une propriété ou un commandement autre que celui que j'utilise qui me permettrait de le faire, cela me ferait un grand plaisir :)
 
Bonjour à tous.

Je crée un formulaire utilisateur vba qui me permet de dessiner quelques éléments en 2d.

J'ai créé un bouton qui me permet d'exporter en pdf en utilisant l'imprimante "adobe pdf" créée par acrobat pro.

Le code est celui-ci
Code:
privé sous cmdpdf_click()
Dim stampa comme acadplot
dim nbackgroundplot aussi longtemps


nbackgroundplot = cedrawing.getvariable("backgroundplot")

Appelez ça "drawing". setvariable("backgroundplot", 0)

set stampa = ce dessin. parcelle
tampa.plottodevice ("adobe pdf")

Appelez ça "drawing". setvariable("backgroundplot", nbackgroundplot)


fin sous
Le code fonctionne, je peux imprimer, mais il y a un problème.

le problème est que de cette façon je peux imprimer, mais imprimer ce qui décide autocad, dans le format qui le décide (je pense que c'est l'imprimante par défaut).

Je dois pouvoir décider du format de sortie (c.-à-d. le format du pdf) et de la zone à imprimer (en sélectionnant l'impression -> fenêtre et en sélectionnant la zone rectangulaire).

Si quelqu'un savait comment m'indiquer une propriété ou un commandement autre que celui que j'utilise qui me permettrait de le faire, cela me ferait un grand plaisir :)
Bonjour, je serais également intéressé par la solution, car je suis dans la même situation.
en ce moment le code que j'ai produit d'excel avec la vba et rapporté ci-dessous.

Dis bonjour.

Code:
suite de l'erreur

définir acadapp = interaction. getobject(, "autocad.application")
'set acadapp = interaction. getobject(, "autocad.application.22")
'les deux déclarations ci-dessus se comportent sans aucune différence perceptible

en cas d'erreur alors
debug.print "error " & err.number
debug.print err.description
debug.print "démarrage automatique"

Erreur.

définir acadapp = nouvelle application acad
'set acadapp = interaction.createobjet("autocad.application.22")
'les deux déclarations ci-dessus se comportent sans aucune différence perceptible

«déclaration essentielle
acadapp.visible = vrai

en cas d'erreur alors
msgbox err.description
sortie sous
fin si
fin si

debug.print "en cours d'exécution" + acadapp.name + "version" + acadapp.version

définir acaddoc = acadapp.activedocument
si acaddoc n'est rien alors
définir acaddoc = acadapp.documents.add
fin si

Si l'acaddoc. espace actif = 0 alors
acaddoc.espace actif = 1
fin si

fin sous



sous-bouton privé8_click()

appel connect_acad
redim préserver strartpoint10(0 à 1)
Dim pointfinal(0 à 1) en double
dim pointfina2(0 à 1) double
dim ptconfigs comme acadplotconfigurations
dim plotconfig comme acadplotconfiguration
dim ptobj comme acadplot
dim backplot comme variante


pointfinal(0) = strartpoint10(0)
pointfinal(1) = point strart10(1) - 29,7
pointfina2(0) = strartpoint10(0) + 42
pointfina2(1) = point strart10(1) - 29,7

définir ptobj = acaddoc.plot
définir ptconfigs = acaddoc.plotconfigurations
ptconfigs.add "pdf", faux
définir ptconfig = ptconfigs.item("pdf")
plotconfig.standardscale = acscaletofit
linkconfig.refreshplotdeviceinfo

point final, pointfina2
pointfina2
linkconfig.configname = "dwg to pdf.pc3"
'plotconfig.stylesheet = "monochrome.ctb"
'plotconfig.centerplot = true

linkconfig.refreshplotdeviceinfo
linkconfig.plottype = affindow
linkconfig.canonicalmedianame = "iso_a3_(420.00_x_297.00_mm)"
linkconfig.refreshplotdeviceinfo

si ptobj.plottofile(remplace(acaddoc.fullname, "dwg", "pdf"), linkconfig.configname) alors
msgbox "pdf creato"
Autre
msgbox "pdf non creato"
fin si
ptconfigs.item("pdf"). supprimer
jeu de config = rien

fin sous
 
Dernière édition:

Statistiques du forum

Sujets
58 521
Messages
499 056
Membres
104 110
Dernier membre
ChristianR

Membres en ligne

Aucun membre en ligne actuellement.
Retour
Haut