psVdr.SetPlotConfigurationName(plSet, printDeviceName, null);
psVdr.RefreshLists(plSet);
StringCollection medlist = psVdr.GetCanonicalMediaNameList(plSet);
注意
psv.SetPlotConfigurationName(ps, printDeviceName, mediaName);
这个 mediaName 一定是psVdr.GetCanonicalMediaNameList(plSet);
得到的名称,否则会出现 einvalidinput的错误,特别是用第三方打印驱动的时候需要注意。
使用NetAPI进行CAD打印注意问题
1.创建一个plotinfo,然后设置layout属性使其与打印布局空间
2.读取布局的plotsettings对象。先创建一个新的plotsettings,然后使用copyfrom方法由布局空间映射打印设置
3.使用当前的plotsettingsvalidator对plotsettings对象进行自定义设置。plotsettings保存了打印的一些设置,但是plotsettings的属性基本上都是只读的,因此如果我们需要进行自定义设置,必须通过plotsettingsvalidator才能对plotsettings进行有限的操作,其中:
1) GetPlotDeviceList 读取打印机列表
2)GetCanonicalMediaNameList 读取打印机的图纸列表。一般在读取图纸列表之前,我们先使用SetPlotConfigurationName设置打印机,图纸大小设置为null,然后调用RefreshLists刷新图纸列表,然后再进行读取。
3)GetLocaleMediaName 图纸的本地自定义命名。我们会发现GetCanonicalMediaNameList 返回的图纸列表中,用户自定的图纸会以UserDefinedMetric来命名的。而我们的自定义命名只能通过GetLocaleMediaName来读取
4)GetPlotStyleSheetList 读取打印样式表
5)SetPlotConfigurationName 设置打印机及图纸大小
6)SetPlotPaperUnits 设置打印单位。在kean的程序中,SetPlotConfigurationName是最后设置的。但是我们会发现,设置了SetPlotConfigurationName后,打印单位会自动变成了英寸,因此我们需要在SetPlotConfigurationName后调用SetPlotPaperUnits来进行修正。
7)SetCurrentStyleSheet 设置打印样式
8)SetPlotWindowArea 设置打印窗选范围
9)SetPlotType设置打印范围类型。对于窗选打印,应先设置SetPlotWindowArea ,然后再设置SetPlotType,否则有可能会引发错误
10)SetCustomPrintScale 设置自定义打印比例
11)SetClosestMediaName 设置接近的图幅。这个方法的使用暂时不明确,因为每次测试均引发错误
12)SetPlotOrigin 设置打印偏移
13)SetPlotCentered设置居中打印
14)SetStdScaleType 设置标准打印比例。布满图纸打印在这里设置
15)SetStdScale 设置标准打印比例
16)SetUseStandardScale 使用标准打印比例,对于自定义打印比例不需要设置该项,否则可能引发错误
4.通过plotinfo的overridesettings属性将plotinfo与plotsettings关联
5.创建一个plotinfovalidator,使用validate方法将plotinfo激活
6.由plotfactory建立一个plotengine发布引擎,执行打印任务。
打印顺序:
1)BeginPlot
2)BeginDocument
3)BeginPage
4)BeginGenerateGraphics
5)EndGenerateGraphics
6)EndPage
7)EndDocument
8)EndPlot
转帖:http://blog.csdn.net/xuhaiyan8825/article/details/8130279
[本日志由 tiancao1001 于 2015-09-28 09:32 PM 编辑]
|
暂时没有评论
发表评论 - 不要忘了输入验证码哦! |