تبدیل DWG DXF به PDF C# | تبدیل فایل‌های اتو کد به PDF JPEG PNG در C# .NET

تبدیل DWG یا DXF به PNG JPEG BMP GIF یا TIFF در C#

Aspose.CAD برای .NET می‌تواند فرمت‌های ترسیمی اتو کد مانند DXF و DWG را به PNG، BMP، TIFF، JPEG و GIF تبدیل کند. این ابزار API کارآمد و آسانی را برای دستیابی به این هدف ارائه می‌دهد.

شما می‌توانید هر فرمت ترسیم اتو کد پشتیبانی‌شده را با استفاده از مراحل ساده‌ای که در زیر توضیح داده شده است، به فرمت‌های تصویر رستری تبدیل کنید.

  1. فایل DWG یا DXF اتو کد را به کلاس Image بارگذاری کنید.
  2. یک نمونه از CadRasterizationOptions ایجاد کنید.
  3. اندازه تصویر را با استفاده از PageWidth و PageHeight تنظیم/تغییر دهید.
  4. یک نمونه از ImageOptionsBase ایجاد کنید.
  5. ویژگی VectorRasterizationOptions را به CadRasterizationOptions ایجاد شده در مرحله قبلی تنظیم کنید.
  6. ترسیم اتو کد را به 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 فقط “مدل” را ترسیم می‌کند. با این حال، شما ممکن است همچنین layouts دلخواه خود را در حین تبدیل ترسیمات CAD به فرمت‌های تصویر مشخص کنید.

سفارشی‌سازی تبدیل CAD

رویه‌های تبدیل CAD به PDF و CAD به تصویر رستری به شدت قابل تنظیم هستند، زیرا کلاس CadRasterizationOptions به گونه‌ای پیاده‌سازی شده است که بسیاری از ویژگی‌های اختیاری را ارائه می‌دهد که با تنظیم آن می‌توان روند رندر را بر اساس نیازهای برنامه تغییر داد.

کلاس CadRasterizationOptions

کلاس CadRasterizationOptions برای تمام فرمت‌های CAD پشتیبانی شده مانند DWG و DXF مشترک است، بنابراین اطلاعات به اشتراک گذاشته شده در این مقاله برای هر دو فرمت CAD مذکور معتبر است.

مفیدترین ویژگی‌های کلاس CadRasterizationOptions به شرح زیر است:

ویژگیمقدار پیش‌فرضالزامیتوضیحات
PageWidth0بلهعرض صفحه را مشخص می‌کند.
PageHeight0بلهارتفاع صفحه را مشخص می‌کند.
ScaleMethodScaleType.ShrinkToFitخیرمشخص می‌کند که آیا ترسیم باید به طور خودکار مقیاس شود. مقدار پیش‌فرض به طور خودکار تصویر را به اندازه بوم کوچک می‌کند. به حالت GrowToFit سوئیچ کنید یا از تنظیم None برای غیر فعال کردن مقیاس خودکار استفاده کنید.
BackgroundColorColor.Whiteخیررنگ پس‌زمینه تصویر خروجی را مشخص می‌کند.
DrawTypeCadDrawTypeMode.UseDrawColorخیرحالت رنگ‌آمیزی موجودیت را مشخص می‌کند. گزینه UseObjectColor را مشخص کنید تا موجودیت‌ها با رنگ ذاتی خود ترسیم شوند، یا گزینه UseDrawColor را برای غیرفعال کردن رنگ‌های ذاتی استفاده کنید.
DrawColorColor.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 کار می‌کند.

  1. اگر ScaleMethod به ScaleType.ShrinkToFit یا ScaleType.GrowToFit با AutomaticLayoutsScaling برابر با false تنظیم شود، در این صورت تمام طرح‌ها (شامل مدل) طبق گزینه اول پردازش خواهند شد.
  2. اگر ScaleMethod به ScaleType.ShrinkToFit یا ScaleType.GrowToFit با AutomaticLayoutsScaling برابر با true تنظیم شود، در این صورت تمام طرح‌ها (به جز مدل) طبق اندازه خود پردازش خواهند شد، در حالی که مدل طبق گزینه اول پردازش خواهد شد.
  3. اگر 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);
}

تبدیل لایه‌های DXF یا DWG اتو کد به PNG یا دیگر فرمت‌های تصویر در C#

API Aspose.CAD برای .NET می‌تواند لایه‌های CAD با فرمت‌های پشتیبانی شده مانند DXF و DWG را به PNG BMP TIFF JPEG و GIF تبدیل کند. همچنین API، پشتیبانی برای رندر کردن طرح‌های خاص یک ترسیم CAD به لایه‌های PSD مختلف را ارائه می‌دهد.

در زیر چگونگی دستیابی به این هدف در مراحل ساده توضیح داده شده است.

  • فایل 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 می‌تواند مشکلات زیر را شناسایی کند.

  1. اطلاعات هدر گم شده یا خراب.
  2. اطلاعات طرح گم شده.
  3. موجودیت‌های بلوکی گم شده.
  4. سبک‌های ابعاد گم شده.
  5. سبک‌های گم شده.

جایگزینی قلم‌ها در هنگام تبدیل ترسیمات 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 نشان می‌دهد.

// 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 مرحله ساده توضیح داده شده است.

  1. فایل CAD را به یک نمونه از Image با استفاده از روش کارخانه Load بارگذاری کنید.
  2. یک نمونه از CadRasterizationOptions ایجاد کرده و ویژگی‌های الزامی آن مانند PageWidth و PageHeight را تنظیم کنید.
  3. نام لایه دلخواه را با استفاده از روش CadRasterizationOptions.Layers.Add اضافه کنید.
  4. یک نمونه از ImageOptionsBase ایجاد کرده و ویژگی VectorRasterizationOptions آن را به نمونه CadRasterizationOptions ایجاد شده در مرحله قبلی تنظیم کنید.
  5. با گذراندن مسیر فایل (یا یک شیء از MemoryStream) و همچنین نمونه ImageOptionsBase ایجاد شده در مرحله قبلی، متد Image.Save را فراخوانی کنید.

این کد منبع کامل است.

// 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 مرحله ساده توضیح داده شده است.

  1. فایل DWF CAD را به یک نمونه از Image با استفاده از روش کارخانه Load بارگذاری کنید.
  2. یک نمونه از CadRasterizationOptions ایجاد کرده و ویژگی‌های الزامی آن مانند PageWidth و PageHeight را تنظیم کنید.
  3. نام لایه دلخواه را با استفاده از روش CadRasterizationOptions.Layers.Add اضافه کنید.
  4. یک نمونه از ImageOptionsBase ایجاد کرده و ویژگی VectorRasterizationOptions آن را به نمونه CadRasterizationOptions ایجاد شده در مرحله قبلی تنظیم کنید.
  5. با گذراندن مسیر فایل (یا یک شیء از MemoryStream) و همچنین نمونه ImageOptionsBase ایجاد شده در مرحله قبلی، متد Image.Save را فراخوانی کنید.

این کد منبع کامل است.

// 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 فیلد Application را با مقدار ‘Aspose.CAD’ و فیلد PDF Producer را با مقداری مانند ‘Aspose.CAD v 17.10’ پر می‌کند.

لطفاً توجه داشته باشید که شما نمی‌توانید به Aspose.CAD برای .NET دستور دهید که این اطلاعات را از اسناد خروجی تغییر دهد یا حذف کند.