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 рендерить лише макет “Модель”. Однак ви також можете вказати макети на ваш розсуд при конвертації малюнків 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.
Конвертація макетів 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 можна використовувати для вказівки доступної назви шрифту.
Наступний кодовий фрагмент демонструє використання API Aspose.CAD для .NET для зміни шрифту всіх стилів у малюнку 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 заповнює поле Application значенням ‘Aspose.CAD’ та поле PDF Producer значенням, наприклад ‘Aspose.CAD v 17.10’.
Зверніть увагу, що ви не можете наказати Aspose.CAD для .NET змінити або видалити цю інформацію з вихідних документів.