DWG DXF zu PDF C# | Auto CAD Dateien in PDF JPEG PNG in C# .NET konvertieren

DWG oder DXF in PNG JPEG BMP GIF oder TIFF in C# konvertieren

Aspose.CAD für .NET kann AutoCAD Zeichnungsformate wie DXF und DWG in PNG, BMP, TIFF, JPEG und GIF konvertieren. Es hat eine effiziente und benutzerfreundliche API bereitgestellt, um dieses Ziel zu erreichen.

Sie können jedes unterstützte AutoCAD Zeichnungsformat in Rasterbildformate mit den einfachen Schritten konvertieren, wie unten erläutert.

  1. Laden Sie die AutoCAD DWG oder DXF Datei in die Image Klasse.
  2. Erstellen Sie eine Instanz von CadRasterizationOptions.
  3. Setzen/ändern Sie die Größe des Bildes mit PageWidth und PageHeight
  4. Erstellen Sie eine Instanz von ImageOptionsBase
  5. Setzen Sie die VectorRasterizationOptions Eigenschaft auf die CadRasterizationOptions, die im vorherigen Schritt erstellt wurde.
  6. Speichern Sie die AutoCAD Zeichnung als PDF mit Image.Save, indem Sie den Dateipfad (oder ein Objekt von MemoryStream) sowie die Instanz von ImageOptionsBase, die im vorherigen Schritt erstellt wurde, übergeben.

Hier ist der komplette Quellcode.

// 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);
}

Standardmäßig rendert die API nur das “Model” Layout. Sie können jedoch auch die Layouts Ihrer Wahl angeben, während Sie CAD Zeichnungen in Bildformate konvertieren.

CAD Konvertierung anpassen

Die CAD zu PDF & CAD zu Rasterbild-Konvertierungsverfahren sind hochgradig konfigurierbar, da die CadRasterizationOptions Klasse so implementiert wurde, dass sie viele optionale Funktionen bietet, die durch Setzen die Renderprozess entsprechend den Anforderungen der Anwendung überschreiben können.

CadRasterizationOptions Klasse

Die CadRasterizationOptions Klasse ist für alle unterstützten CAD Formate wie DWG & DXF allgemein, daher sind die in diesem Artikel geteilten Informationen für beide vorgenannten CAD Formate gültig.

Die nützlichsten Eigenschaften der CadRasterizationOptions Klasse sind:

EigenschaftStandardwertErforderlichBeschreibung
PageWidth0JaBestimmt die Seitenbreite.
PageHeight0JaBestimmt die Seitenhöhe
ScaleMethodScaleType.ShrinkToFitNeinBestimmt, ob die Zeichnung automatisch skaliert werden soll. Der Standardwert reduziert automatisch das Bild, um es an die Leinwandgröße anzupassen. Stellen Sie auf den GrowToFit-Modus um oder verwenden Sie die None-Einstellung, um die automatische Skalierung zu deaktivieren.
BackgroundColorColor.WhiteNeinBestimmt die Hintergrundfarbe des Ausgabebildes.
DrawTypeCadDrawTypeMode.UseDrawColorNeinBestimmt den Farbmodus der Entität. Geben Sie die UseObjectColor-Option an, um Entitäten mit ihrer natürlichen Farbe zu zeichnen, oder die UseDrawColor-Option, um die natürlichen Farben zu überschreiben.
DrawColorColor.BlackNeinBestimmt die überschreibene Farbe der Entität (nur wenn DrawType auf den Wert der UseDrawColor Eigenschaft gesetzt ist).
AutomaticLayoutsScalingFalseNeinBestimmt, ob die automatische Layoutskalierung ausgeführt werden muss, um das Modell-Layout anzupassen.

Einstellung der Leinwandgröße & des Modus

