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, созданный на предыдущем шаге.
Вот полный исходный код.
По умолчанию 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.
Пример кода ниже показывает использование параметра автоматического масштабирования.
Настройка фонов и цветов рисования
По умолчанию цветовая палитра для результирующего холста установлена в общую схему документа. Это означает, что все сущности внутри чертежа CAD рисуются черной ручкой на сплошном белом фоне. Эти настройки могут быть изменены с помощью свойств CadRasterizationOptions.BackgroundColor и CadRasterizationOptions.DrawColor. Изменение свойства CadRasterizationOptions.DrawColor также требует установки свойства CadRasterizationOptions.DrawType, чтобы использовать цвет для рисования. Свойство CadRasterizationOptions.DrawType контролирует, сохраняют ли цвета сущностей CAD свои цвета или преобразуются в пользовательские цвета. Чтобы сохранить цвета сущностей, укажите CadRasterizationOptions.DrawType как CadDrawTypeMode.UseObjectColor, в противном случае укажите значение CadDrawTypeMode.UseDrawColor.
Пример кода ниже показывает, как использовать различные цветовые свойства.
Настройка автоматического масштабирования макета
Большинство чертежей 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.
Конвертация макетов 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 или изображении.
Вот полный исходный код.
Включение отслеживания процесса визуализации CAD
Aspose.CAD представила серию классов и поддерживающих перечислений, чтобы помочь с отслеживанием процесса визуализации CAD. С этими изменениями конвертация CAD в PDF теперь может быть достигнута следующим образом с включением отслеживания.
Отслеживание процесса визуализации 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.
Также возможно изменить шрифт только одного конкретного стиля, получив к нему доступ по имени стиля. Следующий фрагмент кода демонстрирует использование этого подхода.
Конвертация слоев CAD в форматы растровых изображений
API Aspose.CAD для .NET предоставил эффективное и простое в использовании средство для указания имени требуемого слоя CAD и его рендеринга в форматы растровых изображений. Вот как вы можете достичь того же в 5 простых шагах, перечисленных ниже.
- Загрузите файл CAD в экземпляр Image, используя заводской метод Load.
- Создайте экземпляр CadRasterizationOptions и установите его обязательные свойства, такие как PageWidth и PageHeight.
- Добавьте желаемое имя слоя с помощью метода CadRasterizationOptions.Layers.Add.
- Создайте экземпляр ImageOptionsBase и установите его свойство VectorRasterizationOptions в экземпляр CadRasterizationOptions, созданный на предыдущем шаге.
- Вызовите метод Image.Save, передав путь к файлу (или объект MemoryStream), а также экземпляр ImageOptionsBase, созданный на предыдущем шаге.
Вот полный исходный код.
Конвертация всех слоев CAD в отдельные изображения
Вы можете получить все слои из чертежа CAD с помощью CadImage.Layers и отрендерить каждый слой в отдельное изображение, как показано ниже.
Конвертация слоев 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, созданный на предыдущем шаге.
Вот полный исходный код.
Aspose.CAD для .NET напрямую записывает информацию об API и номере версии в выходных документах. Например, при визуализации документа в PDF Aspose.CAD для .NET заполняет поле приложения значением ‘Aspose.CAD’, а поле PDF Producer — значением, например ‘Aspose.CAD v 17.10’.
Обратите внимание, что вы не можете указать Aspose.CAD для .NET изменить или удалить эту информацию из выходных документов.