您的位置:首页 > 编程语言 > ASP

Aspose.CAD有趣的功能

2020-04-30 12:18 1516 查看

您好,在本文中,我将列出Aspose.CAD与其他类似软件的不同之处,并通常介绍其有趣的功能。

导出到指定的输出尺寸

例如,可以设置输出PDF文件的特定尺寸来导出到A4尺寸的文档。有一个有关如何设置Aspose.CAD以输出所需PDF大小的示例。导出区域的内容将被缩放以适合输出文档区域,而不改变长宽比。还要注意,该代码示例还包含栅格输出的示例,该示例更为简单,只需将所需的DPI乘以所需的输出文档尺寸,就可以得到所需的栅格图像分辨率。

[code]<span style="color:#f8f8f2"><span style="color:#eff0f9"><code><span style="color:#f39c12">public</span> <span style="color:#f39c12">static</span> <span style="color:#f39c12">void</span> <span style="color:#7ed07e">Run</span><span style="color:#f8f8f2">()</span>
<span style="color:#f8f8f2">{</span>
<span style="color:#f39c12">using</span> <span style="color:#f8f8f2">(</span><span style="color:#f39c12">var</span> <span style="color:#f8f8f2">cadImage</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">Image</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Load</span><span style="color:#f8f8f2">(</span><span style="color:#f2ca27">"visualization_-_conference_room.dwg"</span><span style="color:#f8f8f2">))</span>
<span style="color:#f8f8f2">{</span>

<span style="color:#808080">// export to pdf</span>
<span style="color:#f8f8f2">CadRasterizationOptions</span> <span style="color:#f8f8f2">rasterizationOptions</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">new</span> <span style="color:#7ed07e">CadRasterizationOptions</span><span style="color:#f8f8f2">();</span>
<span style="color:#f8f8f2">rasterizationOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Layouts</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">new</span> <span style="color:#f39c12">string</span><span style="color:#f8f8f2">[]</span> <span style="color:#f8f8f2">{</span> <span style="color:#f2ca27">"Model"</span> <span style="color:#f8f8f2">};</span>

<span style="color:#f39c12">bool</span> <span style="color:#f8f8f2">currentUnitIsMetric</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">false</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">double</span> <span style="color:#f8f8f2">currentUnitCoefficient</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">1.0</span><span style="color:#f8f8f2">;</span>
<span style="color:#7ed07e">DefineUnitSystem</span><span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">cadImage</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">UnitType</span><span style="color:#f8f8f2">,</span> <span style="color:#f39c12">out</span> <span style="color:#f8f8f2">currentUnitIsMetric</span><span style="color:#f8f8f2">,</span> <span style="color:#f39c12">out</span> <span style="color:#f8f8f2">currentUnitCoefficient</span><span style="color:#f8f8f2">);</span>

<span style="color:#f39c12">if</span> <span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">currentUnitIsMetric</span><span style="color:#f8f8f2">)</span>
<span style="color:#f8f8f2">{</span>
<span style="color:#f39c12">double</span> <span style="color:#f8f8f2">metersCoeff</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">1</span> <span style="color:#f8f8f2">/</span> <span style="color:#dda0dd">1000.0</span><span style="color:#f8f8f2">;</span>

<span style="color:#f39c12">double</span> <span style="color:#f8f8f2">scaleFactor</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">metersCoeff</span> <span style="color:#f8f8f2">/</span> <span style="color:#f8f8f2">currentUnitCoefficient</span><span style="color:#f8f8f2">;</span>

<span style="color:#f8f8f2">rasterizationOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">PageWidth</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">(</span><span style="color:#f39c12">float</span><span style="color:#f8f8f2">)(</span><span style="color:#dda0dd">210</span> <span style="color:#f8f8f2">*</span> <span style="color:#f8f8f2">scaleFactor</span><span style="color:#f8f8f2">);</span>
<span style="color:#f8f8f2">rasterizationOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">PageHeight</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">(</span><span style="color:#f39c12">float</span><span style="color:#f8f8f2">)(</span><span style="color:#dda0dd">297</span> <span style="color:#f8f8f2">*</span> <span style="color:#f8f8f2">scaleFactor</span><span style="color:#f8f8f2">);</span>
<span style="color:#f8f8f2">rasterizationOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">UnitType</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">UnitType</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Millimeter</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">}</span>
<span style="color:#f39c12">else</span>
<span style="color:#f8f8f2">{</span>
<span style="color:#f8f8f2">rasterizationOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">PageWidth</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">(</span><span style="color:#f39c12">float</span><span style="color:#f8f8f2">)(</span><span style="color:#dda0dd">8.27f</span> <span style="color:#f8f8f2">/</span> <span style="color:#f8f8f2">currentUnitCoefficient</span><span style="color:#f8f8f2">);</span>
<span style="color:#f8f8f2">rasterizationOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">PageHeight</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">(</span><span style="color:#f39c12">float</span><span style="color:#f8f8f2">)(</span><span style="color:#dda0dd">11.69f</span> <span style="color:#f8f8f2">/</span> <span style="color:#f8f8f2">currentUnitCoefficient</span><span style="color:#f8f8f2">);</span>
<span style="color:#f8f8f2">rasterizationOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">UnitType</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">UnitType</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Inch</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">}</span>

<span style="color:#f8f8f2">rasterizationOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">AutomaticLayoutsScaling</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">true</span><span style="color:#f8f8f2">;</span>

<span style="color:#f8f8f2">PdfOptions</span> <span style="color:#f8f8f2">pdfOptions</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">new</span> <span style="color:#f8f8f2">PdfOptions</span>
<span style="color:#f8f8f2">{</span>
<span style="color:#f8f8f2">VectorRasterizationOptions</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">rasterizationOptions</span>
<span style="color:#f8f8f2">};</span>

<span style="color:#f8f8f2">cadImage</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Save</span><span style="color:#f8f8f2">(</span><span style="color:#f2ca27">"out.pdf"</span><span style="color:#f8f8f2">,</span> <span style="color:#f8f8f2">pdfOptions</span><span style="color:#f8f8f2">);</span>

<span style="color:#f8f8f2">PngOptions</span> <span style="color:#f8f8f2">png</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">new</span> <span style="color:#7ed07e">PngOptions</span><span style="color:#f8f8f2">();</span>
<span style="color:#f8f8f2">png</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">VectorRasterizationOptions</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">rasterizationOptions</span><span style="color:#f8f8f2">;</span>
<span style="color:#808080">// export to raster</span>
<span style="color:#808080">//A4 size at 300 DPI - 2480 x 3508  </span>
<span style="color:#f8f8f2">rasterizationOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">PageHeight</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">3508</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">rasterizationOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">PageWidth</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">2480</span><span style="color:#f8f8f2">;</span>

<span style="color:#f8f8f2">cadImage</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Save</span><span style="color:#f8f8f2">(</span><span style="color:#f2ca27">"out.png"</span><span style="color:#f8f8f2">,</span> <span style="color:#f8f8f2">png</span><span style="color:#f8f8f2">);</span>
<span style="color:#f8f8f2">}</span>

<span style="color:#f8f8f2">}</span>

<span style="color:#f39c12">private</span> <span style="color:#f39c12">static</span> <span style="color:#f39c12">void</span> <span style="color:#7ed07e">DefineUnitSystem</span><span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">UnitType</span> <span style="color:#f8f8f2">unitType</span><span style="color:#f8f8f2">,</span> <span style="color:#f39c12">out</span> <span style="color:#f39c12">bool</span> <span style="color:#f8f8f2">isMetric</span><span style="color:#f8f8f2">,</span> <span style="color:#f39c12">out</span> <span style="color:#f39c12">double</span> <span style="color:#f8f8f2">coefficient</span><span style="color:#f8f8f2">)</span>
<span style="color:#f8f8f2">{</span>
<span style="color:#f8f8f2">isMetric</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">false</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">coefficient</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">1.0</span><span style="color:#f8f8f2">;</span>

<span style="color:#f39c12">switch</span> <span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">unitType</span><span style="color:#f8f8f2">)</span>
<span style="color:#f8f8f2">{</span>
<span style="color:#f39c12">case</span> <span style="color:#f8f8f2">UnitType</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Parsec</span><span style="color:#f8f8f2">:</span>
<span style="color:#f8f8f2">coefficient</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">3.0857</span> <span style="color:#f8f8f2">*</span> <span style="color:#dda0dd">10000000000000000.0</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">isMetric</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">true</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">break</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">case</span> <span style="color:#f8f8f2">UnitType</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">LightYear</span><span style="color:#f8f8f2">:</span>
<span style="color:#f8f8f2">coefficient</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">9.4607</span> <span style="color:#f8f8f2">*</span> <span style="color:#dda0dd">1000000000000000.0</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">isMetric</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">true</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">break</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">case</span> <span style="color:#f8f8f2">UnitType</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">AstronomicalUnit</span><span style="color:#f8f8f2">:</span>
<span style="color:#f8f8f2">coefficient</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">1.4960</span> <span style="color:#f8f8f2">*</span> <span style="color:#dda0dd">100000000000.0</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">isMetric</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">true</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">break</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">case</span> <span style="color:#f8f8f2">UnitType</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Gigameter</span><span style="color:#f8f8f2">:</span>
<span style="color:#f8f8f2">coefficient</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">1000000000.0</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">isMetric</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">true</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">break</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">case</span> <span style="color:#f8f8f2">UnitType</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Kilometer</span><span style="color:#f8f8f2">:</span>
<span style="color:#f8f8f2">coefficient</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">1000.0</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">isMetric</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">true</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">break</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">case</span> <span style="color:#f8f8f2">UnitType</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Decameter</span><span style="color:#f8f8f2">:</span>
<span style="color:#f8f8f2">isMetric</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">true</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">coefficient</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">10.0</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">break</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">case</span> <span style="color:#f8f8f2">UnitType</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Hectometer</span><span style="color:#f8f8f2">:</span>
<span style="color:#f8f8f2">isMetric</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">true</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">coefficient</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">100.0</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">break</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">case</span> <span style="color:#f8f8f2">UnitType</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Meter</span><span style="color:#f8f8f2">:</span>
<span style="color:#f8f8f2">isMetric</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">true</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">coefficient</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">1.0</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">break</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">case</span> <span style="color:#f8f8f2">UnitType</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Centimenter</span><span style="color:#f8f8f2">:</span>
<span style="color:#f8f8f2">isMetric</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">true</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">coefficient</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">0.01</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">break</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">case</span> <span style="color:#f8f8f2">UnitType</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Decimeter</span><span style="color:#f8f8f2">:</span>
<span style="color:#f8f8f2">isMetric</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">true</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">coefficient</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">0.1</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">break</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">case</span> <span style="color:#f8f8f2">UnitType</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Millimeter</span><span style="color:#f8f8f2">:</span>
<span style="color:#f8f8f2">isMetric</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">true</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">coefficient</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">0.001</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">break</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">case</span> <span style="color:#f8f8f2">UnitType</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Micrometer</span><span style="color:#f8f8f2">:</span>
<span style="color:#f8f8f2">isMetric</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">true</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">coefficient</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">0.000001</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">break</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">case</span> <span style="color:#f8f8f2">UnitType</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Nanometer</span><span style="color:#f8f8f2">:</span>
<span style="color:#f8f8f2">isMetric</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">true</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">coefficient</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">0.000000001</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">break</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">case</span> <span style="color:#f8f8f2">UnitType</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Angstrom</span><span style="color:#f8f8f2">:</span>
<span style="color:#f8f8f2">isMetric</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">true</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">coefficient</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">0.0000000001</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">break</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">case</span> <span style="color:#f8f8f2">UnitType</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Inch</span><span style="color:#f8f8f2">:</span>
<span style="color:#f8f8f2">coefficient</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">1.0</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">break</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">case</span> <span style="color:#f8f8f2">UnitType</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">MicroInch</span><span style="color:#f8f8f2">:</span>
<span style="color:#f8f8f2">coefficient</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">0.000001</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">break</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">case</span> <span style="color:#f8f8f2">UnitType</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Mil</span><span style="color:#f8f8f2">:</span>
<span style="color:#f8f8f2">coefficient</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">0.001</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">break</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">case</span> <span style="color:#f8f8f2">UnitType</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Foot</span><span style="color:#f8f8f2">:</span>
<span style="color:#f8f8f2">coefficient</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">12.0</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">break</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">case</span> <span style="color:#f8f8f2">UnitType</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Yard</span><span style="color:#f8f8f2">:</span>
<span style="color:#f8f8f2">coefficient</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">36.0</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">break</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">case</span> <span style="color:#f8f8f2">UnitType</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Mile</span><span style="color:#f8f8f2">:</span>
<span style="color:#f8f8f2">coefficient</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">63360.0</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">break</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">}</span>
<span style="color:#f8f8f2">}</span>
</code></span></span>

出口的绝对指标正常化

默认情况下,Aspose.CAD使用工程图的相对单位。但是,CadRasterizationOptions类中有一个UnitType属性,该属性指定使用的单位类型。在渲染期间,一个单位将被解释为1个像素,因此,如果图像的指定大小为10x10 m,并且选择厘米为单位类型,则该图像将被光栅化为1000x1000像素的图像。

[code]<span style="color:#f8f8f2"><span style="color:#eff0f9"><code>    <span style="color:#f39c12">string</span> <span style="color:#f8f8f2">fileName</span> <span style="color:#f8f8f2">=</span> <span style="color:#7ed07e">GetFileFromDesktop</span><span style="color:#f8f8f2">(</span><span style="color:#f2ca27">"Floorplan.dwg"</span><span style="color:#f8f8f2">);</span>
<span style="color:#f39c12">using</span> <span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">Aspose</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">CAD</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Image</span> <span style="color:#f8f8f2">image</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">Aspose</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">CAD</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Image</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Load</span><span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">fileName</span><span style="color:#f8f8f2">))</span>
<span style="color:#f8f8f2">{</span>
<span style="color:#f8f8f2">BmpOptions</span> <span style="color:#f8f8f2">bmpOptions</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">new</span> <span style="color:#7ed07e">BmpOptions</span><span style="color:#f8f8f2">();</span>
<span style="color:#f8f8f2">CadRasterizationOptions</span> <span style="color:#f8f8f2">cadRasterizationOptions</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">new</span> <span style="color:#7ed07e">CadRasterizationOptions</span><span style="color:#f8f8f2">();</span>
<span style="color:#f8f8f2">bmpOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">VectorRasterizationOptions</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">cadRasterizationOptions</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">cadRasterizationOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">CenterDrawing</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">true</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">cadRasterizationOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">UnitType</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">UnitType</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Centimeter</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">cadRasterizationOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Layouts</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">new</span> <span style="color:#f39c12">string</span><span style="color:#f8f8f2">[]</span> <span style="color:#f8f8f2">{</span> <span style="color:#f2ca27">"Model"</span> <span style="color:#f8f8f2">};</span>
<span style="color:#808080">// export</span>
<span style="color:#f39c12">string</span> <span style="color:#f8f8f2">outPath</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">fileName</span> <span style="color:#f8f8f2">+</span> <span style="color:#f2ca27">".bmp"</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">image</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Save</span><span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">outPath</span><span style="color:#f8f8f2">,</span> <span style="color:#f8f8f2">bmpOptions</span><span style="color:#f8f8f2">);</span>
<span style="color:#f8f8f2">}</span>
</code></span></span>

支持PDF / A

Aspose.CAD支持指定符合PDF/A标准来呈现归档PDF文档。该过程包括创建用于导出图像的常规PdfOptions,将其CorePdfOptions属性设置为PdfDocumentOptions的新实例,并在实例中设置遵从性字段。之后,使用该PdfOptions实例保存的图像将被保存为PDF/兼容的PDF文件。例子:

[code]<span style="color:#f8f8f2"><span style="color:#eff0f9"><code><span style="color:#f8f8f2">PdfOptions</span> <span style="color:#f8f8f2">pdfOptions</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">new</span> <span style="color:#f8f8f2">Aspose</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">CAD</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">ImageOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">PdfOptions</span>
<span style="color:#f8f8f2">{</span>
<span style="color:#f8f8f2">VectorRasterizationOptions</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">rasterizationOptions</span>
<span style="color:#f8f8f2">};</span>

<span style="color:#f8f8f2">pdfOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">CorePdfOptions</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">new</span> <span style="color:#7ed07e">PdfDocumentOptions</span><span style="color:#f8f8f2">();</span>

<span style="color:#f8f8f2">pdfOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">CorePdfOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Compliance</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">PdfCompliance</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">PdfA1a</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">cadImage</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Save</span><span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">outPath</span><span style="color:#f8f8f2">,</span> <span style="color:#f8f8f2">pdfOptions</span><span style="color:#f8f8f2">);</span>

<span style="color:#f8f8f2">pdfOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">CorePdfOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Compliance</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">PdfCompliance</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">PdfA1b</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">cadImage</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Save</span><span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">outPath</span><span style="color:#f8f8f2">,</span> <span style="color:#f8f8f2">pdfOptions</span><span style="color:#f8f8f2">);</span>
</code></span></span>

出口期间的保证金控制。

默认情况下,Aspose.CAD渲染CAD文件时,文件或页面的整个内容周围的边距很小。CadRasterizationOptions 类中有一个Zoom 属性,用于控制图像缩放。默认情况下,它设置为小于1,以提供边距。如果不需要边距,请将其设置为1。示例:

[code]<span style="color:#f8f8f2"><span style="color:#eff0f9"><code><span style="color:#f39c12">using</span> <span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">CadImage</span> <span style="color:#f8f8f2">cadImage</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">CadImage</span><span style="color:#f8f8f2">)</span><span style="color:#f8f8f2">Image</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Load</span><span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">fileName</span><span style="color:#f8f8f2">))</span>
<span style="color:#f8f8f2">{</span>
<span style="color:#808080">// call after changes done to image to check new size of the image.</span>
<span style="color:#f8f8f2">cadImage</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">UpdateSize</span><span style="color:#f8f8f2">();</span>

<span style="color:#f8f8f2">CadRasterizationOptions</span> <span style="color:#f8f8f2">rasterizationOptions</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">new</span> <span style="color:#7ed07e">CadRasterizationOptions</span><span style="color:#f8f8f2">();</span>

<span style="color:#f8f8f2">rasterizationOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">UnitType</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">UnitType</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Micrometer</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">rasterizationOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">PageHeight</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">cadImage</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Height</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">rasterizationOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">PageWidth</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">cadImage</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Width</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">rasterizationOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Zoom</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">1f</span><span style="color:#f8f8f2">;</span>

<span style="color:#f8f8f2">PdfOptions</span> <span style="color:#f8f8f2">pdfOptions</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">new</span> <span style="color:#7ed07e">PdfOptions</span><span style="color:#f8f8f2">();</span>
<span style="color:#f8f8f2">pdfOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">VectorRasterizationOptions</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">rasterizationOptions</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">cadImage</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Save</span><span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">outDir</span> <span style="color:#f8f8f2">+</span> <span style="color:#f8f8f2">fileName</span> <span style="color:#f8f8f2">+</span> <span style="color:#f2ca27">".pdf"</span><span style="color:#f8f8f2">,</span> <span style="color:#f8f8f2">pdfOptions</span><span style="color:#f8f8f2">);</span>
<span style="color:#f8f8f2">}</span>
</code></span></span>

导出特定区域的CAD文档

这也是可行的,但是它适用于DWG文档,并且操作不简单,因为它涉及为区域创建自定义视口。参见示例:

[code]<span style="color:#f8f8f2"><span style="color:#eff0f9"><code>    <span style="color:#f8f8f2">CadImage</span> <span style="color:#f8f8f2">cadImage</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">Image</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Load</span><span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">FileName</span><span style="color:#f8f8f2">)</span> <span style="color:#f39c12">as</span> <span style="color:#f8f8f2">CadImage</span><span style="color:#f8f8f2">;</span>

<span style="color:#f8f8f2">CadRasterizationOptions</span> <span style="color:#f8f8f2">rasterizationOptions</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">new</span> <span style="color:#7ed07e">CadRasterizationOptions</span><span style="color:#f8f8f2">();</span>
<span style="color:#f8f8f2">rasterizationOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Layouts</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">new</span> <span style="color:#f39c12">string</span><span style="color:#f8f8f2">[]</span> <span style="color:#f8f8f2">{</span> <span style="color:#f2ca27">"Model"</span> <span style="color:#f8f8f2">};</span>
<span style="color:#f8f8f2">rasterizationOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">NoScaling</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">true</span><span style="color:#f8f8f2">;</span>

<span style="color:#f8f8f2">rasterizationOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">PageHeight</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">height</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">rasterizationOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">PageWidth</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">width</span><span style="color:#f8f8f2">;</span>

<span style="color:#808080">// note: preserving some empty borders around part of image is the responsibility of customer</span>
<span style="color:#808080">// top left point of region to draw</span>

<span style="color:#f8f8f2">CadVportTableObject</span> <span style="color:#f8f8f2">newView</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">new</span> <span style="color:#7ed07e">CadVportTableObject</span><span style="color:#f8f8f2">();</span>

<span style="color:#808080">// note: exactly such table name is required for active view</span>
<span style="color:#f8f8f2">newView</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">TableName</span> <span style="color:#f8f8f2">=</span> <span style="color:#f2ca27">"*Active"</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">newView</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">CenterPoint</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">X</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">topLeft</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">X</span> <span style="color:#f8f8f2">+</span> <span style="color:#f8f8f2">width</span> <span style="color:#f8f8f2">/</span> <span style="color:#dda0dd">2f</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">newView</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">CenterPoint</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Y</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">topLeft</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Y</span> <span style="color:#f8f8f2">-</span> <span style="color:#f8f8f2">height</span> <span style="color:#f8f8f2">/</span> <span style="color:#dda0dd">2f</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">newView</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">ViewHeight</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Value</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">height</span><span style="color:#f8f8f2">;</span>
<span style="color:#808080">//newView.ViewAspectRatio.Value = width / height;</span>

<span style="color:#808080">// search for active viewport and replace it</span>
<span style="color:#f39c12">for</span> <span style="color:#f8f8f2">(</span><span style="color:#f39c12">int</span> <span style="color:#f8f8f2">i</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">0</span><span style="color:#f8f8f2">;</span> <span style="color:#f8f8f2">i</span> <span style="color:#f8f8f2"><</span> <span style="color:#f8f8f2">cadImage</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">ViewPorts</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Count</span><span style="color:#f8f8f2">;</span> <span style="color:#f8f8f2">i</span><span style="color:#f8f8f2">++)</span>
<span style="color:#f8f8f2">{</span>
<span style="color:#f8f8f2">CadVportTableObject</span> <span style="color:#f8f8f2">currentView</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">CadVportTableObject</span><span style="color:#f8f8f2">)(</span><span style="color:#f8f8f2">cadImage</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">ViewPorts</span><span style="color:#f8f8f2">[</span><span style="color:#f8f8f2">i</span><span style="color:#f8f8f2">]);</span>
<span style="color:#f39c12">if</span> <span style="color:#f8f8f2">((</span><span style="color:#f8f8f2">currentView</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">TableName</span> <span style="color:#f8f8f2">==</span> <span style="color:#f39c12">null</span> <span style="color:#f8f8f2">&&</span> <span style="color:#f8f8f2">cadImage</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">ViewPorts</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Count</span> <span style="color:#f8f8f2">==</span> <span style="color:#dda0dd">1</span><span style="color:#f8f8f2">)</span> <span style="color:#f8f8f2">||</span>
<span style="color:#f39c12">string</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Equals</span><span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">currentView</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">TableName</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">ToLowerInvariant</span><span style="color:#f8f8f2">(),</span> <span style="color:#f2ca27">"*active"</span><span style="color:#f8f8f2">))</span>
<span style="color:#f8f8f2">{</span>
<span style="color:#f8f8f2">cadImage</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">ViewPorts</span><span style="color:#f8f8f2">[</span><span style="color:#f8f8f2">i</span><span style="color:#f8f8f2">]</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">newView</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">break</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">}</span>
<span style="color:#f8f8f2">}</span>
<span style="color:#f8f8f2">PngOptions</span> <span style="color:#f8f8f2">pngOptions</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">new</span> <span style="color:#7ed07e">PngOptions</span><span style="color:#f8f8f2">();</span>
<span style="color:#f8f8f2">pngOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">VectorRasterizationOptions</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">rasterizationOptions</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">cadImage</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Save</span><span style="color:#f8f8f2">(</span><span style="color:#f2ca27">"output.png"</span><span style="color:#f8f8f2">,</span> <span style="color:#f8f8f2">pngOptions</span><span style="color:#f8f8f2">);</span>
</code></span></span>

跟踪出口错误

Aspose.CAD有一种方法可以记录将CAD文件导出到栅格或PDF期间发生的错误。CadRasterizationOptions 类中有一个RenderResult 事件,当导出完成时会调用该事件。事件处理程序会收到CadRenderResult ,其中在“ 失败” 字段中包含错误列表。查看有关如何使用它的示例:

[code]<span style="color:#f8f8f2"><span style="color:#eff0f9"><code><span style="color:#f39c12">using</span> <span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">Image</span> <span style="color:#f8f8f2">image</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">Image</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Load</span><span style="color:#f8f8f2">(</span><span style="color:#f2ca27">"example.dxf"</span><span style="color:#f8f8f2">))</span>
<span style="color:#f39c12">using</span> <span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">FileStream</span> <span style="color:#f8f8f2">stream</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">new</span> <span style="color:#7ed07e">FileStream</span><span style="color:#f8f8f2">(</span><span style="color:#f2ca27">"output_example.pdf"</span><span style="color:#f8f8f2">,</span> <span style="color:#f8f8f2">FileMode</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Create</span><span style="color:#f8f8f2">))</span>
<span style="color:#f8f8f2">{</span>
<span style="color:#f8f8f2">PdfOptions</span> <span style="color:#f8f8f2">pdfOptions</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">new</span> <span style="color:#7ed07e">PdfOptions</span><span style="color:#f8f8f2">();</span>

<span style="color:#f8f8f2">CadRasterizationOptions</span> <span style="color:#f8f8f2">cadRasterizationOptions</span> <span style="color:#f8f8f2">=</span>
<span style="color:#f39c12">new</span> <span style="color:#7ed07e">CadRasterizationOptions</span><span style="color:#f8f8f2">();</span>
<span style="color:#f8f8f2">pdfOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">VectorRasterizationOptions</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">cadRasterizationOptions</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">cadRasterizationOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">PageWidth</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">800</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">cadRasterizationOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">PageHeight</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">600</span><span style="color:#f8f8f2">;</span>

<span style="color:#f39c12">int</span> <span style="color:#f8f8f2">idxError</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">1</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">cadRasterizationOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">RenderResult</span> <span style="color:#f8f8f2">+=</span>
<span style="color:#f39c12">new</span> <span style="color:#f8f8f2">CadRasterizationOptions</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">CadRenderHandler</span><span style="color:#f8f8f2">(</span>
<span style="color:#f39c12">delegate</span> <span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">CadRenderResult</span> <span style="color:#f8f8f2">result</span><span style="color:#f8f8f2">)</span>
<span style="color:#f8f8f2">{</span>

<span style="color:#f8f8f2">Console</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">WriteLine</span><span style="color:#f8f8f2">(</span><span style="color:#f2ca27">"Tracking results of exporting"</span><span style="color:#f8f8f2">);</span>

<span style="color:#f39c12">if</span> <span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">result</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">IsRenderComplete</span><span style="color:#f8f8f2">)</span>
<span style="color:#f39c12">return</span><span style="color:#f8f8f2">;</span>

<span style="color:#f8f8f2">Console</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">WriteLine</span><span style="color:#f8f8f2">(</span><span style="color:#f2ca27">"Have some problems:"</span><span style="color:#f8f8f2">);</span>

<span style="color:#f39c12">foreach</span> <span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">RenderResult</span> <span style="color:#f8f8f2">rr</span> <span style="color:#f39c12">in</span> <span style="color:#f8f8f2">result</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Failures</span><span style="color:#f8f8f2">)</span>
<span style="color:#f8f8f2">Console</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">WriteLine</span><span style="color:#f8f8f2">(</span><span style="color:#f39c12">string</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Format</span><span style="color:#f8f8f2">(</span><span style="color:#f2ca27">"{0}. {1}, {2}"</span><span style="color:#f8f8f2">,</span> <span style="color:#f8f8f2">idxError</span><span style="color:#f8f8f2">++,</span> <span style="color:#f8f8f2">rr</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">RenderCode</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">ToString</span><span style="color:#f8f8f2">(),</span> <span style="color:#f8f8f2">rr</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Message</span><span style="color:#f8f8f2">));</span>

<span style="color:#f8f8f2">});</span>

<span style="color:#f8f8f2">Console</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">WriteLine</span><span style="color:#f8f8f2">(</span><span style="color:#f2ca27">"Exporting to pdf format"</span><span style="color:#f8f8f2">);</span>
<span style="color:#f8f8f2">image</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Save</span><span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">stream</span><span style="color:#f8f8f2">,</span> <span style="color:#f8f8f2">pdfOptions</span><span style="color:#f8f8f2">);</span>
<span style="color:#f8f8f2">}</span>
</code></span></span>

3D对象导出支持

可以使用Aspose.CAD导出AutoCAD和其他文件格式的3D对象。该库使用存储在文件中的视点-因此,导出的图像将显示为与加载文件后立即在AutoCAD中可以看到的图像相同。
默认情况下,仅2D对象导出为AutoCAD文件。若要切换到3D对象导出,请将CadRasterizationOptions实例的TypeOfEntities属性设置为TypeOfEntities .Entities3D并执行导出。 请注意,IFC文件没有存储视点信息,因此您必须在导出期间提供观察点。参见示例:

[code]<span style="color:#f8f8f2"><span style="color:#eff0f9"><code>            <span style="color:#f39c12">using</span> <span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">IfcImage</span> <span style="color:#f8f8f2">ifcImage</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">IfcImage</span><span style="color:#f8f8f2">)</span><span style="color:#f8f8f2">Image</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Load</span><span style="color:#f8f8f2">(</span><span style="color:#f2ca27">"ifcimage.ifc"</span><span style="color:#f8f8f2">))</span>
<span style="color:#f8f8f2">{</span>
<span style="color:#f8f8f2">JpegOptions</span> <span style="color:#f8f8f2">options</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">new</span> <span style="color:#7ed07e">JpegOptions</span><span style="color:#f8f8f2">();</span>
<span style="color:#f8f8f2">options</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">VectorRasterizationOptions</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">new</span> <span style="color:#7ed07e">CadRasterizationOptions</span><span style="color:#f8f8f2">();</span>
<span style="color:#f8f8f2">options</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">VectorRasterizationOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">PageWidth</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">1500</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">options</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">VectorRasterizationOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">PageHeight</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">1500</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">float</span> <span style="color:#f8f8f2">xAngle</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">45</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">float</span> <span style="color:#f8f8f2">yAngle</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">0</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">float</span> <span style="color:#f8f8f2">zAngle</span> <span style="color:#f8f8f2">=</span> <span style="color:#dda0dd">180</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">((</span><span style="color:#f8f8f2">CadRasterizationOptions</span><span style="color:#f8f8f2">)(</span><span style="color:#f8f8f2">options</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">VectorRasterizationOptions</span><span style="color:#f8f8f2">)).</span><span style="color:#f8f8f2">ObserverPoint</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">new</span> <span style="color:#7ed07e">ObserverPoint</span><span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">xAngle</span><span style="color:#f8f8f2">,</span> <span style="color:#f8f8f2">yAngle</span><span style="color:#f8f8f2">,</span> <span style="color:#f8f8f2">zAngle</span><span style="color:#f8f8f2">);</span>
<span style="color:#f8f8f2">((</span><span style="color:#f8f8f2">CadRasterizationOptions</span><span style="color:#f8f8f2">)(</span><span style="color:#f8f8f2">options</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">VectorRasterizationOptions</span><span style="color:#f8f8f2">)).</span><span style="color:#f8f8f2">DrawType</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">CadDrawTypeMode</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">UseObjectColor</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">ifcImage</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Save</span><span style="color:#f8f8f2">(</span><span style="color:#f2ca27">"ifcrender.jpg"</span><span style="color:#f8f8f2">,</span> <span style="color:#f8f8f2">options</span><span style="color:#f8f8f2">);</span>
<span style="color:#f8f8f2">}</span>
</code></span></span>

多线程支持

通过Aspose.CAD加载的所有CAD文件-的图片类的实例-是独立的,并且可以毫无问题并行处理。但是,对单个图像的操作应仅在一个线程内发生。

即将推出-.Net Core支持

.NET标准将在不久的将来得到支持,因此该库将具有一个本机.NET Core支持的版本,因此,不仅Java中而且在.Net中都支持​​多平台。

即将推出-云版本

一项公共的REST API服务正在允许您使用Aspose.CAD,将文件上传到API主机,对其进行处理并将其下载回来。

现在,仅此而已!将来,本文将使用新的和旧的有趣功能进行更新。

原文链接:https://dev.to//nnevod/interesting-features-of-asposecad-1nk2

cunxiedian8614 原创文章 0获赞 2访问量 2万+ 关注 私信
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: