Red de conocimiento informático - Material del sitio web - Cómo imprimir archivos DWG a PDF usando .NET

Cómo imprimir archivos DWG a PDF usando .NET

Pasos de ejecución: abra un archivo dwg, use netload para cargar el archivo .dll donde se encuentra el siguiente código y luego ingrese el comando plottest para obtener el resultado de salida (un archivo .pdf).

Referencias a utilizar:

AcDbMgd.dll;AcMgd.dll;AutoCAD 2010 Type Library;System.Windows.Forms; AutoCAD/ObjectDBX Common 18.0 Type Library.

VB.NET:

Sistema de importaciones

Importa Autodesk.AutoCAD.Runtime

Importa Autodesk.AutoCAD.Interop

Importaciones Autodesk.AutoCAD.Interop.Common

Importa Autodesk.AutoCAD.ApplicationServices

Importa Autodesk.AutoCAD.DatabaseServices

Importa Autodesk.AutoCAD.EditorInput

_

Public Sub PlotToPDF()

Dim activeDoc As Document = Application.DocumentManager.MdiActiveDocument

Atenuar este dibujo como AcadDocument = CType(activeDoc.AcadDocument, AcadDocument)

Atenuar diseño como AcadLayout = ThisDrawing.ActiveLayout

Atenuar MediaName como cadena = diseño.CanonicalMediaName

Si MediaName.Equals("") Entonces

activeDoc.Editor.WriteMessage("No hay medios establecidos para el diseño activo.")

Regresar

p>

Else

activeDoc.Editor.WriteMessage(("El medio para el diseño activo es: " + MediaName))

End If

Pruebe

Dim oplot As AcadPlotConfiguration = ThisDrawing.PlotConfigurations.Add("PDF", layout.ModelType)

oplot.PaperUnits = AcPlotPaperUnits.acMillimeters

oplot.StyleSheet="monocromo.ctb"

<

p> oplot.PlotWithPlotStyles = True

oplot.ConfigName = "DWG a PDF.pc3"

oplot.UseStandardScale = True

oplot.StandardScale = AcPlotScale. acScaleToFit

oplot.PlotType = AcPlotType.acExtents

oplot.CenterPlot = True

Dim oMediaNames As Object = layout.GetCanonicalMediaNames

Dim mediaNames As ArrayList = New ArrayList(CType(oMediaNames, String()))

Para cada sName como cadena en mediaNames

Si sName.Contains(MediaName) Entonces

oplot.CanonicalMediaName = sName

diseño.CopyFrom(oplot)

diseño.PlotRotation = AcPlotRotation.ac0grados

diseño.RefreshPlotDeviceInfo()

ThisDrawing.SetVariable("BACKGROUNDPLOT", 0)

ThisDrawing.Plot.QuietErrorMode = True

ThisDrawing.Plot.PlotToFile("c:/temp/d1.pdf" , "DWG a PDF.pc3")

oplot.Delete()

oplot = Nada

Volver

Finalizar si p>

Siguiente

Captura es como System.Exception

System.Windows.Forms.MessageBox.Show(es.ToString)

Fin Intentar

Fin

Sub