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 regionsVectorDraw.Professional.vdObjects.vdPrint[] printers = new VectorDraw.Professional.vdObjects.vdPrint[numprinters];int i = 0;//set the first printer settings and printable areaprinters[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 areai++;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 PDFVectorDraw.Render.PrinterRender.ExportMultiPagePDF(new RenderFormats.PdfRender(), vdFramedC.BaseControl.ActiveDocument, printers, @"C:\testing\test1.pdf"); |