DWG DXF a PDF C# | Convertir archivos de Auto CAD a PDF JPEG PNG en C# .NET
Convertir DWG o DXF a PNG JPEG BMP GIF o TIFF en C#
Aspose.CAD para .NET puede convertir formatos de dibujo de AutoCAD como DXF y DWG a PNG, BMP, TIFF, JPEG y GIF. Ha expuesto una API eficiente y fácil de usar para lograr este objetivo.
Puede convertir cualquier formato de dibujo de AutoCAD soportado a formatos de imagen raster utilizando los simples pasos que se detallan a continuación.
- Cargue el archivo DWG o DXF de AutoCAD en la clase Image.
- Cree una instancia de CadRasterizationOptions.
- Establezca/cambie el tamaño de la imagen utilizando PageWidth y PageHeight.
- Cree una instancia de ImageOptionsBase.
- Establezca la propiedad VectorRasterizationOptions a las CadRasterizationOptions creadas en el paso anterior.
- Guarde el dibujo de AutoCAD como PDF con Image.Save pasando la ruta del archivo (o un objeto de MemoryStream) así como la instancia de ImageOptionsBase creada en el paso anterior.
Aquí está el código fuente completo.
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_ConvertingCAD(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
using (Aspose.CAD.Image image = Aspose.CAD.Image.Load(sourceFilePath)) | |
{ | |
// Create an instance of CadRasterizationOptions | |
Aspose.CAD.ImageOptions.CadRasterizationOptions rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions(); | |
// Set page width & height | |
rasterizationOptions.PageWidth = 1200; | |
rasterizationOptions.PageHeight = 1200; | |
// Create an instance of PngOptions for the resultant image | |
ImageOptionsBase options = new Aspose.CAD.ImageOptions.PngOptions(); | |
// Set rasterization options | |
options.VectorRasterizationOptions = rasterizationOptions; | |
MyDir = MyDir + "conic_pyramid_raster_image_out.png"; | |
// Save resultant image | |
image.Save(MyDir, options); | |
} |
Por defecto, la API renderiza solo el diseño “Modelo”. Sin embargo, también puede especificar los diseños de su elección al convertir dibujos CAD a formatos de imagen.
Personalizando la conversión CAD
Los procedimientos de conversión CAD a PDF y CAD a imagen raster son altamente configurables porque la clase CadRasterizationOptions se ha implementado de tal manera que proporciona muchas características opcionales que al configurarlas pueden anular el proceso de renderizado de acuerdo con las necesidades de la aplicación.
Clase CadRasterizationOptions
La clase CadRasterizationOptions es común para todos los formatos CAD soportados como DWG y DXF, por lo tanto, la información compartida en este artículo es válida para ambos formatos CAD mencionados.
Las propiedades más útiles de la clase CadRasterizationOptions son:
Propiedad | Valor por Defecto | Requerido | Descripción |
---|---|---|---|
PageWidth | 0 | Sí | Especifica el ancho de la página. |
PageHeight | 0 | Sí | Especifica la altura de la página. |
ScaleMethod | ScaleType.ShrinkToFit | No | Especifica si el dibujo debe escalarse automáticamente. El valor por defecto reduce automáticamente la imagen para que se ajuste al tamaño del lienzo. Cambie a modo GrowToFit, o use la opción None para desactivar el escalado automático. |
BackgroundColor | Color.White | No | Especifica el color de fondo de la imagen de salida. |
DrawType | CadDrawTypeMode.UseDrawColor | No | Especifica el modo de colorización de la entidad. Especifique la opción UseObjectColor para dibujar entidades usando su color nativo, o la opción UseDrawColor para sobrescribir colores nativos. |
DrawColor | Color.Black | No | Especifica el color de la entidad sobrescrita (solo si DrawType está configurado al valor de propiedad UseDrawColor). |
AutomaticLayoutsScaling | False | No | Especifica si se debe realizar un escalado automático del diseño para que coincida con el diseño del Modelo. |
Configurando el tamaño y modo del lienzo
Exportar de CAD a PDF o CAD a formatos de imagen raster no es una tarea trivial. Dado que el PDF o la imagen resultante requiere que se defina el tamaño del lienzo, necesitamos especificar las dimensiones de salida para que la página PDF renderice correctamente el dibujo. Establezca las propiedades CadRasterizationOptions.PageWidth y CadRasterizationOptions.PageHeight de manera explícita, o puede obtener una ImageSaveException.
Además, puede especificar opciones de escala de dimensiones. Las opciones de escalado se configuran mediante la propiedad CadRasterizationOptions.ScaleMethod. Utilice esta opción para ajustar automáticamente las dimensiones de la imagen de acuerdo con los valores de CadRasterizationOptions.PageWidth y CadRasterizationOptions.PageHeight. Por defecto, CadRasterizationOptions.ScaleMethod se configura en modo ScaleType.ShrinkToFit. Esta propiedad define el siguiente comportamiento:
- Si las dimensiones del dibujo CAD son mayores que el tamaño del lienzo resultante, entonces las dimensiones del dibujo se reducen para ajustarse al lienzo resultante mientras se preserva la relación de aspecto.
- Si las dimensiones del dibujo CAD son menores que el tamaño del lienzo resultante, establezca la propiedad CadRasterizationOptions.ScaleMethod en ScaleType.GrowToFit para aumentar el tamaño del dibujo para que se ajuste al lienzo PDF mientras se preserva la relación de aspecto.
- O desactive el escalado automático con la opción ScaleType.None.
El siguiente ejemplo de código muestra la opción de escalado automático en uso.
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_ConvertingCAD(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
using (Aspose.CAD.Image image = Aspose.CAD.Image.Load(sourceFilePath)) | |
{ | |
// Create an instance of CadRasterizationOptions and set its various properties | |
Aspose.CAD.ImageOptions.CadRasterizationOptions rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions(); | |
rasterizationOptions.PageWidth = 1600; | |
rasterizationOptions.PageHeight = 1600; | |
rasterizationOptions.AutomaticLayoutsScaling = true; | |
rasterizationOptions.NoScaling = false; | |
// Create an instance of PdfOptions | |
Aspose.CAD.ImageOptions.PdfOptions pdfOptions = new Aspose.CAD.ImageOptions.PdfOptions(); | |
// Set the VectorRasterizationOptions property | |
pdfOptions.VectorRasterizationOptions = rasterizationOptions; | |
//Export CAD to PDF | |
image.Save(MyDir + "result_out.pdf", pdfOptions); | |
// Create an instance of TiffOptions | |
Aspose.CAD.ImageOptions.TiffOptions tiffOptions = new Aspose.CAD.ImageOptions.TiffOptions(Aspose.CAD.FileFormats.Tiff.Enums.TiffExpectedFormat.Default); | |
// Set the VectorRasterizationOptions property | |
tiffOptions.VectorRasterizationOptions = rasterizationOptions; | |
//Export CAD to TIFF | |
image.Save(MyDir + "result_out.tiff", tiffOptions); | |
} |
Configurando los colores de fondo y de dibujo
Por defecto, la paleta de colores para el lienzo resultante se establece en el esquema de documento común. Eso significa que todas las entidades dentro del dibujo CAD se dibujan con un bolígrafo de color negro sobre un fondo blanco sólido. Estos ajustes se pueden cambiar con las propiedades CadRasterizationOptions.BackgroundColor y CadRasterizationOptions.DrawColor. Cambiar la propiedad CadRasterizationOptions.DrawColor también requiere establecer la propiedad CadRasterizationOptions.DrawType para utilizar el color de dibujo. La propiedad CadRasterizationOptions.DrawType controla si las entidades CAD preservan sus colores o se convierten a colores personalizados. Para preservar los colores de la entidad, especifique CadRasterizationOptions.DrawType como CadDrawTypeMode.UseObjectColor, de lo contrario especifique el valor CadDrawTypeMode.UseDrawColor.
El siguiente ejemplo de código muestra cómo utilizar diferentes propiedades de color.
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_ConvertingCAD(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
using (Aspose.CAD.Image image = Aspose.CAD.Image.Load(sourceFilePath)) | |
{ | |
// Create an instance of CadRasterizationOptions and set its various properties | |
Aspose.CAD.ImageOptions.CadRasterizationOptions rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions(); | |
rasterizationOptions.PageWidth = 1600; | |
rasterizationOptions.PageHeight = 1600; | |
rasterizationOptions.BackgroundColor = Aspose.CAD.Color.Beige; | |
rasterizationOptions.DrawType = Aspose.CAD.FileFormats.Cad.CadDrawTypeMode.UseDrawColor; | |
rasterizationOptions.DrawColor = Aspose.CAD.Color.Blue; | |
// Create an instance of PdfOptions | |
Aspose.CAD.ImageOptions.PdfOptions pdfOptions = new Aspose.CAD.ImageOptions.PdfOptions(); | |
// Set the VectorRasterizationOptions property | |
pdfOptions.VectorRasterizationOptions = rasterizationOptions; | |
//Export CAD to PDF | |
image.Save(MyDir + "result_out.pdf", pdfOptions); | |
// Create an instance of TiffOptions | |
Aspose.CAD.ImageOptions.TiffOptions tiffOptions = new Aspose.CAD.ImageOptions.TiffOptions(Aspose.CAD.FileFormats.Tiff.Enums.TiffExpectedFormat.Default); | |
// Set the VectorRasterizationOptions property | |
tiffOptions.VectorRasterizationOptions = rasterizationOptions; | |
//Export CAD to TIFF | |
image.Save(MyDir + "result_out.tiff", tiffOptions); | |
} |
Configurando el escalado automático del diseño
La mayoría de los dibujos CAD tienen más de un diseño almacenado en un solo archivo, y cada diseño podría tener diferentes dimensiones. Al renderizar dichos dibujos CAD a PDF, cada página del PDF podría tener un escalado diferente según el tamaño del diseño. Para hacer que el renderizado sea homogéneo, las API de Aspose.CAD han expuesto la propiedad CadRasterizationOptions.AutomaticLayoutsScaling. Su valor por defecto es false, pero cuando es verdadero, la API intentará buscar una escala correspondiente para cada diseño separado y dibujarlos de manera correspondiente realizando una operación de redimensionamiento automática de acuerdo con el tamaño de la página.
Aquí se muestra cómo funciona la propiedad CadRasterizationOptions.AutomaticLayoutsScaling en colaboración con la propiedad CadRasterizationOptions.ScaleMethod.
- Si ScaleMethod está configurado en ScaleType.ShrinkToFit o ScaleType.GrowToFit con AutomaticLayoutsScaling configurado en false, entonces todos los diseños (incluyendo el Modelo) se procesarán de acuerdo con la primera opción.
- Si ScaleMethod está configurado en ScaleType.ShrinkToFit o ScaleType.GrowToFit con AutomaticLayoutsScaling configurado en true, entonces todos los diseños (excepto el Modelo) se procesarán de acuerdo con su tamaño mientras que el Modelo se procesará de acuerdo con la primera opción.
- Si ScaleMethod está configurado en ScaleType.None con AutomaticLayoutsScaling configurado en true o false, entonces no se realizará ningún escalado.
El siguiente ejemplo de código muestra cómo configurar el escalado automático del diseño para la conversión de CAD a PDF.
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_ConvertingCAD(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
using (Aspose.CAD.Image image = Aspose.CAD.Image.Load(sourceFilePath)) | |
{ | |
// Create an instance of CadRasterizationOptions and set its various properties | |
Aspose.CAD.ImageOptions.CadRasterizationOptions rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions(); | |
rasterizationOptions.PageWidth = 1600; | |
rasterizationOptions.PageHeight = 1600; | |
// Set Auto Layout Scaling | |
rasterizationOptions.AutomaticLayoutsScaling = true; | |
// Create an instance of PdfOptions | |
Aspose.CAD.ImageOptions.PdfOptions pdfOptions = new Aspose.CAD.ImageOptions.PdfOptions(); | |
// Set the VectorRasterizationOptions property | |
pdfOptions.VectorRasterizationOptions = rasterizationOptions; | |
MyDir = MyDir + "result_out.pdf"; | |
//Export the CAD to PDF | |
image.Save(MyDir, pdfOptions); | |
} |
Convertir los diseños DXF o DWG de AutoCAD a PNG o otros formatos de imagen en C#
La API Aspose.CAD para .NET puede convertir los diseños CAD de formatos soportados como DXF y DWG a PNG BMP TIFF JPEG y GIF. La API también proporciona soporte para renderizar los diseños específicos de un dibujo CAD en diferentes capas PSD.
Aquí se muestra cómo puede lograr lo mismo en los siguientes simples pasos.
- Cargue el archivo DWG o DXF de AutoCAD usando la clase Image.
- Establezca/cambie el ancho y la altura de la imagen.
- Establezca el/los nombre(s) de diseño deseado(s) utilizando la propiedad CadRasterizationOptions.Layouts.
- Cree una instancia de ImageOptionsBase y configure su propiedad VectorRasterizationOptions a la instancia de CadRasterizationOptions creada en el paso anterior.
- Guarde el diseño CAD como TIFF o imagen.
Aquí está el código fuente completo.
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_ConvertingCAD(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
using (Aspose.CAD.Image image = Aspose.CAD.Image.Load(sourceFilePath)) | |
{ | |
// Create an instance of CadRasterizationOptions | |
Aspose.CAD.ImageOptions.CadRasterizationOptions rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions(); | |
// Set page width & height | |
rasterizationOptions.PageWidth = 1200; | |
rasterizationOptions.PageHeight = 1200; | |
// Specify a list of layout names | |
rasterizationOptions.Layouts = new string[] { "Model", "Layout1" }; | |
// Create an instance of TiffOptions for the resultant image | |
ImageOptionsBase options = new Aspose.CAD.ImageOptions.TiffOptions(Aspose.CAD.FileFormats.Tiff.Enums.TiffExpectedFormat.Default); | |
// Set rasterization options | |
options.VectorRasterizationOptions = rasterizationOptions; | |
MyDir = MyDir + "conic_pyramid_layoutstorasterimage_out.tiff"; | |
// Save resultant image | |
image.Save(MyDir, options); | |
} |
Activando el seguimiento para el proceso de renderizado CAD
Aspose.CAD ha introducido una serie de clases y campos de enumeración de soporte para ayudar con el seguimiento del proceso de renderizado CAD. Con estos cambios en su lugar, la conversión de CAD a PDF ahora se puede lograr de la siguiente manera habilitando el seguimiento.
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_ConvertingCAD(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
using (Aspose.CAD.Image image = Aspose.CAD.Image.Load(sourceFilePath)) | |
{ | |
MemoryStream stream = new MemoryStream(); | |
Aspose.CAD.ImageOptions.PdfOptions pdfOptions = new Aspose.CAD.ImageOptions.PdfOptions(); | |
// Create an instance of CadRasterizationOptions and set its various properties | |
Aspose.CAD.ImageOptions.CadRasterizationOptions cadRasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions(); | |
pdfOptions.VectorRasterizationOptions = cadRasterizationOptions; | |
cadRasterizationOptions.PageWidth = 800; | |
cadRasterizationOptions.PageHeight = 600; | |
image.Save(stream, pdfOptions); | |
} |
El seguimiento del proceso de renderizado CAD puede detectar los siguientes problemas posibles.
- Información de encabezado faltante o corrupta.
- Información de diseño faltante.
- Entidades de bloque faltantes.
- Estilos de dimensión faltantes.
- Estilos faltantes.
Sustitución de fuentes al convertir dibujos CAD
Es bastante posible que un dibujo CAD particular use alguna fuente específica que no está disponible en la máquina donde se está llevando a cabo la conversión de CAD a PDF o CAD a imagen raster. En tales situaciones, la API Aspose.CAD generará una excepción apropiada para destacar la(s) fuente(s) faltante(s) y detener el proceso de conversión porque la API requiere estas fuentes para renderizar correctamente los contenidos en el PDF o imágenes resultantes.
La API Aspose.CAD proporciona una manera fácil de utilizar el mecanismo para sustituir la(s) fuente(s) requerida(s) con la(s) fuente(s) disponibles. La propiedad CadImage.Styles devuelve una instancia de CadStylesDictionary que a su vez contiene el CadStyleTableObject para cada estilo en el dibujo CAD, mientras que CadStyleTableObject.PrimaryFontName puede ser utilizada para especificar el nombre de la fuente disponible.
El siguiente fragmento de código demuestra el uso de la API Aspose.CAD para .NET para cambiar la fuente de todos los estilos en un dibujo CAD.
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_ConvertingCAD(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
// Load a CAD drawing in an instance of CadImage | |
using (Aspose.CAD.FileFormats.Cad.CadImage cadImage = (Aspose.CAD.FileFormats.Cad.CadImage)Aspose.CAD.Image.Load(sourceFilePath)) | |
{ | |
// Iterate over the items of CadStyleDictionary | |
foreach (CadStyleTableObject style in cadImage.Styles) | |
{ | |
// Set the font name | |
style.PrimaryFontName = "Arial"; | |
} | |
} | |
Console.WriteLine("\nFont changed successfully."); | |
} | |
public static void SubstitutingFontByName() | |
{ | |
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_ConvertingCAD(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
// Load a CAD drawing in an instance of CadImage | |
using (Aspose.CAD.FileFormats.Cad.CadImage cadImage = (Aspose.CAD.FileFormats.Cad.CadImage)Aspose.CAD.Image.Load(sourceFilePath)) | |
{ | |
// Iterate over the items of CadStyleDictionary | |
foreach (CadStyleTableObject style in cadImage.Styles) | |
{ | |
if (style.StyleName == "Roman") | |
{ | |
// Specify the font for one particular style | |
style.PrimaryFontName = "Arial"; | |
} | |
} | |
} | |
} | |
También es posible cambiar la fuente de un solo estilo particular accediendo a él a través del nombre del estilo. El siguiente fragmento de código demuestra el uso de este enfoque.
// For complete examples and data files, please go to https://github.com/aspose-cad/Aspose.CAD-for-.NET | |
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_ConvertingCAD(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
// Load a CAD drawing in an instance of CadImage | |
using (Aspose.CAD.FileFormats.Cad.CadImage cadImage = (Aspose.CAD.FileFormats.Cad.CadImage)Aspose.CAD.Image.Load(sourceFilePath)) | |
{ | |
// Iterate over the items of CadStyleDictionary | |
foreach (CadStyleTableObject style in cadImage.Styles) | |
{ | |
if (style.StyleName == "Roman") | |
{ | |
// Specify the font for one particular style | |
style.PrimaryFontName = "Arial"; | |
} | |
} | |
} |
Convertir capas CAD a formatos de imagen raster
La API Aspose.CAD para .NET ha expuesto un medio eficiente y fácil de usar para especificar el nombre de la capa CAD requerida y renderizarla a formatos de imagen raster. Aquí se muestra cómo puede lograr lo mismo en 5 simples pasos como se enumera a continuación.
- Cargue el archivo CAD en una instancia de Image utilizando el método de fábrica Load.
- Cree una instancia de CadRasterizationOptions y establezca sus propiedades obligatorias como PageWidth y PageHeight.
- Agregue el nombre de la capa deseada utilizando el método CadRasterizationOptions.Layers.Add.
- Cree una instancia de ImageOptionsBase y establezca su propiedad VectorRasterizationOptions a la instancia de CadRasterizationOptions creada en el paso anterior.
- Llame al método Image.Save pasando la ruta del archivo (o un objeto de MemoryStream) así como la instancia de ImageOptionsBase creada en el paso anterior.
Aquí está el código fuente completo.
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_ConvertingCAD(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
// Load a CAD drawing in an instance of Image | |
using (var image = Aspose.CAD.Image.Load(sourceFilePath)) | |
{ | |
// Create an instance of CadRasterizationOptions | |
var rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions(); | |
// Set image width & height | |
rasterizationOptions.PageWidth = 500; | |
rasterizationOptions.PageHeight = 500; | |
// Add the layer name to the CadRasterizationOptions's layer list | |
rasterizationOptions.Layers= new string[] { "LayerA" }; | |
// Create an instance of JpegOptions (or any ImageOptions for raster formats) | |
var options = new Aspose.CAD.ImageOptions.JpegOptions(); | |
// Set VectorRasterizationOptions property to the instance of CadRasterizationOptions | |
options.VectorRasterizationOptions = rasterizationOptions; | |
//Export each layer to Jpeg format | |
MyDir = MyDir + "CADLayersToRasterImageFormats_out.jpg"; | |
image.Save(MyDir, options); | |
} | |
Console.WriteLine("\nCAD layers converted successfully to raster image format.\nFile saved at " + MyDir); | |
} | |
public static void ConvertAllLayersToRasterImageFormats() | |
{ | |
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_ConvertingCAD(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
// Load a CAD drawing in an instance of CadImage | |
using (var image = (Aspose.CAD.FileFormats.Cad.CadImage)Aspose.CAD.Image.Load(sourceFilePath)) | |
{ | |
// Create an instance of CadRasterizationOptions | |
var rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions(); | |
// Set image width & height | |
rasterizationOptions.PageWidth = 500; | |
rasterizationOptions.PageHeight = 500; | |
// Get the layers in an instance of CadLayersDictionary | |
var layersList = image.Layers; | |
// Iterate over the layers | |
foreach (var layerName in layersList.GetLayersNames()) | |
{ | |
// Display layer name for tracking | |
Console.WriteLine("Start with " + layerName); | |
// Add the layer name to the CadRasterizationOptions's layer list | |
rasterizationOptions.Layers = new string[] { "LayerA" }; | |
// Create an instance of JpegOptions (or any ImageOptions for raster formats) | |
var options = new Aspose.CAD.ImageOptions.JpegOptions(); | |
// Set VectorRasterizationOptions property to the instance of CadRasterizationOptions | |
options.VectorRasterizationOptions = rasterizationOptions; | |
//Export each layer to Jpeg format | |
image.Save(layerName + "_out.jpg", options); | |
} | |
} | |
Console.WriteLine("\nCAD all layers converted successfully to raster image format."); |
Convertir todas las capas CAD a imágenes separadas
Puede obtener todas las capas de un dibujo CAD utilizando CadImage.Layers y renderizar cada capa en una imagen separada como se demuestra a continuación.
// For complete examples and data files, please go to https://github.com/aspose-cad/Aspose.CAD-for-.NET | |
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_ConvertingCAD(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
// Load a CAD drawing in an instance of CadImage | |
using (var image = (Aspose.CAD.FileFormats.Cad.CadImage)Aspose.CAD.Image.Load(sourceFilePath)) | |
{ | |
// Create an instance of CadRasterizationOptions | |
var rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions(); | |
// Set image width & height | |
rasterizationOptions.PageWidth = 500; | |
rasterizationOptions.PageHeight = 500; | |
// Set the drawing to render at the center of image | |
rasterizationOptions.CenterDrawing = true; | |
// Get the layers in an instance of CadLayersDictionary | |
var layersList = image.Layers; | |
// Iterate over the layers | |
foreach (var layerName in layersList.GetLayersNames()) | |
{ | |
// Display layer name for tracking | |
Console.WriteLine("Start with " + layerName); | |
// Add the layer name to the CadRasterizationOptions's layer list | |
rasterizationOptions.Layers.Add(layerName); | |
// Create an instance of JpegOptions (or any ImageOptions for raster formats) | |
var options = new Aspose.CAD.ImageOptions.JpegOptions(); | |
// Set VectorRasterizationOptions property to the instance of CadRasterizationOptions | |
options.VectorRasterizationOptions = rasterizationOptions; | |
//Export each layer to Jpeg format | |
image.Save(layerName + "_out.jpg", options); | |
} | |
} |
Convertir capas CAD DWF a formatos de imagen raster
La API Aspose.CAD para .NET ha expuesto un medio eficiente y fácil de usar para especificar el nombre de la capa CAD requerida y renderizarla a formatos de imagen raster. Aquí se muestra cómo puede lograr lo mismo en 5 simples pasos como se enumera a continuación.
- Cargue el archivo CAD DWF en una instancia de Image utilizando el método de fábrica Load.
- Cree una instancia de CadRasterizationOptions y establezca sus propiedades obligatorias como PageWidth y PageHeight.
- Agregue el nombre de la capa deseada utilizando el método CadRasterizationOptions.Layers.Add.
- Cree una instancia de ImageOptionsBase y establezca su propiedad VectorRasterizationOptions a la instancia de CadRasterizationOptions creada en el paso anterior.
- Llame al método Image.Save pasando la ruta del archivo (o un objeto de MemoryStream) así como la instancia de ImageOptionsBase creada en el paso anterior.
Aquí está el código fuente completo.
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_ConvertingCAD(); | |
string inputFile = MyDir + "18-12-11 9644 - site.dwf"; | |
using (Image image = Image.Load(inputFile)) | |
{ | |
BmpOptions bmpOptions = new BmpOptions(); | |
var dwfRasterizationOptions = new CadRasterizationOptions(); | |
bmpOptions.VectorRasterizationOptions = dwfRasterizationOptions; | |
dwfRasterizationOptions.PageHeight = 500; | |
dwfRasterizationOptions.PageWidth = 500; | |
// export | |
string outPath = MyDir + "18-12-11 9644 - site.bmp"; | |
image.Save(outPath, bmpOptions); | |
} | |
Aspose.CAD para .NET escribe directamente la información sobre la API y el número de versión en los documentos de salida. Por ejemplo, al renderizar un documento a PDF, Aspose.CAD para .NET poblará el campo de Aplicación con el valor ‘Aspose.CAD’ y el campo de Productor de PDF con un valor, por ejemplo, ‘Aspose.CAD v 17.10’.
Tenga en cuenta que no puede instruir a Aspose.CAD para .NET que cambie o elimine esta información de los documentos de salida.