DWG DXF ke PDF C# | Konversi File Auto CAD ke PDF JPEG PNG di C# .NET
Konversi DWG atau DXF ke PNG JPEG BMP GIF atau TIFF di C#
Aspose.CAD untuk .NET dapat mengonversi format gambar AutoCAD seperti DXF dan DWG ke PNG, BMP, TIFF, JPEG dan GIF. Ini telah mengekspos API yang efisien dan mudah digunakan untuk mencapai tujuan ini.
Anda dapat mengonversi format gambar AutoCAD yang didukung ke format gambar raster menggunakan langkah-langkah sederhana seperti yang dijelaskan di bawah ini.
- Muat file DWG atau DXF AutoCAD ke dalam kelas Image.
- Buat instance dari CadRasterizationOptions.
- Atur/ganti ukuran gambar menggunakan PageWidth dan PageHeight
- Buat instance dari ImageOptionsBase
- Setel properti VectorRasterizationOptions ke CadRasterizationOptions yang dibuat di langkah sebelumnya.
- Simpan gambar AutoCAD sebagai PDF dengan Image.Save dengan melewatkan jalur file (atau objek MemoryStream) serta instance dari ImageOptionsBase yang dibuat di langkah sebelumnya.
Berikut adalah kode sumber lengkapnya.
// 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); | |
} |
Secara default, API hanya merender layout “Model”. Namun, Anda juga dapat menentukan layout sesuai keinginan Anda saat mengonversi gambar CAD ke format gambar.
Kustomisasi Konversi CAD
Prosedur konversi CAD ke PDF & CAD ke format gambar raster sangat dapat dikonfigurasi karena kelas CadRasterizationOptions telah diterapkan sedemikian rupa sehingga menyediakan banyak fitur opsional yang dapat mengubah proses rendering sesuai dengan kebutuhan aplikasi.
Kelas CadRasterizationOptions
Kelas CadRasterizationOptions sama untuk semua format CAD yang didukung seperti DWG & DXF oleh karena itu, informasi yang dibagikan dalam artikel ini berlaku untuk kedua format CAD yang disebutkan di atas.
Properti kelas CadRasterizationOptions yang paling berguna adalah:
Properti | Nilai Default | Diperlukan | Deskripsi |
---|---|---|---|
PageWidth | 0 | Ya | Menentukan lebar halaman. |
PageHeight | 0 | Ya | Menentukan tinggi halaman |
ScaleMethod | ScaleType.ShrinkToFit | Tidak | Menentukan apakah gambar harus secara otomatis diukur. Nilai default secara otomatis mengecilkan gambar agar sesuai dengan ukuran kanvas. Beralih ke mode GrowToFit, atau gunakan pengaturan None untuk menonaktifkan pengukuran otomatis. |
BackgroundColor | Color.White | Tidak | Menentukan warna latar belakang gambar keluaran. |
DrawType | CadDrawTypeMode.UseDrawColor | Tidak | Menentukan mode pewarnaan entitas. Tentukan opsi UseObjectColor untuk menggambar entitas dengan warna aslinya, atau opsi UseDrawColor untuk menimpa warna asli. |
DrawColor | Color.Black | Tidak | Menentukan warna entitas yang ditimpa (hanya jika DrawType disetel ke nilai properti UseDrawColor). |
AutomaticLayoutsScaling | False | Tidak | Menentukan apakah pengukuran layout otomatis harus dilakukan untuk mencocokkan layout Model. |
Menetapkan Ukuran Kanvas & Mode
Ekspor dari CAD ke PDF atau CAD ke format gambar raster bukanlah tugas yang sepele. Karena PDF atau gambar hasil membutuhkan ukuran kanvas yang harus didefinisikan, kita perlu menentukan dimensi keluaran untuk halaman PDF agar gambar dirender dengan benar. Atur properti CadRasterizationOptions.PageWidth dan CadRasterizationOptions.PageHeight secara eksplisit, atau Anda mungkin mendapatkan ImageSaveException.
Selain itu, Anda dapat menetapkan opsi skala dimensi. Opsi skala diatur dengan properti CadRasterizationOptions.ScaleMethod. Gunakan opsi ini untuk secara otomatis menyesuaikan dimensi gambar sesuai dengan nilai CadRasterizationOptions.PageWidth dan CadRasterizationOptions.PageHeight. Secara default, CadRasterizationOptions.ScaleMethod diatur ke mode ScaleType.ShrinkToFit. Properti ini mendefinisikan perilaku berikut:
- Jika dimensi gambar CAD lebih besar dari ukuran kanvas yang dihasilkan, maka dimensi gambar akan dikurangi agar sesuai dengan kanvas yang dihasilkan sambil mempertahankan rasio aspek.
- Jika dimensi gambar CAD lebih kecil dari ukuran kanvas yang dihasilkan, setel properti CadRasterizationOptions.ScaleMethod ke ScaleType.GrowToFit untuk meningkatkan ukuran gambar agar sesuai dengan kanvas PDF sambil mempertahankan rasio aspek.
- Atau nonaktifkan pengukuran otomatis dengan opsi ScaleType.None.
Contoh kode di bawah ini menunjukkan opsi pengukuran otomatis yang sedang digunakan.
// 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); | |
} |
Menetapkan Latar Belakang & Warna Gambar
Secara default, palet warna untuk kanvas hasil diatur ke skema dokumen umum. Itu berarti bahwa semua entitas di dalam gambar CAD digambar dengan pena warna hitam di latar belakang putih solid. Pengaturan ini dapat diubah dengan properti CadRasterizationOptions.BackgroundColor dan CadRasterizationOptions.DrawColor. Mengubah properti CadRasterizationOptions.DrawColor juga memerlukan pengaturan properti CadRasterizationOptions.DrawType untuk memanfaatkan warna gambar yang digunakan. Properti CadRasterizationOptions.DrawType mengontrol apakah entitas CAD mempertahankan warna mereka atau diubah ke warna kustom. Untuk mempertahankan warna entitas, tentukan CadRasterizationOptions.DrawType sebagai CadDrawTypeMode.UseObjectColor, jika tidak, tentukan nilai CadDrawTypeMode.UseDrawColor.
Contoh kode di bawah ini menunjukkan bagaimana menggunakan berbagai properti warna.
// 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); | |
} |
Mengaktifkan Skala Layout Otomatis
Sebagian besar gambar CAD memiliki lebih dari satu layout yang disimpan dalam satu file, dan setiap layout dapat memiliki dimensi yang berbeda. Saat merender gambar CAD seperti itu ke PDF, setiap halaman PDF dapat memiliki skala yang berbeda sesuai dengan ukuran layout. Untuk membuat rendering seragam, API Aspose.CAD telah mengekspos properti CadRasterizationOptions.AutomaticLayoutsScaling. Nilai defaultnya adalah false, tetapi ketika true, API akan mencoba mencari skala yang sesuai untuk setiap layout terpisah dan menggambarnya dengan cara yang sesuai dengan melakukan operasi pengukuran otomatis sesuai dengan ukuran halaman.
Berikut adalah cara kerja properti CadRasterizationOptions.AutomaticLayoutsScaling dalam kolaborasi dengan properti CadRasterizationOptions.ScaleMethod.
- Jika ScaleMethod disetel ke ScaleType.ShrinkToFit atau ScaleType.GrowToFit dengan AutomaticLayoutsScaling disetel ke false, maka semua layout (termasuk Model) akan diproses sesuai dengan opsi pertama.
- Jika ScaleMethod disetel ke ScaleType.ShrinkToFit atau ScaleType.GrowToFit dengan AutomaticLayoutsScaling disetel ke true, maka semua layout (kecuali Model) akan diproses sesuai ukuran mereka sementara Model akan diproses sesuai dengan opsi pertama.
- Jika ScaleMethod disetel ke ScaleType.None dengan AutomaticLayoutsScaling disetel ke true atau false maka tidak ada pengukuran yang akan dilakukan.
Contoh kode di bawah ini menunjukkan bagaimana mengatur pengukuran layout otomatis untuk konversi CAD ke 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); | |
} |
Konversi Layout DXF atau DWG AutoCAD ke PNG atau Format Gambar Lainnya di C#
API Aspose.CAD untuk .NET dapat mengonversi layout CAD dari format yang didukung seperti DXF dan DWG ke PNG BMP TIFF JPEG dan GIF. API ini juga menyediakan dukungan untuk merender layout tertentu dari gambar CAD ke layer PSD yang berbeda.
Berikut adalah cara Anda dapat mencapai hal yang sama dalam langkah-langkah sederhana berikut.
- Muat file DWG atau DXF AutoCAD menggunakan kelas Image.
- Atur/ganti lebar dan tinggi gambar.
- Atur nama layout yang diinginkan menggunakan properti CadRasterizationOptions.Layouts.
- Buat instance dari ImageOptionsBase dan atur properti VectorRasterizationOptions ke instance dari CadRasterizationOptions yang dibuat di langkah sebelumnya.
- Simpan layout CAD sebagai TIFF atau gambar.
Berikut adalah kode sumber lengkapnya.
// 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); | |
} |
Mengaktifkan Pelacakan untuk Proses Rendering CAD
Aspose.CAD telah memperkenalkan serangkaian kelas dan bidang enumerasi pendukung untuk membantu pelacakan proses rendering CAD. Dengan perubahan ini, konversi CAD ke PDF sekarang dapat dicapai seperti berikut sambil mengaktifkan pelacakan.
// 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); | |
} |
Pelacakan proses rendering CAD dapat mendeteksi kemungkinan masalah berikut.
- Informasi header yang hilang atau korup.
- Informasi layout yang hilang.
- Entitas blok yang hilang.
- Gaya dimensi yang hilang.
- Gaya yang hilang.
Mengganti Font saat Mengonversi Gambar CAD
Sangat mungkin bahwa gambar CAD tertentu menggunakan font spesifik yang tidak tersedia di mesin di mana konversi CAD ke PDF atau CAD ke gambar raster dilakukan. Dalam situasi seperti itu, API Aspose.CAD akan memicu pengecualian yang sesuai untuk menyoroti font yang hilang dan menghentikan proses konversi karena API memerlukan font ini untuk merender konten dengan benar ke PDF atau gambar yang dihasilkan.
API Aspose.CAD menyediakan cara mudah untuk menggunakan mekanisme mengganti font yang dibutuhkan dengan font yang tersedia. Properti CadImage.Styles mengembalikan instance dari CadStylesDictionary yang pada gilirannya berisi CadStyleTableObject untuk setiap gaya dalam gambar CAD, sedangkan CadStyleTableObject.PrimaryFontName dapat digunakan untuk menentukan nama font yang tersedia.
Cuplikan kode berikut menunjukkan penggunaan Aspose.CAD untuk .NET API untuk mengubah font semua gaya dalam gambar 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"; | |
} | |
} | |
} | |
} | |
Anda juga dapat mengubah font hanya untuk satu gaya tertentu dengan mengaksesnya melalui nama gaya. Cuplikan kode berikut menunjukkan penggunaan pendekatan ini.
// 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"; | |
} | |
} | |
} |
Konversi Layer CAD ke Format Gambar Raster
API Aspose.CAD untuk .NET telah mengekspos cara yang efisien & mudah digunakan untuk menentukan nama layer CAD yang diperlukan dan merendernya ke format gambar raster. Berikut adalah cara Anda dapat mencapai hal yang sama dalam 5 langkah sederhana seperti yang tercantum di bawah ini.
- Muat file CAD ke dalam instance Image menggunakan metode pabrik Load.
- Buat instance dari CadRasterizationOptions dan atur propertinya yang wajib seperti PageWidth & PageHeight.
- Tambahkan nama layer yang diinginkan menggunakan metode CadRasterizationOptions.Layers.Add.
- Buat instance dari ImageOptionsBase dan atur properti VectorRasterizationOptions ke instance dari CadRasterizationOptions yang dibuat di langkah sebelumnya.
- Panggil metode Image.Save dengan melewatkan jalur file (atau objek MemoryStream) serta instance dari ImageOptionsBase yang dibuat di langkah sebelumnya.
Berikut adalah kode sumber lengkapnya.
// 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."); |
Mengonversi Semua Layer CAD ke Gambar Terpisah
Anda dapat mengambil semua layer dari gambar CAD menggunakan CadImage.Layers dan merender setiap layer ke gambar terpisah seperti yang ditunjukkan di bawah ini.
// 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); | |
} | |
} |
Mengonversi Layer CAD DWF ke Format Gambar Raster
API Aspose.CAD untuk .NET telah mengekspos cara yang efisien & mudah digunakan untuk menentukan nama layer CAD yang diperlukan dan merendernya ke format gambar raster. Berikut adalah cara Anda dapat mencapai hal yang sama dalam 5 langkah sederhana seperti yang tercantum di bawah ini.
- Muat file CAD DWF ke dalam instance Image menggunakan metode pabrik Load.
- Buat instance dari CadRasterizationOptions dan atur propertinya yang wajib seperti PageWidth & PageHeight.
- Tambahkan nama layer yang diinginkan menggunakan metode CadRasterizationOptions.Layers.Add.
- Buat instance dari ImageOptionsBase dan atur properti VectorRasterizationOptions ke instance dari CadRasterizationOptions yang dibuat di langkah sebelumnya.
- Panggil metode Image.Save dengan melewatkan jalur file (atau objek MemoryStream) serta instance dari ImageOptionsBase yang dibuat di langkah sebelumnya.
Berikut adalah kode sumber lengkapnya.
// 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 untuk .NET langsung menulis informasi tentang API dan Nomor Versi dalam dokumen keluaran. Misalnya, setelah merender Dokumen ke PDF, Aspose.CAD untuk .NET mengisi bidang Aplikasi dengan nilai ‘Aspose.CAD’ dan bidang Produsen PDF dengan nilai, misalnya ‘Aspose.CAD v 17.10’.
Harap dicatat bahwa Anda tidak dapat meminta Aspose.CAD untuk .NET untuk mengubah atau menghapus informasi ini dari Dokumen keluaran.