DWG DXF naar PDF C# | Converteer Auto CAD-bestanden naar PDF JPEG PNG in C# .NET
Converteer DWG of DXF naar PNG JPEG BMP GIF of TIFF in C#
Aspose.CAD voor .NET kan AutoCAD-tekeningformaten zoals DXF en DWG naar PNG, BMP, TIFF, JPEG en GIF converteren. Het heeft een efficiënte en eenvoudige API beschikbaar gesteld om dit doel te bereiken.
U kunt elk ondersteund AutoCAD-tekeningformaat naar rasterafbeeldingsformaten converteren met behulp van de eenvoudige stappen die hieronder zijn uitgelegd.
- Laad het AutoCAD DWG- of DXF-bestand in de Image klasse.
- Maak een instantie van CadRasterizationOptions.
- Stel de grootte van de afbeelding in/wijzig deze met PageWidth en PageHeight
- Maak een instantie van ImageOptionsBase
- Stel de VectorRasterizationOptions property in op de CadRasterizationOptions die in de vorige stap is gemaakt.
- Sla de AutoCAD-tekening op als PDF met Image.Save door het bestandspad (of een object van MemoryStream) en de instantie van ImageOptionsBase die in de vorige stap is gemaakt, door te geven.
Hier is de complete broncode.
// 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); | |
} |
Standaard rendert de API alleen de “Model” lay-out. U kunt echter ook de lay-outs van uw keuze specificeren tijdens het converteren van CAD-tekeningen naar afbeeldingsformaten.
CAD-conversie aanpassen
De procedures voor CAD naar PDF en CAD naar rasterafbeeldingsconversie zijn zeer configureerbaar omdat de CadRasterizationOptions klasse zo is geïmplementeerd dat deze veel optionele functies biedt die, indien geconfigureerd, het renderingsproces kunnen overschrijven volgens de behoeften van de applicatie.
CadRasterizationOptions Klasse
De CadRasterizationOptions klasse is algemeen voor alle ondersteunde CAD-formaten zoals DWG en DXF, daarom zijn de informatie die in dit artikel wordt gedeeld geldig voor beide bovengenoemde CAD-formaten.
De meest nuttige CadRasterizationOptions klasse-eigenschappen zijn:
Eigenschap | Standaardwaarde | Vereist | Beschrijving |
---|---|---|---|
PageWidth | 0 | Ja | Geeft de paginabreedte op. |
PageHeight | 0 | Ja | Geeft de paginahoogte op. |
ScaleMethod | ScaleType.ShrinkToFit | Nee | Geeft op of de tekening automatisch moet worden geschaald. De standaardwaarde verkleint de afbeelding automatisch zodat deze in de canvasgrootte past. Schakel over naar GrowToFit modus of gebruik de None instelling om automatische schaling uit te schakelen. |
BackgroundColor | Color.White | Nee | Geeft de achtergrondkleur van de uitvoerafbeelding op. |
DrawType | CadDrawTypeMode.UseDrawColor | Nee | Geeft de kleuriseringsmodus van de entiteit op. Geef de UseObjectColor optie op om entiteiten met hun native kleur te tekenen, of de UseDrawColor optie om de native kleuren te overschrijven. |
DrawColor | Color.Black | Nee | Geeft de overschreven kleur van de entiteit op (alleen als DrawType is ingesteld op de waarde van de UseDrawColor eigenschap). |
AutomaticLayoutsScaling | False | Nee | Geeft op of automatische lay-out schaling moet worden uitgevoerd om te passen bij de Model lay-out. |
Instellen van de canvasgrootte en modus
Exporteren van CAD naar PDF of CAD naar rasterafbeeldingsformaten is geen triviale taak. Aangezien de resulterende PDF of afbeelding vereist dat de canvasgrootte is gedefinieerd, moeten we de uitvoerdimensies voor de PDF-pagina specificeren om de tekening correct weer te geven. Stel expliciet de CadRasterizationOptions.PageWidth en CadRasterizationOptions.PageHeight eigenschappen in, anders kunt u een ImageSaveException krijgen.
Daarnaast kunt u dimensieschaalopties opgeven. De schaalopties worden ingesteld met de CadRasterizationOptions.ScaleMethod eigenschap. Gebruik deze optie om de afbeeldingsdimensies automatisch aan te passen aan de CadRasterizationOptions.PageWidth en CadRasterizationOptions.PageHeight waarden. Standaard is de CadRasterizationOptions.ScaleMethod ingesteld op ScaleType.ShrinkToFit modus. Deze eigenschap definieert het volgende gedrag:
- Als de dimensies van de CAD-tekening groter zijn dan de resulterende canvasgrootte, worden de dimensies van de tekening verkleind om in de resulterende canvas te passen terwijl de beeldverhouding behouden blijft.
- Als de dimensies van de CAD-tekening kleiner zijn dan de resulterende canvasgrootte, stel dan de CadRasterizationOptions.ScaleMethod eigenschap in op ScaleType.GrowToFit om de tekening groter te maken zodat deze in de PDF-canvas past terwijl de beeldverhouding behouden blijft.
- Of schakel automatische schaling uit met de optie ScaleType.None.
Het onderstaande codevoorbeeld toont de optie voor automatische schaling in gebruik.
// 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); | |
} |
Instellen van achtergrond- en tekenkleuren
Standaard is het kleurenpalet voor de resulterende canvas ingesteld op het gemeenschappelijke documentenschema. Dit betekent dat alle entiteiten binnen de CAD-tekening worden getekend met een zwarte kleurpen op een effen witte achtergrond. Deze instellingen kunnen worden gewijzigd met CadRasterizationOptions.BackgroundColor en CadRasterizationOptions.DrawColor eigenschappen. Het wijzigen van de CadRasterizationOptions.DrawColor eigenschap vereist ook dat de CadRasterizationOptions.DrawType eigenschap wordt ingesteld om gebruik te maken van de te gebruiken tekenkleur. De CadRasterizationOptions.DrawType eigenschap bepaalt of CAD-entiteiten hun kleuren behouden of worden geconverteerd naar aangepaste kleuren. Om de kleuren van entiteiten te behouden, stelt u de CadRasterizationOptions.DrawType in als CadDrawTypeMode.UseObjectColor, anders specificeert u de waarde CadDrawTypeMode.UseDrawColor.
Het onderstaande codevoorbeeld laat zien hoe verschillende kleureigenschappen gebruiken.
// 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); | |
} |
Instellen van automatische lay-outschaling
De meeste CAD-tekeningen hebben meer dan één lay-out die in één bestand is opgeslagen, en elke lay-out kan verschillende afmetingen hebben. Bij het weergeven van dergelijke CAD-tekeningen naar PDF kan elke pagina van de PDF een andere schaal hebben, afhankelijk van de lay-outgrootte. Om de weergave homogeen te maken, hebben de Aspose.CAD API’s de CadRasterizationOptions.AutomaticLayoutsScaling eigenschap beschikbaar gesteld. De standaardwaarde is false, maar wanneer deze true is, probeert de API een overeenkomstige schaal voor elke afzonderlijke lay-out te zoeken en deze op een overeenkomstige manier weer te geven door een automatische hervergroting uit te voeren, afhankelijk van de paginagrootte.
Hier is hoe de CadRasterizationOptions.AutomaticLayoutsScaling eigenschap samenwerkt met de CadRasterizationOptions.ScaleMethod eigenschap.
- Als ScaleMethod is ingesteld op ScaleType.ShrinkToFit of ScaleType.GrowToFit met AutomaticLayoutsScaling ingesteld op false, worden alle lay-outs (inclusief het Model) verwerkt volgens de eerste optie.
- Als ScaleMethod is ingesteld op ScaleType.ShrinkToFit of ScaleType.GrowToFit met AutomaticLayoutsScaling ingesteld op true, worden alle lay-outs (behalve Model) verwerkt op basis van hun grootte, terwijl het Model wordt verwerkt volgens de eerste optie.
- Als ScaleMethod is ingesteld op ScaleType.None met AutomaticLayoutsScaling ingesteld op true of false, wordt er geen schaling uitgevoerd.
Het onderstaande codevoorbeeld laat zien hoe u de automatische lay-outschaling voor CAD naar PDF-conversie kunt instellen.
// 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); | |
} |
Converteer AutoCAD DXF of DWG-lay-outs naar PNG of andere afbeeldingsformaten in C#
Aspose.CAD voor .NET API kan CAD-lay-outs van ondersteunde formats zoals DXF en DWG converteren naar PNG BMP TIFF JPEG en GIF. De API biedt ook ondersteuning voor het weergeven van de specifieke lay-outs van een CAD-tekening naar verschillende PSD-lagen.
Hier is hoe je hetzelfde kunt bereiken in de volgende eenvoudige stappen.
- Laad het AutoCAD DWG- of DXF-bestand met de Image klasse.
- Stel de breedte en hoogte van de afbeelding in/wijzig deze.
- Stel de gewenste lay-outnaam(en) in met behulp van de CadRasterizationOptions.Layouts eigenschap.
- Maak een instantie van ImageOptionsBase en stel de VectorRasterizationOptions eigenschap in op de instantie van CadRasterizationOptions die in de vorige stap is gemaakt.
- Sla de CAD-lay-out op als TIFF of afbeelding.
Hier is de complete broncode.
// 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); | |
} |
Tracking inschakelen voor het CAD-renderingsproces
Aspose.CAD heeft een reeks klassen en ondersteunende enumeratief velden geïntroduceerd om te helpen bij het volgen van het CAD-renderingsproces. Met deze wijzigingen kan de conversie van CAD naar PDF nu als volgt worden bereikt terwijl de tracking wordt ingeschakeld.
// 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); | |
} |
Tracking van het CAD-renderingsproces kan de volgende mogelijke problemen detecteren.
- Ontbrekende of beschadigde headerinformatie.
- Ontbrekende lay-outinformatie.
- Ontbrekende blokentiteiten.
- Ontbrekende dimensiestijlen.
- Ontbrekende stijlen.
Vervangen van lettertypen tijdens het converteren van CAD-tekeningen
Het is heel goed mogelijk dat een bepaalde CAD-tekening een specifiek lettertype gebruikt dat niet beschikbaar is op de machine waar de conversie van CAD naar PDF of CAD naar rasterafbeelding plaatsvindt. In dergelijke situaties zal de Aspose.CAD API een passende uitzondering activeren om de ontbrekende lettertypen te benadrukken en het conversieproces te stopzetten omdat de API deze lettertypen nodig heeft om de inhoud correct weer te geven op de resulterende PDF of afbeeldingen.
De Aspose.CAD API biedt een eenvoudige manier om het mechanisme te gebruiken om de vereiste lettertypen te vervangen door de beschikbare lettertypen. De CadImage.Styles eigenschap retourneert een instantie van CadStylesDictionary die op zijn beurt de CadStyleTableObject voor elke stijl in de CAD-tekening bevat, terwijl de CadStyleTableObject.PrimaryFontName kan worden gebruikt om de beschikbare letternaam op te geven.
Het volgende codevoorbeeld demonstreert het gebruik van Aspose.CAD voor .NET API om het lettertype van alle stijlen in een CAD-tekening te wijzigen.
// 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"; | |
} | |
} | |
} | |
} | |
Het is ook mogelijk om het lettertype van slechts één bepaalde stijl te wijzigen door deze via de stijlnaam te benaderen. Het volgende codevoorbeeld demonstreert het gebruik van deze benadering.
// 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"; | |
} | |
} | |
} |
Converteren van CAD-lagen naar rasterafbeeldingsformaten
Aspose.CAD voor .NET API heeft een efficiënte en gebruiksvriendelijke manier beschikbaar gesteld om de naam van de vereiste CAD-laag op te geven en deze naar rasterafbeeldingsformaten te renderen. Hier is hoe u hetzelfde kunt bereiken in 5 eenvoudige stappen zoals hieronder weergegeven.
- Laad het CAD-bestand in een instantie van Image met behulp van de fabrieksmethode Load.
- Maak een instantie van CadRasterizationOptions en stel de verplichte eigenschappen in zoals PageWidth en PageHeight.
- Voeg de gewenste laagnaam toe met behulp van de CadRasterizationOptions.Layers.Add methode.
- Maak een instantie van ImageOptionsBase en stel de VectorRasterizationOptions eigenschap in op de instantie van CadRasterizationOptions die in de vorige stap is gemaakt.
- Roep de Image.Save methode aan door het bestandspad (of een object van MemoryStream) en de instantie van ImageOptionsBase die in de vorige stap is gemaakt, door te geven.
Hier is de complete broncode.
// 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."); |
Converteer alle CAD-lagen naar afzonderlijke afbeeldingen
U kunt alle lagen van een CAD-tekening ophalen met behulp van de CadImage.Layers en elke laag naar een afzonderlijke afbeelding renderen, zoals hieronder getoond.
// 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); | |
} | |
} |
Converteren van DWF CAD-lagen naar rasterafbeeldingsformaten
Aspose.CAD voor .NET API heeft een efficiënte en gebruiksvriendelijke manier beschikbaar gesteld om de naam van de vereiste CAD-laag op te geven en deze naar rasterafbeeldingsformaten te renderen. Hier is hoe u hetzelfde kunt bereiken in 5 eenvoudige stappen zoals hieronder weergegeven.
- Laad het DWF CAD-bestand in een instantie van Image met behulp van de fabrieksmethode Load.
- Maak een instantie van CadRasterizationOptions en stel de verplichte eigenschappen in zoals PageWidth en PageHeight.
- Voeg de gewenste laagnaam toe met behulp van de CadRasterizationOptions.Layers.Add methode.
- Maak een instantie van ImageOptionsBase en stel de VectorRasterizationOptions eigenschap in op de instantie van CadRasterizationOptions die in de vorige stap is gemaakt.
- Roep de Image.Save methode aan door het bestandspad (of een object van MemoryStream) en de instantie van ImageOptionsBase die in de vorige stap is gemaakt, door te geven.
Hier is de complete broncode.
// 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 voor .NET schrijft direct informatie over de API en het versienummer in uitvoerdocumenten. Bijvoorbeeld, bij het renderen van Document naar PDF, vult Aspose.CAD voor .NET het Applicatieveld in met de waarde ‘Aspose.CAD’ en het PDF Producer-veld met een waarde, bijvoorbeeld ‘Aspose.CAD v 17.10’.
Houd er rekening mee dat u Aspose.CAD voor .NET niet kunt instrueren om deze informatie uit uitvoerdocumenten te wijzigen of te verwijderen.