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 в растровые изображения Highly имеют высокую конфигурацию, поскольку класс 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 | Ложь | Нет | Указывает, необходимо ли выполнять автоматическое масштабирование макета для соответствия макету модели. |
Настройка размеров холста и режима
Экспорт из 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 может использоваться для указания доступного имени шрифта.
Следующий фрагмент кода демонстрирует использование Aspose.CAD для .NET API для изменения шрифта всех стилей в чертеже 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 заполняет поле приложения значением ‘Aspose.CAD’, а поле PDF Producer — значением, например ‘Aspose.CAD v 17.10’.
Обратите внимание, что вы не можете указать Aspose.CAD для .NET изменить или удалить эту информацию из выходных документов.