DWG DXF a PDF C# | Convertire file Auto CAD in PDF JPEG PNG in C# .NET
Convertire DWG o DXF in PNG JPEG BMP GIF o TIFF in C#
Aspose.CAD per .NET può convertire formati di disegno AutoCAD come DXF e DWG in PNG, BMP, TIFF, JPEG e GIF. Ha esposto un’API efficiente e facile da usare per raggiungere questo obiettivo.
Puoi convertire qualsiasi formato di disegno AutoCAD supportato in formati di immagine raster utilizzando i semplici passaggi descritti di seguito.
- Carica il file AutoCAD DWG o DXF nella classe Image.
- Crea un’istanza di CadRasterizationOptions.
- Imposta/cambia le dimensioni dell’immagine utilizzando PageWidth e PageHeight
- Crea un’istanza di ImageOptionsBase
- Imposta la proprietà VectorRasterizationOptions sull’istanza di CadRasterizationOptions creata nel passaggio precedente.
- Salva il disegno AutoCAD come PDF con Image.Save passando il percorso del file (o un oggetto MemoryStream) e l’istanza di ImageOptionsBase creata nel passaggio precedente.
Ecco il codice sorgente 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); | |
} |
Per impostazione predefinita, l’API rende solo il layout “Model”. Tuttavia, puoi anche specificare i layout a tua scelta durante la conversione dei disegni CAD in formati immagine.
Personalizzare la Conversione CAD
Le procedure di conversione da CAD a PDF e da CAD a immagini raster sono altamente configurabili perché la classe CadRasterizationOptions è stata implementata in modo tale da fornire molte funzionalità opzionali che, se impostate, possono sovrascrivere il processo di rendering in base alle esigenze dell’applicazione.
Classe CadRasterizationOptions
La classe CadRasterizationOptions è comune a tutti i formati CAD supportati come DWG e DXF pertanto, le informazioni condivise in questo articolo sono valide per entrambi i formati CAD suddetti.
Le proprietà più utili della classe CadRasterizationOptions sono:
Proprietà | Valore di Default | Richiesto | Descrizione |
---|---|---|---|
PageWidth | 0 | Sì | Specifica la larghezza della pagina. |
PageHeight | 0 | Sì | Specifica l’altezza della pagina |
ScaleMethod | ScaleType.ShrinkToFit | No | Specifica se il disegno deve essere scalato automaticamente. Il valore predefinito riduce automaticamente l’immagine per adattarla alle dimensioni della tela. Passa alla modalità GrowToFit, o usa l’impostazione None per disabilitare il ridimensionamento automatico. |
BackgroundColor | Color.White | No | Specifica il colore di sfondo dell’immagine di output. |
DrawType | CadDrawTypeMode.UseDrawColor | No | Specifica la modalità di colorazione dell’entità. Specifica l’opzione UseObjectColor per disegnare entità utilizzando il loro colore nativo, oppure l’opzione UseDrawColor per sovrascrivere i colori nativi. |
DrawColor | Color.Black | No | Specifica il colore sovrascritto dell’entità (solo se DrawType è impostato sul valore della proprietà UseDrawColor). |
AutomaticLayoutsScaling | False | No | Specifica se deve essere eseguito il ridimensionamento automatico dei layout per adattarsi al layout Model. |
Impostare le dimensioni e la modalità della tela
Esportare da CAD a PDF o da CAD a formati immagine raster non è un compito banale. Poiché il PDF risultante o l’immagine richiedono che la dimensione della tela venga definita, dobbiamo specificare le dimensioni di output per la pagina PDF per visualizzare correttamente il disegno. Imposta esplicitamente le proprietà CadRasterizationOptions.PageWidth e CadRasterizationOptions.PageHeight, altrimenti potresti ricevere un’ImageSaveException.
Inoltre, puoi specificare le opzioni di scala delle dimensioni. Le opzioni di scalatura vengono impostate dalla proprietà CadRasterizationOptions.ScaleMethod. Usa questa opzione per regolare automaticamente le dimensioni dell’immagine in base ai valori di CadRasterizationOptions.PageWidth e CadRasterizationOptions.PageHeight. Per impostazione predefinita, CadRasterizationOptions.ScaleMethod è impostato sulla modalità ScaleType.ShrinkToFit. Questa proprietà definisce il seguente comportamento:
- Se le dimensioni del disegno CAD sono maggiori delle dimensioni della tela risultante, le dimensioni del disegno vengono ridotte per adattarsi alla tela risultante mantenendo il rapporto d’aspetto.
- Se le dimensioni del disegno CAD sono inferiori rispetto alle dimensioni della tela risultante, imposta la proprietà CadRasterizationOptions.ScaleMethod su ScaleType.GrowToFit per aumentare le dimensioni del disegno in modo che si adatti alla tela PDF mantenendo il rapporto d’aspetto.
- Oppure disabilita il ridimensionamento automatico con l’opzione ScaleType.None.
Il campione di codice sottostante mostra l’opzione di scalatura automatica in 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); | |
} |
Impostare i colori di sfondo e di disegno
Per impostazione predefinita, la tavolozza dei colori per la tela risultante è impostata sullo schema documento comune. Ciò significa che tutte le entità all’interno del disegno CAD vengono disegnate con una penna di colore nero su uno sfondo bianco uniforme. Queste impostazioni possono essere modificate con le proprietà CadRasterizationOptions.BackgroundColor e CadRasterizationOptions.DrawColor. Cambiare la proprietà CadRasterizationOptions.DrawColor richiede anche di impostare la proprietà CadRasterizationOptions.DrawType per poter utilizzare il colore di disegno. La proprietà CadRasterizationOptions.DrawType controlla se le entità CAD preservano i loro colori o vengono convertite in colori personalizzati. Per preservare i colori delle entità, specifica CadRasterizationOptions.DrawType come CadDrawTypeMode.UseObjectColor, altrimenti specifica il valore CadDrawTypeMode.UseDrawColor.
Il campione di codice sottostante mostra come utilizzare le diverse proprietà di colore.
// 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); | |
} |
Impostare il ridimensionamento automatico del layout
La maggior parte dei disegni CAD ha più di un layout memorizzato in un singolo file, e ogni layout potrebbe avere dimensioni diverse. Durante il rendering di tali disegni CAD in PDF, ogni pagina del PDF potrebbe avere scale diverse in base alle dimensioni del layout. Per rendere il rendering omogeneo, le API Aspose.CAD hanno esposto la proprietà CadRasterizationOptions.AutomaticLayoutsScaling. Il suo valore predefinito è false ma quando è vero, l’API cercherà di trovare una scala corrispondente per ciascun layout separato e disegnarli in modo corrispondente eseguendo un’operazione di ridimensionamento automatico in base alla dimensione della pagina.
Ecco come funziona la proprietà CadRasterizationOptions.AutomaticLayoutsScaling in collaborazione con la proprietà CadRasterizationOptions.ScaleMethod.
- Se ScaleMethod è impostato su ScaleType.ShrinkToFit o ScaleType.GrowToFit con AutomaticLayoutsScaling impostato su false, allora tutti i layout (inclusa la Model) verranno elaborati secondo la prima opzione.
- Se ScaleMethod è impostato su ScaleType.ShrinkToFit o ScaleType.GrowToFit con AutomaticLayoutsScaling impostato su true, allora tutti i layout (eccetto il Model) verranno elaborati in base alle loro dimensioni mentre il Model verrà elaborato in base alla prima opzione.
- Se ScaleMethod è impostato su ScaleType.None con AutomaticLayoutsScaling impostato su true o false, allora non verrà eseguito alcun ridimensionamento.
Il campione di codice sottostante mostra come impostare il ridimensionamento automatico del layout per la conversione da 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); | |
} |
Convertire layout DXF o DWG di AutoCAD in PNG o altri formati immagine in C#
L’API Aspose.CAD per .NET può convertire layout CAD di formati supportati come DXF e DWG in PNG BMP TIFF JPEG e GIF. L’API fornisce anche supporto per rendere i layout specifici di un disegno CAD in diversi livelli PSD.
Ecco come puoi ottenere lo stesso in semplici passaggi.
- Carica il file AutoCAD DWG o DXF utilizzando la classe Image.
- Imposta/cambia la larghezza e l’altezza dell’immagine.
- Imposta il/i nome/i del layout desiderato utilizzando la proprietà CadRasterizationOptions.Layouts.
- Crea un’istanza di ImageOptionsBase e imposta la sua proprietà VectorRasterizationOptions sull’istanza di CadRasterizationOptions creata nel passaggio precedente.
- Salva il layout CAD come TIFF o immagine.
Ecco il codice sorgente 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); | |
} |
Abilitare il tracciamento del processo di rendering CAD
Aspose.CAD ha introdotto una serie di classi e campi di enumerazione di supporto per assistere con il tracciamento del processo di rendering CAD. Con queste modifiche in atto, la conversione da CAD a PDF può ora essere realizzata come segue abilitando il tracciamento.
// 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); | |
} |
Il tracciamento del processo di rendering CAD può rilevare i seguenti possibili problemi.
- Mancanza o corruzione di informazioni nell’intestazione.
- Mancanza di informazioni sul layout.
- Mancanza di entità blocco.
- Mancanza di stili di dimensione.
- Mancanza di stili.
Sostituire i font durante la conversione dei disegni CAD
È possibile che un particolare disegno CAD utilizzi un font specifico che non è disponibile sulla macchina in cui sta avvenendo la conversione da CAD a PDF o da CAD a immagine raster. In tali situazioni, l’API Aspose.CAD genererà un’eccezione appropriata per evidenziare i font mancanti e fermare il processo di conversione perché l’API richiede questi font per visualizzare correttamente i contenuti nei PDF o nelle immagini risultanti.
L’API Aspose.CAD fornisce un modo semplice per utilizzare il meccanismo per sostituire i font richiesti con i font disponibili. La proprietà CadImage.Styles restituisce un’istanza di CadStylesDictionary che a sua volta contiene il CadStyleTableObject per ciascun stile nel disegno CAD, mentre CadStyleTableObject.PrimaryFontName può essere utilizzato per specificare il nome del font disponibile.
Il seguente snippet di codice dimostra l’uso dell’API Aspose.CAD per .NET per cambiare il font di tutti gli stili in un disegno 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"; | |
} | |
} | |
} | |
} | |
È anche possibile cambiare il font di un particolare stile accedendovi tramite il nome dello stile. Il seguente snippet di codice dimostra l’uso di questo approccio.
// 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"; | |
} | |
} | |
} |
Convertire gli strati CAD in formati immagine raster
L’API Aspose.CAD per .NET ha esposto un mezzo efficiente e facile da usare per specificare il nome dello strato CAD richiesto e renderizzarlo in formati immagine raster. Ecco come puoi raggiungere il risultato in 5 semplici passaggi come elencato di seguito.
- Carica il file CAD in un’istanza di Image utilizzando il metodo di fabbrica Load.
- Crea un’istanza di CadRasterizationOptions e imposta le sue proprietà obbligatorie come PageWidth e PageHeight.
- Aggiungi il nome dello strato desiderato utilizzando il metodo CadRasterizationOptions.Layers.Add.
- Crea un’istanza di ImageOptionsBase e imposta la sua proprietà VectorRasterizationOptions sull’istanza di CadRasterizationOptions creata nel passaggio precedente.
- Chiama il metodo Image.Save passando il percorso del file (o un oggetto MemoryStream) e l’istanza di ImageOptionsBase creata nel passaggio precedente.
Ecco il codice sorgente 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."); |
Convertire tutti gli strati CAD in immagini separate
Puoi ottenere tutti gli strati da un disegno CAD utilizzando CadImage.Layers e renderizzare ciascun strato in un’immagine separata come dimostrato di seguito.
// 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); | |
} | |
} |
Convertire strati CAD DWF in formati immagine raster
L’API Aspose.CAD per .NET ha esposto un mezzo efficiente e facile da usare per specificare il nome dello strato CAD richiesto e renderizzarlo in formati immagine raster. Ecco come puoi raggiungere il risultato in 5 semplici passaggi come elencato di seguito.
- Carica il file CAD DWF in un’istanza di Image utilizzando il metodo di fabbrica Load.
- Crea un’istanza di CadRasterizationOptions e imposta le sue proprietà obbligatorie come PageWidth e PageHeight.
- Aggiungi il nome dello strato desiderato utilizzando il metodo CadRasterizationOptions.Layers.Add.
- Crea un’istanza di ImageOptionsBase e imposta la sua proprietà VectorRasterizationOptions sull’istanza di CadRasterizationOptions creata nel passaggio precedente.
- Chiama il metodo Image.Save passando il percorso del file (o un oggetto MemoryStream) e l’istanza di ImageOptionsBase creata nel passaggio precedente.
Ecco il codice sorgente 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 per .NET scrive direttamente le informazioni su API e numero di versione nei documenti di output. Ad esempio, durante il rendering del documento in PDF, Aspose.CAD per .NET popola il campo Applicazione con valore ‘Aspose.CAD’ e il campo Produttore PDF con un valore, ad esempio ‘Aspose.CAD v 17.10’.
Si prega di notare che non puoi istruire Aspose.CAD per .NET a modificare o rimuovere queste informazioni dai documenti di output.