Der Export von CAD nach PDF oder CAD in Rasterbildformate ist keine triviale Aufgabe. Da das resultierende PDF oder Bild die Definition der Leinwandgröße erfordert, müssen wir die Ausmaße für die PDF-Seite festlegen, um die Zeichnung richtig darzustellen. Setzen Sie die Eigenschaften CadRasterizationOptions.PageWidth und CadRasterizationOptions.PageHeight explizit, oder Sie erhalten eine ImageSaveException.

Zusätzlich können Sie auch Dimensionsskalierungsoptionen angeben. Die Skalierungsoptionen werden durch die Eigenschaft CadRasterizationOptions.ScaleMethod festgelegt. Verwenden Sie diese Option, um die Bilddimensionen gemäß den Werten von CadRasterizationOptions.PageWidth und CadRasterizationOptions.PageHeight automatisch anzupassen. Standardmäßig ist CadRasterizationOptions.ScaleMethod auf den Modus ScaleType.ShrinkToFit eingestellt. Diese Eigenschaft definiert das folgende Verhalten:

  • Wenn die Abmessungen der CAD Zeichnung größer als die resultierende Leinwandgröße sind, werden die Abmessungen der Zeichnung verkleinert, um in die resultierende Leinwand zu passen, während das Seitenverhältnis beibehalten wird.
  • Wenn die Abmessungen der CAD Zeichnung kleiner sind als die resultierende Leinwandgröße, setzen Sie die Eigenschaft CadRasterizationOptions.ScaleMethod auf ScaleType.GrowToFit, um die Zeichnungsgröße zu erhöhen, damit sie in die PDF-Leinwand passt, während das Seitenverhältnis beibehalten wird.
  • Oder deaktivieren Sie die automatische Skalierung mit der ScaleType.None-Option.

Die folgende Beispielanwendung zeigt die Nutzung der automatischen Skalierungsoption.

// 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);
}

Hintergrund- & Zeichnungsfarben festlegen

Standardmäßig wird die Farbpalette für die resultierende Leinwand auf das allgemeine Dokumentenlayout eingestellt. Das bedeutet, dass alle Entitäten innerhalb der CAD Zeichnung mit einem schwarzen Farbstift auf einem einfarbigen weißen Hintergrund gezeichnet werden. Diese Einstellungen können mit den Eigenschaften CadRasterizationOptions.BackgroundColor und CadRasterizationOptions.DrawColor geändert werden. Das Ändern der CadRasterizationOptions.DrawColor-Eigenschaft erfordert ebenfalls die Einstellung der CadRasterizationOptions.DrawType-Eigenschaft, um die verwendete Zeichnungsfarbe zu nutzen. Die CadRasterizationOptions.DrawType-Eigenschaft steuert, ob CAD-Entitäten ihre Farben beibehalten oder in benutzerdefinierte Farben umgewandelt werden. Um die Farben der Entitäten zu erhalten, geben Sie CadRasterizationOptions.DrawType als CadDrawTypeMode.UseObjectColor an, andernfalls geben Sie den Wert CadDrawTypeMode.UseDrawColor an.

Die folgende Beispielanwendung zeigt, wie man verschiedene Farbeigenschaften verwendet.

// 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);
}

Automatische Layout-Skalierung festlegen

Die meisten CAD Zeichnungen haben mehr als ein Layout, das in einer einzigen Datei gespeichert ist, und jedes Layout könnte unterschiedliche Abmessungen haben. Beim Rendern solcher CAD Zeichnungen in PDF könnte jede Seite des PDFs unterschiedliche Skalierungen gemäß der Layoutgröße aufweisen. Um das Rendering homogen zu gestalten, haben die Aspose.CAD APIs die Eigenschaft CadRasterizationOptions.AutomaticLayoutsScaling bereitgestellt. Ihr Standardwert ist false, aber wenn sie wahr ist, versucht die API, eine entsprechende Skalierung für jedes separate Layout zu finden und diese entsprechend durchzuführen, indem die automatische Größenänderung gemäß der Seitengröße erfolgt.

