impress Posté(e) le 17 janvier 2023 Partager Posté(e) le 17 janvier 2023 Bonjour. Est-il possible de convertir un fichier pdf en dwg ? Merci. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Eric Posté(e) le 17 janvier 2023 Partager Posté(e) le 17 janvier 2023 Bonjour, Oui, si le PDF contient des vecteurs (lignes) 2 Citer Eric est formateur, revendeur sur AutoCAD LT, DraftSight, ZWCAD, SketchUp et PDF2CAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
didier Posté(e) le 17 janvier 2023 Partager Posté(e) le 17 janvier 2023 Bonjour @impress Le fait que ce soit possible ne dédouane pas de l'imprécision induite par la transformation des vecteurs. Il faut la garder à l'esprit, car elle peut être importante. L'imprécision est proportionnelle à l'échelle d'impression qui a été demandée pour la création du PDF. Cette manipulation n'est qu'un pis-aller et demander le fichier natif est plus fiable. Amicalement 2 Citer Éternel débutant... Mon site perso : Programmer dans AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
Eric Posté(e) le 17 janvier 2023 Partager Posté(e) le 17 janvier 2023 Tout à fait d'accord avec Didier. Convertir un PDF, c'est la solution de dépannage. Rien ne remplacera le fichier d'origine. Citer Eric est formateur, revendeur sur AutoCAD LT, DraftSight, ZWCAD, SketchUp et PDF2CAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
didier Posté(e) le 17 janvier 2023 Partager Posté(e) le 17 janvier 2023 Sans compter qu'une fois que le PDF qui a servi à la transformation est détaché, il ne reste plus que les entités AutoCAD, lignes, arcs, cercles et polylignes. Celui qui travaillera ultérieurement dans le fichier n'aura pas trace de la "naissance" de ces entités et ne saura pas si c'est un dessin "humain" ou une vectorisation et ce dernier prendra pour "argent comptant" ce qui est à l'écran (comme 99.9% des gens), il va peut-être lancer une cotation millimétrique sur des entités entachées d'erreur décimétriques. Il n'y a pas moyen de "tracer" l'origine des entités et en l'occurrence, c'est un manque. À savoir avant de lancer cette manipulation. Amicalement 1 Citer Éternel débutant... Mon site perso : Programmer dans AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
Erased Posté(e) le 17 janvier 2023 Partager Posté(e) le 17 janvier 2023 Salut Eric, quelle est la précision du logiciel PDF2CAD que tu vends ? Est-il plus précis que les commandes natives d'Autocad ? Je l'avais acheté il y a quelques années déjà, je trouvais cela extrêmement pratique mais j'avoue que je ne faisais pas attention à la précision millimétrique puisque je m'en servais en études. Après il faut partir de données sûres ! Bonne soirée. Citer Erased "Le risque de prendre une mauvaise décision n'est rien comparé à la terreur de l'indécision"Maimonide. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Eric Posté(e) le 18 janvier 2023 Partager Posté(e) le 18 janvier 2023 Bonjour Erased, Ce qui compte dans la conversion PDF, c'est surtout la qualité du fichier PDF, beaucoup plus que le logiciel qui va servir à faire la conversion. Si le PDF est de qualité médiocre, quel que soit le logiciel utilisé, l'import sera médiocre. Donc, cela dépend de la qualité du fichier qui a servi à l'origine, de la qualité du logiciel qui va créer le PDF et aussi des options de qualité qui ont été réglés avant l'export. Mais dans tous les cas, il y aura une perte de précision, des déformation d'objets, des pertes de tangentes... C'est pour cela, qu'il faut toujours prendre en compte, qu'importer un PDF, ce n'est que du dépannage. Ca peut servir en dernier recours si on n'a plus le fichier d'origine ou lors d'un appel d'offres pour faire un chiffrage, mais ça ne remplacera jamais le fichier crée sur un logiciel de CAO-DAO. Pour mieux comprendre voici un document qui explique le principe de la conversion. https://knowledge.autodesk.com/fr/support/autocad/learn-explore/caas/CloudHelp/cloudhelp/2022/FRA/AutoCAD-Core/files/GUID-1202CC8A-364F-4E93-8E86-6F476CD83C72-htm.html Citer Eric est formateur, revendeur sur AutoCAD LT, DraftSight, ZWCAD, SketchUp et PDF2CAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
Erased Posté(e) le 18 janvier 2023 Partager Posté(e) le 18 janvier 2023 Salut, merci Eric pour les précisions et le partage de l'article, intéressant ! A la prochaine. Citer Erased "Le risque de prendre une mauvaise décision n'est rien comparé à la terreur de l'indécision"Maimonide. Lien vers le commentaire Partager sur d’autres sites More sharing options...
impress Posté(e) le 19 janvier 2023 Auteur Partager Posté(e) le 19 janvier 2023 Le 17/01/2023 à 09:32, Eric a dit : Bonjour, Oui, si le PDF contient des vecteurs (lignes) bonjour @Eric. Merci pour votre réponse. Cependant, il apparait que cette fonction ne permet l'importation que page par page. Autant de manipulations que de pages dans le fichier... Connaissez-vous un moyen d'importer le fichier complet en une fois ? Dans l'attente de vous lire, encore merci. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
impress Posté(e) le 19 janvier 2023 Auteur Partager Posté(e) le 19 janvier 2023 Le 17/01/2023 à 12:22, didier a dit : Bonjour @impress Le fait que ce soit possible ne dédouane pas de l'imprécision induite par la transformation des vecteurs. Il faut la garder à l'esprit, car elle peut être importante. L'imprécision est proportionnelle à l'échelle d'impression qui a été demandée pour la création du PDF. Cette manipulation n'est qu'un pis-aller et demander le fichier natif est plus fiable. Amicalement Bonjour @didier Aussi d'accord avec vous. Seulement, quelque fois les dossiers n'existent plus que en version pdf, et pour faire quelques modifications succinctes, cela est bien pratique. En effet, quand les natifs existent, rien de tel. Bonne journée. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Eric Posté(e) le 20 janvier 2023 Partager Posté(e) le 20 janvier 2023 Bonjour @impress Pour faire de la conversion par lot, on peut passer par des logiciels indépendants comme PDF2CAD Citer Eric est formateur, revendeur sur AutoCAD LT, DraftSight, ZWCAD, SketchUp et PDF2CAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
Patrick Emin Posté(e) le 3 septembre Partager Posté(e) le 3 septembre Le 17/01/2023 à 05:20, impress a dit : Bonjour. Est-il possible de convertir un fichier pdf en dwg ? Merci. Bonjour, voir aussi cette discussion. Citer mon site perso Dessein-Tech Lien vers le commentaire Partager sur d’autres sites More sharing options...
Flobott Posté(e) le 10 septembre Partager Posté(e) le 10 septembre Salut la communauté, Fin du mois d'aout un client ma demandé de lui transformer un PDF (vectoriel) en DWG car il n'avait plus de source et dans l'impossibilité de les récupérer. J'ai fait une routine Lisp pour la conversion PDF en DWG par lot en utilisant la commande "ImportPDF" d'AutoCAD. Je vous la partage, vu l'occasion du post. (Cela reste de la conversion, donc rien de parfait avec "importPDF" mais cela aide pour les vieux plan avec base vectoriel et un peut de remise en forme) (Rien de fou, un truc fait en une journée qui peut dépanner, je n'ai pas eu le temps de simplifier le LISP, ni de faire la gestion d'erreur si trop de page PDF demandé, le FILDIA sautera si cela arrive) ;------------------------------------------------------------------------------- Début --------------------------------------------------------------------------------------------- (defun C:PDFtoDWG (/ var1 a b repertoire PtBloc NbPg res NbPgPDF result result1 InsertNomDuPDF CompNbPg TxtLienFichier ) ;Début de la fonction boite de dialogue pour la selection d'un dossier. ;--------------------------------------------------------------------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------------------------------------------------------------------- (defun browseForFolder ( / sh folder folder1 folderobject folderobject1 ) (vl-load-com) (setq sh (vla-getInterfaceObject (vlax-get-acad-object) "Shell.Application" ) ) (setq folder (vlax-invoke-method sh 'BrowseForFolder (vla-get-HWND (vlax-get-Acad-Object)) "Sélectionnez le fichier PDF pour la convertion graphique." 16384 ; Permet de parcourir tout : la boîte de dialogue de navigation affiche les fichiers ainsi que les dossiers. "J:\\" ) ) (setq folder1 (vlax-invoke-method sh 'BrowseForFolder (vla-get-HWND (vlax-get-Acad-Object)) "Sélectionnez le dossier pour la dépose des fichiers DWG. " 64 ; Activez la fonction glisser-déposer dans la boîte de dialogue, la réorganisation, les menus contextuels, les nouveaux dossiers, la suppression et d'autres commandes de menu contextuel. "J:\\" ) ) (vlax-release-object sh) (if folder (progn (setq folderobject (vlax-get-property folder 'Self) ) (setq result (vlax-get-property FolderObject 'Path) ) (vlax-release-object folder) (vlax-release-object FolderObject) ) ) (if folder1 (progn (setq folderobject1 (vlax-get-property folder1 'Self) ) (setq result1 (vlax-get-property FolderObject1 'Path) ) (vlax-release-object folder1) (vlax-release-object FolderObject1) (if (/= (substr result1 (strlen result1)) "\\" ) (setq result1 (strcat result1 "\\") ) result1 ) ) ) ) ;--------------------------------------------------------------------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------------------------------------------------------------------- ;Fin de la fonction boite de dialogue pour la selection d'un dossier. ;Début de la fonction de calcul du nombre de page d'un PDF. ;--------------------------------------------------------------------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------------------------------------------------------------------- (defun _PDFPageCount ( filename / fob fso mat reg str ) (vl-load-com) (if (and (setq filename (findfile filename)) (eq ".PDF" (strcase (vl-filename-extension filename))) ) (vl-catch-all-apply (function (lambda ( / _ReadAsTextFile _CountPage ) (defun _ReadAsTextFile ( fso fn / fob str res ) (setq fob (vlax-invoke fso 'getfile fn) str (vlax-invoke fso 'opentextfile fn 1 0) res (vlax-invoke str 'read (vlax-get fob 'size)) ) (vlax-invoke str 'close) (vlax-release-object str) (vlax-release-object fob) res ) (defun _CountPage ( rgx str / mat pag ) (vlax-put-property rgx 'pattern "/Type\\s*/Page[^s]") (vlax-put-property rgx 'ignorecase actrue) (vlax-put-property rgx 'global actrue) (setq mat (vlax-invoke rgx 'execute str) pag (vlax-get mat 'count) ) (vlax-release-object mat) (if (zerop pag) 1 pag) ) (setq fso (vlax-create-object "Scripting.FileSystemObject") reg (vlax-create-object "VBScript.RegExp") str (_ReadAsTextFile fso filename) res (_CountPage reg str) ) ) ) ) ) (foreach obj (list str fob mat fso reg) (vl-catch-all-apply 'vlax-release-object (list obj)) ) res (setq NbPgPDF res) ) (princ) ;--------------------------------------------------------------------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------------------------------------------------------------------- ;Fin de la fonction de calcul du nombre de page d'un PDF. (setq var1 (getvar "FILEDIA")) ;Sauvegarde les variable de l'utilisateur FILEDIA. (setvar "FILEDIA" 0) ;Empèche l'ouverture de la boîte de dialogue dans AutoCAD -> Saisie sur ligne de commande. (princ "\n---------------------------------------" ) (princ "\nSélection par boîtes de dialogue." ) (princ "\n---------------------------------------" ) (princ "\n ") (if (not (setq repertoire (browseForFolder))) (progn (princ "Vous avez annulée la routine.") (setvar "FILEDIA" var1) ;Active les invites ou la boîte de dialogue pour les valeurs d'attributs pendant la commande INSERER. (exit) ) ) ;Ouvre les explorateurs pour définir le fichier PDF et le dossier de dépose des DWG. (setq InsertNomDuPDF result) ;Définie le lien du PDF a importer pour convertion. (princ "\n---------------------------------------" ) (princ "\nCalcul du nombre de pages du PDF en cours." ) (princ "\n---------------------------------------" ) (princ "\n ") (_PDFPageCount InsertNomDuPDF) ;Lance la fonction de calcul du nombre de page du PDF en fonction du PDF séléctionné précédement. (princ "\n---------------------------------------" ) (princ (strcat "\nLe PDF sélectionné a " (itoa res)" pages." )) (princ "\n---------------------------------------" ) (princ "\n ") (initget 0) ;Autorise une valeur nul. (if (= nil (setq b (getint (strcat "\nEntree le nombre de pages <" (itoa res) "> : ")))) ;Si la valeur est nul alors la valeurs par défaut contenue dans "res" est utilise. (setq b (itoa res)) ;Vateur par défaut "res" le nbrs de page du PDF. (setq b (itoa b)) );Sinon l'utilisateur indique la valeur de la page voulu. (setq CompNbPg 1) ;Initialise le compteur a le valeur 1. (setq a '(0.0 0.0 0.0)) ;définie les coordonées d'insertion du PDF. (setq PtBloc a ) ;Definie les coordonnées x, y et z du point d'incertion du PDF. (command "_save" "dessinTemp.dwg" "_Y") ;Sauvegarde en dessin temporaire. (while (<= CompNbPg (atoi b)) ;Tant que le nombre de pages est inférieur ou égale avec la valeur b. (command "_erase" "_all" "") ;Supprime l'ensemble du dessin. (setq PtBloc a ) ;Definie les coordonnées x, y et z du point d'insertion du PDF. (command "_-PDFIMPORT" "f" result CompNbPg PtBloc 1 0) ;Insert le fichier PDF vectoriel en élement graphique. (command "_zoom" "_e") ;Zoom sur l'ensemble du dessin. (command "_purge" "_all" "*" "_n") (command "_purge" "_all" "*" "_n") (command "_purge" "_all" "*" "_n") ;Purge l'ensemble du dessin (3 passes). (setq TxtLienFichier (strcat result1(strcat "PDF-PAGE-"(itoa CompNbPg)".dwg"))) ;Définie le lien de créeation des fichier dwg pour chaque pdf. (command "_save" TxtLienFichier "_y") ;Sauvegarde en dessin temporaire. (setq CompNbPg (1+ CompNbPg )) ;Incrémentation du compteur. );Fin de la boucle. (command "_erase" "_all" "") ;Supprime l'ensemble du dessin. (setvar "FILEDIA" var1) ;Charge les variables de l'utilisateur FILEDIA. (princ "\n---------------------------------------" ) (princ "\nLa routine LISP : PDFtoDWG est terminée." ) (princ "\n---------------------------------------" ) (princ "\n ") (alert "La routine LISP : PDFtoDWG est terminée.") ;Alerte l'utilisateur sur la fin de l'application (command "_close" "_Y") ;Fermeture du dessin temporaire. (princ) ) ;------------------------------------------------------------------------- FIN -------------------------------------------------------------------------------------- En espérant que cela aide ^^ Citer AutoCad c'est comme mon cerveau, je ne l'utilise qu'à 10% Oo Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés