Преобразование чертежей CAD в форматы PDF и растровых изображений
Aspose.CAD для Java непосредственно записывает информацию об API и номере версии в выходные документы. Например, при рендеринге документа в PDF Aspose.CAD для Java заполняет поле приложения значением ‘Aspose.CAD’ и поле “PDF Producer” значением, например, ‘Aspose.CAD v 17.9’.
Обратите внимание, что вы не можете указать Aspose.CAD для Java изменить или удалить эту информацию из выходных документов.
Преобразование чертежей CAD в форматы растровых изображений
Aspose.CAD для Java может преобразовывать форматы чертежей CAD, такие как DXF и DWG, в поддерживаемые форматы растровых изображений, такие как PNG, BMP, TIFF, JPEG и GIF. API Aspose.CAD для Java предложил эффективные и простые в использовании средства для достижения этой цели. Вы можете преобразовать любой поддерживаемый формат чертежа CAD в форматы растровых изображений, следуя простым шагам, изложенным ниже.
- Загрузите файл CAD в экземпляр Image.
- Создайте экземпляр CadRasterizationOptions и установите его обязательные свойства, такие как PageWidth и PageHeight.
- Создайте экземпляр ImageOptionsBase и установите его свойство VectorRasterizationOptions на экземпляр CadRasterizationOptions, созданный на предыдущем шаге.
- Вызовите Image.save, передав путь к файлу (или объект MemoryStream), а также экземпляр ImageOptionsBase, созданный на предыдущем шаге.
Вот полный исходный код.
По умолчанию 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 или CAD в растровые форматы изображений — это непростая задача. Поскольку итоговый 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.
Преобразование макетов CAD в форматы растровых изображений
API Aspose.CAD для Java способен преобразовывать макеты CAD поддерживаемых форматов, таких как DXF и DWG, в растровые изображения, такие как PNG, BMP, TIFF, JPEG и GIF. API также поддерживает отображение конкретных макетов чертежа CAD на разные слои PSD. API Aspose.CAD для Java предложил эффективные и простые в использовании средства для указания списка необходимых макетов CAD и их рендеринга в форматы растровых изображений. Вот как вы можете достичь этого за 5 простых шагов, перечисленных ниже.
- Загрузите файл CAD в экземпляр Image с помощью фабричного метода load.
- Создайте экземпляр CadRasterizationOptions и установите его обязательные свойства, такие как PageWidth и PageHeight.
- Укажите желаемые имена макетов с помощью свойства CadRasterizationOptions.Layouts.
- Создайте экземпляр ImageOptionsBase и установите его свойство VectorRasterizationOptions на экземпляр CadRasterizationOptions, созданный на предыдущем шаге.
- Вызовите Image.Save, передав путь к файлу (или объект MemoryStream), а также экземпляр ImageOptionsBase, созданный на предыдущем шаге.
Вот полный исходный код.
Включение трассировки процесса рендеринга 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 для Java API для изменения шрифта всех стилей в чертеже CAD.
Также возможно изменить шрифт только одного конкретного стиля, получив доступ к нему через имя стиля. Следующий фрагмент кода демонстрирует использование этого подхода.
Преобразование слоев CAD в форматы растровых изображений
API Aspose.CAD для Java предложил эффективные и простые в использовании средства для указания имени необходимого слоя 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 для Java предложил эффективные и простые в использовании средства для указания имени необходимого слоя CAD и его рендеринга в форматы растровых изображений. Вот как вы можете достичь этого за 5 простых шагов, перечисленных ниже.
- Загрузите файл DWF CAD в экземпляр Image с помощью фабричного метода Load.
- Создайте экземпляр CadRasterizationOptions и установите его обязательные свойства, такие как PageWidth и PageHeight.
- Добавьте желаемое имя слоя с помощью метода CadRasterizationOptions.Layers.Add.
- Создайте экземпляр ImageOptionsBase и установите его свойство VectorRasterizationOptions на экземпляр CadRasterizationOptions, созданный на предыдущем шаге.
- Вызовите метод Image.Save, передавая путь к файлу (или объект MemoryStream), а также экземпляр ImageOptionsBase, созданный на предыдущем шаге.
Вот полный исходный код.