Převést DWG DXF na PDF C# | Převést soubory Auto CAD na PDF JPEG PNG v C# .NET

Převést DWG nebo DXF na PNG JPEG BMP GIF nebo TIFF v C#

Aspose.CAD pro .NET umí konvertovat formáty kreslení v AutoCADu jako DXF a DWG do formátů PNG, BMP, TIFF, JPEG a GIF. Poskytuje efektivní a snadno použitelné API k dosažení tohoto cíle.

Můžete převést jakýkoli podporovaný formát kreslení v AutoCADu na rastrové obrazové formáty pomocí následujících jednoduchých kroků.

  1. Načtěte soubor DWG nebo DXF do třídy Image.
  2. Vytvořte instanci třídy CadRasterizationOptions.
  3. Nastavte/změňte velikost obrázku pomocí vlastností PageWidth a PageHeight.
  4. Vytvořte instanci třídy ImageOptionsBase.
  5. Nastavte vlastnost VectorRasterizationOptions na vytvořenou třídu CadRasterizationOptions z předchozího kroku.
  6. Uložte kreslení AutoCADu jako PDF s metodou Image.Save při předání cesty k souboru (nebo objektu MemoryStream) a instance třídy ImageOptionsBase vytvořené v předchozím kroku.

Zde je kompletní zdrojový kód.

// 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);
}

Výchozím nastavením je, že API vykresluje pouze „Model“ rozvržení. Nicméně při převodu CAD kreseb do obrazových formátů můžete také specifikovat rozvržení podle vašeho výběru.

Přizpůsobení konverze CAD

Postupy konverze CAD na PDF a CAD na rastrové obrazové formáty jsou velmi konfigurovatelné, protože třída CadRasterizationOptions byla implementována způsobem, který poskytuje mnoho volitelných funkcí, které po nastavení mohou změnit proces vykreslování podle potřeb aplikace.

Třída CadRasterizationOptions

Vlastnosti třídy CadRasterizationOptions jsou obecné pro všechny podporované formáty CAD, jako je DWG & DXF, proto jsou informace sdílené v tomto článku platné pro oba zmíněné formáty CAD.

Nejpoužitelnější vlastnosti třídy CadRasterizationOptions jsou:

VlastnostVýchozí hodnotaPožadovánoPopis
PageWidth0AnoUrčuje šířku stránky.
PageHeight0AnoUrčuje výšku stránky.
ScaleMethodScaleType.ShrinkToFitNeUrčuje, zda má být výkres automaticky zmenšen. Výchozí hodnota automaticky zmenší obrázek, aby se vešel do velikosti plátna. Přepněte do režimu GrowToFit nebo použijte nastavení None pro deaktivaci automatického zveřejňování.
BackgroundColorColor.WhiteNeUrčuje barvu pozadí výstupního obrázku.
DrawTypeCadDrawTypeMode.UseDrawColorNeUrčuje režim barvení prvků. Specifikujte možnost UseObjectColor k vykreslení prvků pomocí jejich původní barvy nebo možnost UseDrawColor k přepsání původních barev.
DrawColorColor.BlackNeUrčuje přepsanou barvu prvku (pouze pokud je hodnota vlastnosti DrawType nastavena na hodnotu vlastnosti UseDrawColor).
AutomaticLayoutsScalingFalseNeUrčuje, zda se mají provádět automatické úpravy rozložení pro Modelové rozvržení.

Nastavení Velikosti Plátna a Režimu

Export z CAD do PDF nebo z CAD do rastrových obrazových formátů není triviální úloha. Vzhledem k tomu, že výsledné PDF nebo obraz vyžaduje definovanou velikost plátna, je nutné explicitně specifikovat rozměry výstupu pro PDF stránku, aby se kreslení řádně vykreslilo. Nastavte vlastnosti CadRasterizationOptions.PageWidth a CadRasterizationOptions.PageHeight explicitně, nebo můžete získat ImageSaveException.

Kromě toho můžete specifikovat možnosti škálování rozměrů. Nastavení škálování lze provést prostřednictvím vlastnosti CadRasterizationOptions.ScaleMethod. Tuto možnost použijte k automatickému přizpůsobení rozměrů obrázku podle hodnot CadRasterizationOptions.PageWidth a CadRasterizationOptions.PageHeight. Výchozí hodnota CadRasterizationOptions.ScaleMethod je nastavena na režim ScaleType.ShrinkToFit. Tato vlastnost definuje následující chování:

  • Pokud jsou rozměry CAD kreslení větší než výsledná velikost plátna, jsou rozměry kreslení zmenšeny tak, aby se vešly do výsledného plátna s zachováním poměru stran.
  • Pokud jsou rozměry CAD kreslení menší než výsledná velikost plátna, nastavte vlastnost CadRasterizationOptions.ScaleMethod na ScaleType.GrowToFit, aby se velikost kreslení zvětšila tak, aby se vešla do PDF plátna s zachováním poměru stran.
  • Nebo deaktivujte automatické škálování pomocí možnosti ScaleType.None.