Hier ist, wie die CadRasterizationOptions.AutomaticLayoutsScaling-Eigenschaft in Zusammenarbeit mit der CadRasterizationOptions.ScaleMethod-Eigenschaft funktioniert.

  1. Wenn ScaleMethod auf ScaleType.ShrinkToFit oder ScaleType.GrowToFit und AutomaticLayoutsScaling auf false gesetzt ist, werden alle Layouts (einschließlich des Modells) gemäß der ersten Option verarbeitet.
  2. Wenn ScaleMethod auf ScaleType.ShrinkToFit oder ScaleType.GrowToFit und AutomaticLayoutsScaling auf true gesetzt ist, werden alle Layouts (außer dem Modell) gemäß ihrer Größe verarbeitet, während das Modell gemäß der ersten Option verarbeitet wird.
  3. Wenn ScaleMethod auf ScaleType.None und AutomaticLayoutsScaling auf true oder false gesetzt ist, wird keine Skalierung durchgeführt.

Die folgende Beispielanwendung zeigt, wie man die automatische Layoutskalierung für die CAD zu PDF-Konvertierung festlegt.

// 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);
}

AutoCAD DXF oder DWG Layouts in PNG oder andere Bildformate in C# konvertieren

Aspose.CAD für .NET API kann CAD Layouts von unterstützten Formaten wie DXF und DWG in PNG, BMP, TIFF, JPEG und GIF konvertieren. Die API bietet auch Unterstützung dafür, spezifische Layouts einer CAD Zeichnung in verschiedene PSD-Schichten zu rendern.

Hier ist, wie Sie dasselbe in den folgenden einfachen Schritten erreichen können.

  • Laden Sie die AutoCAD DWG oder DXF Datei mit der Image Klasse.
  • Setzen/ändern Sie die Breite und Höhe des Bildes.
  • Setzen Sie die gewünschten Layoutnamen mit der CadRasterizationOptions.Layouts-Eigenschaft.
  • Erstellen Sie eine Instanz von ImageOptionsBase und setzen Sie deren VectorRasterizationOptions-Eigenschaft auf die Instanz von CadRasterizationOptions, die im vorherigen Schritt erstellt wurde.
  • Speichern Sie das CAD Layout als TIFF oder Bild.

Hier ist der komplette Quellcode.

// 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);
}

Verfolgung des CAD Rendering-Prozesses aktivieren

Aspose.CAD hat eine Reihe von Klassen und unterstützenden Enumerationsfeldern eingeführt, um bei der Verfolgung des CAD Rendering-Prozesses zu helfen. Mit diesen Änderungen kann die CAD zu PDF Konvertierung nun wie folgt durchgeführt werden, während die Verfolgung aktiviert ist.

// 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);
}

Die Verfolgung des CAD Rendering-Prozesses kann die folgenden möglichen Probleme erkennen:

  1. Fehlende oder beschädigte Kopfzeileninformationen.
  2. Fehlende Layoutinformationen.
  3. Fehlende Blockentitäten.
  4. Fehlende Dimensionstile.
  5. Fehlende Stile.

Schriftarten beim Konvertieren von CAD Zeichnungen ersetzen

Es ist durchaus möglich, dass eine bestimmte CAD Zeichnung eine spezifische Schriftart verwendet, die nicht auf dem Computer verfügbar ist, auf dem die CAD zu PDF oder CAD zu Rasterbild-Konvertierung stattfindet. In solchen Situationen wird die Aspose.CAD API eine entsprechende Ausnahme auslösen, um die fehlenden Schriftarten hervorzuheben und den Konvertierungsprozess zu stoppen, da die API diese Schriftarten benötigt, um die Inhalte richtig in die resultierenden PDFs oder Bilder darzustellen.

Die Aspose.CAD API bietet eine einfache Möglichkeit, den Mechanismus zur Substitution der benötigten Schriftarten mit verfügbaren Schriftarten zu verwenden. Die CadImage.Styles-Eigenschaft gibt eine Instanz von CadStylesDictionary zurück, die wiederum das CadStyleTableObject für jeden Stil in der CAD Zeichnung enthält, während der CadStyleTableObject.PrimaryFontName verwendet werden kann, um den verfügbaren Schriftartnamen anzugeben.

