VectorDraw Developer Framework (VDF) 是一个CAD图形引擎库,程序员可用于其应用程序的可视化。 通过所提供的功能,用户可以很轻松的创建、编辑、管理、导出和导入以及打印2D/3D的图形和图形文件。 VDF所采用的一种格式称为VDML(VDCL与VDML格式相同,只不过是压缩的)。此格式是基于XML的,支持定制的对象,不受构件版本的影响。 这个绘图引擎库还支持多种矢量和栅格格式的导入和导出,包括本机的SVG和PDF导出,它可以导出PDF中的图像。值得一提的是,VDF是完全面向对象 的,所以操作起来直观明了,非常容易上手。VDF支持.NET 2(包括ActiveX组件),它的第6个版本引擎是重新编写的,所有的集合算法都进行了重写。目前已经有 Windows CE 版本,并且推出了Sever授权。
VDF从6.11版开始在PrinterRender对象中新增了一个方法:ExportMultiPagePDF,这个方法可以输出多页PDF文件。下面跟大家列举两种多页打印PDF的应用技巧。
1、下面这个示例演示输出PDF文件单独页面的所有布局:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
int numprinters = vdFramedControl.BaseControl.ActiveDocument.LayOuts.Count + 1; vdPrint []printers = new vdPrint[numprinters]; int i = 0; printers[i] = vdFramedControl.BaseControl.ActiveDocument.Model.Printer; printers[i].PrintExtents(); printers[i].PrintScaleToFit(); i++; foreach (vdLayout layout in vdFramedControl.BaseControl.ActiveDocument.LayOuts) { printers[i] = layout.Printer; i++; } VectorDraw.Render.PrinterRender.ExportMultiPagePDF( new RenderFormats.PdfRender(), vdFramedControl.BaseControl.ActiveDocument, printers, @"C:\Documents and Settings\Administrator\Desktop\test.pdf" ); |
2、如果你的绘图没有布局,只有模型,想把多个PDF页面中的模型打印出来,那请参考下面的代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
int numprinters = 2; //two pages = two regions VectorDraw.Professional.vdObjects.vdPrint[] printers = new VectorDraw.Professional.vdObjects.vdPrint[numprinters]; int i = 0; //set the first printer settings and printable area printers[i] = new VectorDraw.Professional.vdObjects.vdPrint(vdFramedC.BaseControl.ActiveDocument.Model.Printer); printers[i].PrintWindow = new VectorDraw.Geometry.Box( new VectorDraw.Geometry.gPoint(-2, -1), new VectorDraw.Geometry.gPoint(866, 1122)); printers[i].PrintScaleToFit(); //set the second printer settings and printable area i++; printers[i] = new VectorDraw.Professional.vdObjects.vdPrint(vdFramedC.BaseControl.ActiveDocument.Model.Printer); printers[i].PrintWindow = new VectorDraw.Geometry.Box( new VectorDraw.Geometry.gPoint(-2, -1458), new VectorDraw.Geometry.gPoint(866, -330)); printers[i].PrintScaleToFit(); //Export to PDF VectorDraw.Render.PrinterRender.ExportMultiPagePDF( new RenderFormats.PdfRender(), vdFramedC.BaseControl.ActiveDocument, printers, @"C:\testing\test1.pdf" ); |