使用ar.Net API进行CAD打印注意问题

                StringCollection devlist = psVdr.GetPlotDeviceList();
                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


没有更多推荐了,返回首页