Der folgende Codeausschnitt demonstriert die Verwendung der Aspose.CAD für .NET API, um die Schriftart aller Stile in einer CAD Zeichnung zu ändern.

// 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";
}
}
}
}

Es ist auch möglich, die Schriftart nur eines bestimmten Stils zu ändern, indem man über den Stilnamen darauf zugreift. Der folgende Codeausschnitt demonstriert die Verwendung dieses Ansatzes.

// 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";
}
}
}

CAD Layer in Rasterbildformate konvertieren

Aspose.CAD für .NET API hat eine effiziente und benutzerfreundliche Möglichkeit bereitgestellt, den Namen des benötigten CAD Layers festzulegen und diesen in Rasterbildformate zu rendern. Hier ist, wie Sie dasselbe in 5 einfachen Schritten erreichen können:

  1. Laden Sie die CAD Datei in eine Instanz von Image unter Verwendung der Fabrikmethode Load.
  2. Erstellen Sie eine Instanz von CadRasterizationOptions und setzen Sie deren obligatorische Eigenschaften wie PageWidth & PageHeight.
  3. Fügen Sie den gewünschten Layernamen mithilfe der CadRasterizationOptions.Layers.Add-Methode hinzu.
  4. Erstellen Sie eine Instanz von ImageOptionsBase und setzen Sie deren VectorRasterizationOptions-Eigenschaft auf die Instanz von CadRasterizationOptions, die im vorherigen Schritt erstellt wurde.
  5. Rufen Sie die Image.Save-Methode auf, indem Sie den Dateipfad (oder ein Objekt von MemoryStream) sowie die Instanz von ImageOptionsBase, die im vorherigen Schritt erstellt wurde, übergeben.

Hier ist der komplette Quellcode.

// 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.");

Alle CAD Layer in separate Bilder konvertieren

Sie können alle Layer aus einer CAD Zeichnung mithilfe der CadImage.Layers abrufen und jeden Layer in ein separates Bild rendern, wie unten demonstriert.

// 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);
}
}

DWF CAD Layer in Rasterbildformate konvertieren

Aspose.CAD für .NET API hat eine effiziente und benutzerfreundliche Möglichkeit bereitgestellt, den Namen des benötigten CAD Layers festzulegen und diesen in Rasterbildformate zu rendern. Hier ist, wie Sie dasselbe in 5 einfachen Schritten erreichen können:

  1. Laden Sie die DWF CAD Datei in eine Instanz von Image unter Verwendung der Fabrikmethode Load.
  2. Erstellen Sie eine Instanz von CadRasterizationOptions und setzen Sie deren obligatorische Eigenschaften wie PageWidth & PageHeight.
  3. Fügen Sie den gewünschten Layernamen mithilfe der CadRasterizationOptions.Layers.Add-Methode hinzu.
  4. Erstellen Sie eine Instanz von ImageOptionsBase und setzen Sie deren VectorRasterizationOptions-Eigenschaft auf die Instanz von CadRasterizationOptions, die im vorherigen Schritt erstellt wurde.
  5. Rufen Sie die Image.Save-Methode auf, indem Sie den Dateipfad (oder ein Objekt von MemoryStream) sowie die Instanz von ImageOptionsBase, die im vorherigen Schritt erstellt wurde, übergeben.

Hier ist der komplette Quellcode.

// 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 für .NET schreibt direkt die Informationen über die API und die Versionsnummer in die Ausgabedokumente. Zum Beispiel füllt Aspose.CAD für .NET das Anwendungsfeld mit dem Wert ‘Aspose.CAD’ und das PDF Producer-Feld mit einem Wert, z.B. ‘Aspose.CAD v 17.10’.

Bitte beachten Sie, dass Sie Aspose.CAD für .NET nicht anweisen können, diese Informationen aus den Ausgabedokumenten zu ändern oder zu entfernen.