使用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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章