DWG DXF към PDF C# | Конвертиране на Auto CAD файлове в PDF JPEG PNG в C# .NET
Конвертиране на DWG или DXF в PNG JPEG BMP GIF или TIFF в C#
Aspose.CAD за .NET може да конвертира формати на AutoCAD като DXF и DWG в PNG, BMP, TIFF, JPEG и GIF. Той е предоставил ефективен и лесен за използване API, за да постигне тази цел.
Можете да конвертирате всеки поддържан формат на AutoCAD в формати на растерно изображение, следвайки простите стъпки, описани по-долу.
- Заредете файла AutoCAD DWG или DXF в класа Image.
- Създайте инстанция на CadRasterizationOptions.
- Задайте/променете размера на изображението с помощта на PageWidth и PageHeight.
- Създайте инстанция на ImageOptionsBase.
- Задайте свойството VectorRasterizationOptions на CadRasterizationOptions, създадено в предишната стъпка.
- Запазете AutoCAD чертежа като PDF с Image.Save и предайте пътя на файла (или обект от MemoryStream), както и инстанцията на ImageOptionsBase, създадена в предишната стъпка.
Ето и целия изходен код.
// 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); | |
} |
По подразбиране API-то визуализира само “Model” оформление. Въпреки това, можете също да зададете оформлението по ваш избор при конвертиране на CAD чертежи в формати на изображения.
Персонализиране на CAD конверсията
Процедурите за конвертиране на CAD в PDF и CAD в растерно изображение са високо конфигурируеми, тъй като класът CadRasterizationOptions е реализиран по такъв начин, че предлага много опционални функции, които при задаване могат да надстроят процеса на визуализиране според нуждите на приложението.
Клас CadRasterizationOptions
Класът CadRasterizationOptions е общ за всички поддържани CAD формати като DWG и DXF, следователно информацията, споделена в тази статия, е валидна и за двете споменати CAD формати.
Най-полезните свойства на клас CadRasterizationOptions са:
Свойство | Стойност по подразбиране | Задължително | Описание |
---|---|---|---|
PageWidth | 0 | Да | Определя ширината на страницата. |
PageHeight | 0 | Да | Определя височината на страницата |
ScaleMethod | ScaleType.ShrinkToFit | Не | Определя дали чертежът трябва да бъде автоматично мащабиран. Стойността по подразбиране автоматично намалява изображението, за да се побере в размера на канваса. Превключете в режим GrowToFit или използвайте настройката None, за да деактивирате автоматичното мащабиране. |
BackgroundColor | Color.White | Не | Определя фоновия цвят на изходното изображение. |
DrawType | CadDrawTypeMode.UseDrawColor | Не | Определя режима на оцветяване на единицата. Определете опцията UseObjectColor, за да нарисувате единиците с техния роден цвят, или опцията UseDrawColor, за да замените родните цветове. |
DrawColor | Color.Black | Не | Определя заменения цвят на единицата (само ако DrawType е зададено на стойността на свойството UseDrawColor). |
AutomaticLayoutsScaling | False | Не | Определя дали да се извърши автоматично мащабиране, за да се съответства на оформлението на модела. |
Настройка на размера и режима на канваса
Експортирането от CAD в PDF или формати на растерно изображение не е тривиална задача. Тъй като полученото PDF или изображение изисква определяне на размера на канваса, трябва да посочим изходните размери за страницата на PDF, за да визуализираме чертежа правилно. Ясно задайте свойствата CadRasterizationOptions.PageWidth и CadRasterizationOptions.PageHeight, или може да получите ImageSaveException.
Освен това можете да зададете опции за скалиране на размерите. Опциите за скалиране се задават чрез свойството CadRasterizationOptions.ScaleMethod. Използвайте тази опция, за да автоматично настроите размерите на изображението според стойностите CadRasterizationOptions.PageWidth и CadRasterizationOptions.PageHeight. По подразбиране свойството CadRasterizationOptions.ScaleMethod е зададено на режим ScaleType.ShrinkToFit. Това свойство определя следното поведение:
- Ако размерите на CAD чертежа са по-големи от получения размер на канваса, размерите на чертежа ще бъдат намалени, за да се впишат в получения канвас, като се запази съотношението на страните.
- Ако размерите на CAD чертежа са по-малки от получените размери на канваса, задайте свойството CadRasterizationOptions.ScaleMethod на ScaleType.GrowToFit, за да увеличите размера на чертежа, за да се впише в PDF канваса, като се запази съотношението на страните.
- Или деактивирайте автоматичното скалиране с опцията ScaleType.None.
Примерният код по-долу показва как се използва автоматичното скалиране.
// 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); | |
} |
Задаване на фонови и цветови настройки на рисуването
По подразбиране цветната палитра за получения канвас е зададена на общата схема за документа. Това означава, че всички единици в CAD чертежа са нарисувани с черен флуид на солидно бял фон. Тези настройки могат да бъдат променени с помощта на свойствата CadRasterizationOptions.BackgroundColor и CadRasterizationOptions.DrawColor. Промяната на свойството CadRasterizationOptions.DrawColor също изисква настройка на свойството CadRasterizationOptions.DrawType, за да се използва цвета на рисуването. Свойството CadRasterizationOptions.DrawType контролира дали CAD единиците запазват цветовете си или се преобразуват в нестандартни цветове. За да запазите цветовете на единиците, задайте CadRasterizationOptions.DrawType като CadDrawTypeMode.UseObjectColor, в противен случай задайте стойността CadDrawTypeMode.UseDrawColor.
Примерният код по-долу показва как да се използват различни цветови свойства.
// 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); | |
} |
Настройка на автоматичното мащабиране на оформлението
Повечето CAD чертежи имат повече от едно оформление, съхранено в един файл, и всяко оформление може да има различни размери. При визуализиране на такива CAD чертежи в PDF, всяка страница от PDF може да има различно мащабиране, в зависимост от размера на оформлението. За да направите визуализирането хомогенно, API от Aspose.CAD са изложили свойството CadRasterizationOptions.AutomaticLayoutsScaling. Неговата стойност по подразбиране е false, но когато е зададена на true, API-то ще се опита да намери съответстващ мащаб за всяко отделно оформление и да ги нарисува по съответния начин, извършвайки автоматична операция по преоразмеряване в зависимост от размера на страницата.
Ето как работи свойството CadRasterizationOptions.AutomaticLayoutsScaling в сътрудничество със свойството CadRasterizationOptions.ScaleMethod.
- Ако ScaleMethod е зададено на ScaleType.ShrinkToFit или ScaleType.GrowToFit с AutomaticLayoutsScaling, зададено на false, тогава всички оформления (включително Модела) ще бъдат обработени според първата опция.
- Ако ScaleMethod е зададено на ScaleType.ShrinkToFit или ScaleType.GrowToFit с AutomaticLayoutsScaling, зададено на true, тогава всички оформления (с изключение на Модела) ще бъдат обработени съобразно техния размер, докато Моделът ще бъде обработен в съответствие с първата опция.
- Ако ScaleMethod е зададено на ScaleType.None с AutomaticLayoutsScaling, зададено на true или false, тогава няма да се извърши мащабиране.
Примерният код по-долу показва как да зададете автоматичното мащабиране на оформленията за конверсия от CAD в 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); | |
} |
Конвертиране на оформления на AutoCAD DXF или DWG в PNG или други формати на изображения в C#
API Aspose.CAD за .NET може да конвертира оформления на CAD от поддържани формати като DXF и DWG в PNG BMP TIFF JPEG и GIF. API-то също така осигурява поддръжка за визуализиране на конкретни оформления на CAD чертеж в различни слоеве на PSD.
Ето как можете да постигнете това в следните прости стъпки.
- Заредете файла AutoCAD DWG или DXF, използвайки класа Image.
- Задайте/променете ширината и височината на изображението.
- Задайте желаното име на оформление(я), използвайки свойството CadRasterizationOptions.Layouts.
- Създайте инстанция на ImageOptionsBase и задайте свойството си VectorRasterizationOptions на инстанцията на CadRasterizationOptions, създадена в предишната стъпка.
- Запазете CAD оформлението като TIFF или изображение.
Ето и целия изходен код.
// 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); | |
} |
Включване на проследяване на процеса на CAD визуализиране
Aspose.CAD е въвел серия от класове и поддържащи перечисления, за да помогне с проследяването на процеса на CAD визуализиране. С тези промени процесът на конвертиране на CAD в 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)) | |
{ | |
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); | |
} |
Проследяването на процеса на CAD визуализиране може да открие следните възможни проблеми.
- Липсваща или повредена информация за заглавката.
- Липсваща информация за оформлението.
- Липсващи блокови единици.
- Липсващи стилове на измерване.
- Липсващи стилове.
Замяна на шрифтове при конвертиране на CAD чертежи
Напълно е възможно определен CAD чертеж да използва специфичен шрифт, който не е наличен на машината, където се извършва конверсията от CAD в PDF или от CAD в растерно изображение. В такива ситуации API-то Aspose.CAD ще задейства подходящо изключение, за да подчертае липсващите шрифтове и да спре процеса на конвертиране, защото API-то изисква тези шрифтове, за да визуализира правилно съдържанието върху получения PDF или изображения.
API Aspose.CAD предлага лесен начин за използване на механизма за замяна на изискваните шрифтове с наличните шрифтове. Свойството CadImage.Styles връща инстанция на CadStylesDictionary, която от своя страна съдържа CadStyleTableObject за всеки стил в CAD чертежа, докато CadStyleTableObject.PrimaryFontName може да се използва за задаване на наличното име на шрифта.
Следният кодов фрагмент демонстрира използването на API Aspose.CAD за .NET за смяна на шрифта на всички стилове в 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"; | |
} | |
} | |
} | |
} | |
Възможно е също така да промените шрифта на само един определен стил, като получите достъп до него чрез името на стила. Следният кодов фрагмент демонстрира използването на този подход.
// 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 слоеве в формати на растерно изображение
API Aspose.CAD за .NET предлага ефективен и лесен за използване метод за задаване на името на изисквания CAD слой и визуализиране на него в формати на растерно изображение. Ето как можете да постигнете това в 5 прости стъпки, както е изброено по-долу.
- Заредете CAD файла в инстанция на Image, използвайки фабричния метод Load.
- Създайте инстанция на CadRasterizationOptions и задайте задължителните свойства като PageWidth и PageHeight.
- Добавете желаното име на слоя, използвайки метода CadRasterizationOptions.Layers.Add.
- Създайте инстанция на ImageOptionsBase и задайте свойството си VectorRasterizationOptions на инстанцията на CadRasterizationOptions, създадена в предишната стъпка.
- Извикайте метода Image.Save, предавайки пътя на файла (или обект от MemoryStream) и инстанцията на ImageOptionsBase, създадена в предишната стъпка.
Ето и целия изходен код.
// 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."); |
Конвертиране на всички CAD слоеве в отделни изображения
Можете да получите всички слоеве от CAD чертеж, използвайки CadImage.Layers и да визуализирате всеки слой в отделно изображение, както е демонстрирано по-долу.
// 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 слоеве в формати на растерно изображение
API Aspose.CAD за .NET предлага ефективен и лесен за използване метод за задаване на името на изисквания CAD слой и визуализиране на него в формати на растерно изображение. Ето как можете да постигнете това в 5 прости стъпки, както е изброено по-долу.
- Заредете DWF CAD файла в инстанция на Image, използвайки фабричния метод Load.
- Създайте инстанция на CadRasterizationOptions и задайте задължителните свойства като PageWidth и PageHeight.
- Добавете желаното име на слоя, използвайки метода CadRasterizationOptions.Layers.Add.
- Създайте инстанция на ImageOptionsBase и задайте свойството си VectorRasterizationOptions на инстанцията на CadRasterizationOptions, създадена в предишната стъпка.
- Извикайте метода Image.Save, предавайки пътя на файла (или обект от MemoryStream) и инстанцията на ImageOptionsBase, създадена в предишната стъпка.
Ето и целия изходен код.
// 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 за .NET директно записва информация за API и номер на версия в изходните документи. Например, при визуализиране на документа в PDF, Aspose.CAD за .NET попълва полето Application с ‘Aspose.CAD’ и полето PDF Producer с например ‘Aspose.CAD v 17.10’.
Моля, обърнете внимание, че не можете да инструктирате Aspose.CAD за .NET да променя или премахва тази информация от изходните документи.