Následující kódový vzorek ukazuje použití možnosti automatického škálování.

// 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);
}

Nastavení Barev Pozadí a Kreslené Barvy

Výchozí paletu barev pro výsledné plátno je nastavena na běžný dokument. To znamená, že všechny entity uvnitř CAD kreslení jsou nakresleny černým perem na pevném bílém pozadí. Tyto nastavení lze změnit pomocí vlastností CadRasterizationOptions.BackgroundColor a CadRasterizationOptions.DrawColor. Změna vlastnosti CadRasterizationOptions.DrawColor vyžaduje také nastavení vlastnosti CadRasterizationOptions.DrawType, aby bylo možné použít barvu kreslení. Vlastnost CadRasterizationOptions.DrawType řídí, zda CAD entity zachovávají své barvy nebo jsou převedeny na vlastní barvy. Pro zachování barev entit specifikujte CadRasterizationOptions.DrawType jako CadDrawTypeMode.UseObjectColor, jinak specifikujte hodnotu CadDrawTypeMode.UseDrawColor.

Následující kódový vzorek ukazuje, jak používat různé barevné vlastnosti.

// 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);
}

Nastavení Automatického Škálování Rozvržení

Většina CAD kreseb má více než jedno rozvržení uložené v jediném souboru, a každé rozvržení by mohlo mít odlišné rozměry. Při vykreslování těchto CAD kreseb do PDF může každá stránka PDF mít odlišné škálování podle velikosti rozvržení. Pro zajištění homogenního vykreslování Aspose.CAD API vystavuje vlastnost CadRasterizationOptions.AutomaticLayoutsScaling. Výchozí hodnota je false, ale když je nastavena na true, API bude hledat odpovídající měřítko pro každé samostatné rozvržení a vykreslit je odpovídajícím způsobem prostřednictvím automatické operace změny velikosti podle velikosti stránky.

Zde je, jak vlastnost CadRasterizationOptions.AutomaticLayoutsScaling pracuje ve spolupráci s vlastností CadRasterizationOptions.ScaleMethod.

  1. Pokud je ScaleMethod nastaveno na ScaleType.ShrinkToFit nebo ScaleType.GrowToFit s AutomaticLayoutsScaling nastaveno na false, pak budou všechna rozvržení (včetně Modelu) zpracována podle první možnosti.
  2. Pokud je ScaleMethod nastaveno na ScaleType.ShrinkToFit nebo ScaleType.GrowToFit s AutomaticLayoutsScaling nastaveno na true, pak budou všechna rozvržení (kromě Modelu) zpracována podle jejich velikosti, zatímco Model bude zpracován podle první možnosti.
  3. Pokud je ScaleMethod nastaveno na ScaleType.None s AutomaticLayoutsScaling nastaveno na true nebo false, neproběhne žádné škálování.

Následující kódový vzorek ukazuje, jak nastavit automatické škálování rozvržení pro konverzi CAD do 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);
}

Převést AutoCAD DXF nebo DWG Rozvržení na PNG nebo Ostatní Obrazové Formáty v C#

Aspose.CAD pro .NET API může převést rozvržení CAD podporovaných formátů, jako jsou DXF a DWG, na PNG BMP TIFF JPEG a GIF. API také poskytuje podporu pro vykreslení konkrétních rozvržení kreslení CAD do různých vrstev PSD.

Zde je, jak můžete dosáhnout stejného pomocí následujících jednoduchých kroků.

  • Načtěte soubor AutoCADu DWG nebo DXF pomocí třídy Image.
  • Nastavte/změňte šířku a výšku obrázku.
  • Nastavte požadované jméno(y) rozvržení pomocí vlastnosti CadRasterizationOptions.Layouts.
  • Vytvořte instanci ImageOptionsBase a nastavte jí vlastnost VectorRasterizationOptions na instanci CadRasterizationOptions vytvořené v předchozím kroku.
  • Uložte CAD rozvržení jako TIFF nebo obraz.

Zde je kompletní zdrojový kód.

// 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);
}

Povolení Sledování Pro Proces Vykreslování CAD

Aspose.CAD zavedl sérii tříd a podpůrných výčtových polí pro sledování procesu vykreslování CAD. S těmito změnami lze nyní konverzi CAD do PDF provést následujícím způsobem při povolení sledování.

// 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);
}

Sledování procesu vykres