| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > C#. Получить список всех форматов для каждого принтера

C#. Получить список всех форматов для каждого принтера

Ответ
Поиск в этой теме
Непрочитано 23.04.2015, 21:31 #1
C#. Получить список всех форматов для каждого принтера
Leo_fmf
 
Инженер-программист
 
Стерлитамак
Регистрация: 26.12.2011
Сообщений: 38

Здравствуйте!
Помогите пожалуйста получить список всех форматов принтеров по имени принтера.
Список всех принтеров я получаю следующим образом:
Код:
[Выделить все]
ArrayList PlotNamesList = new ArrayList();
foreach (string plotDevice in PlotSettingsValidator.Current.GetPlotDeviceList())
{
    PlotNamesList.Add(plotDevice);
}
Просмотров: 3618
 
Непрочитано 25.04.2015, 11:48
#2
kakt00z

инженер-проектировщик КИПиА
 
Регистрация: 30.08.2008
Минск
Сообщений: 159


я залазил в ActiveDocument - PlotConfigurations - AcadPlotConfiguration -
GetCanonicalMediaNames и GetLocaleMediaName
но, правда, на лиспе
kakt00z вне форума  
 
Непрочитано 25.04.2015, 15:20
#3
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,040


Программисты нынче ленивые - даже искать не хотят). На том же http://adn-cis.org было подробно разжевано - как получить список форматов на NET, в блоге Kean Walmsley это было сделано еще раньше.
Сергей812 вне форума  
 
Автор темы   Непрочитано 25.04.2015, 22:08
#4
Leo_fmf

Инженер-программист
 
Регистрация: 26.12.2011
Стерлитамак
Сообщений: 38


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
Программисты нынче ленивые - даже искать не хотят). На том же http://adn-cis.org было подробно разжевано - как получить список форматов на NET, в блоге Kean Walmsley это было сделано еще раньше.
Спасибо, статья выглядит очень полезной для меня, но почему-то метод у меня на AutoCAD 2013 не работает.
После вызова
Код:
[Выделить все]
// Получаем словарь PlotSettings
DBDictionary psDicts = (DBDictionary)t.GetObject(db.PlotSettingsDictionaryId, OpenMode.ForRead);
Моя переменная psDicts оказывается пустой.
Может кто-нибудь тестировал этот метод?

----- добавлено через ~3 мин. -----
kakt00z, может скинешь пару полезнейших строк кода на LISP, на крайний случай можно все получить на более близком для меня LISPе, а потом передать в C# через вспомогательный файл.
Leo_fmf вне форума  
 
Непрочитано 25.04.2015, 22:36
#5
kakt00z

инженер-проектировщик КИПиА
 
Регистрация: 30.08.2008
Минск
Сообщений: 159


Код:
[Выделить все]
 (setq plotters (vl-registry-descendents "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Devices" "*"))	;[list] (of strings)
(setq currentPlotter (car plotters)) ; [string] - любой из зарегисторованных = "PDF-XChange Printer 2012" 

(setq PlotConfigurations (vla-get-PlotConfigurations #actdoc))	; [object]
(vla-get-count PlotConfigurations)	; [int] = 0
(setq currentPlotConfig (vla-add PlotConfigurations "newconfig" :vlax-true)) ; new [object]
(vla-put-ConfigName currentPlotConfig currentPlotter)
(vla-get-count PlotConfigurations)	; [int] = 1
(setq CanonicalMediaNames
       (vlax-safearray->list
	 (vlax-variant-value
	   (vla-GetCanonicalMediaNames currentPlotConfig)
	   )))
; = ("UserDefinedMetric (297.00 x 210.00MM)" "UserDefinedMetric (630.00 x 297.00MM)" "UserDefinedMetric (841.00 x 297.00MM)" "UserDefinedMetric (1051.00 x 297.00MM)" "UserDefinedMetric (1261.00 x 297.00MM)" "UserDefinedMetric (1471.00 x 297.00MM)" "UserDefinedMetric (1682.00 x 297.00MM)" "UserDefinedMetric (1892.00 x 297.00MM)" "UserDefinedMetric (420.00 x 297.00MM)" "UserDefinedMetric (891.00 x 420.00MM)" "UserDefinedMetric (1189.00 x 420.00MM)" "UserDefinedMetric (1486.00 x 420.00MM)" "UserDefinedMetric (1783.00 x 420.00MM)" "UserDefinedMetric (2080.00 x 420.00MM)" "UserDefinedMetric (594.00 x 420.00MM)" "UserDefinedMetric (1261.00 x 594.00MM)" "UserDefinedMetric (1682.00 x 594.00MM)" "UserDefinedMetric (2102.00 x 594.00MM)" "UserDefinedMetric (841.00 x 594.00MM)" "UserDefinedMetric (1783.00 x 841.00MM)" "UserDefinedMetric (2378.00 x 841.00MM)" "UserDefinedMetric (1189.00 x 841.00MM)" "UserDefinedMetric (1682.00 x 1189.00MM)" "UserDefinedMetric (2523.00 x 1189.00MM)" "UserDefinedMetric (210.00 x 297.00MM)" "UserDefinedMetric (297.00 x 630.00MM)" "UserDefinedMetric (297.00 x 841.00MM)" "UserDefinedMetric (297.00 x 1051.00MM)" "UserDefinedMetric (297.00 x 1261.00MM)" "UserDefinedMetric (297.00 x 1471.00MM)" "UserDefinedMetric (297.00 x 1682.00MM)" "UserDefinedMetric (297.00 x 1892.00MM)" "UserDefinedMetric (297.00 x 420.00MM)" "UserDefinedMetric (420.00 x 891.00MM)" "UserDefinedMetric (420.00 x 1189.00MM)" "UserDefinedMetric (420.00 x 1486.00MM)" "UserDefinedMetric (420.00 x 1783.00MM)" "UserDefinedMetric (420.00 x 2080.00MM)" "UserDefinedMetric (420.00 x 594.00MM)" "UserDefinedMetric (594.00 x 1261.00MM)" "UserDefinedMetric (594.00 x 1682.00MM)" "UserDefinedMetric (594.00 x 2102.00MM)" "UserDefinedMetric (594.00 x 841.00MM)" "UserDefinedMetric (841.00 x 1783.00MM)" "UserDefinedMetric (841.00 x 2378.00MM)" "UserDefinedMetric (841.00 x 1189.00MM)" "UserDefinedMetric (1189.00 x 1682.00MM)" "UserDefinedMetric (1189.00 x 2523.00MM)" "ISO_full_bleed_B5_(250.00_x_176.00_MM)" "ISO_full_bleed_B5_(176.00_x_250.00_MM)" "ISO_full_bleed_B4_(353.00_x_250.00_MM)" "ISO_full_bleed_B4_(250.00_x_353.00_MM)" "ISO_full_bleed_B3_(500.00_x_353.00_MM)" "ISO_full_bleed_B3_(353.00_x_500.00_MM)" "ISO_full_bleed_B2_(707.00_x_500.00_MM)" "ISO_full_bleed_B2_(500.00_x_707.00_MM)" "ISO_full_bleed_B1_(1000.00_x_707.00_MM)" "ISO_full_bleed_B1_(707.00_x_1000.00_MM)" "ISO_full_bleed_B0_(1414.00_x_1000.00_MM)" "ISO_full_bleed_B0_(1000.00_x_1414.00_MM)" "ISO_full_bleed_A5_(210.00_x_148.00_MM)" "ISO_full_bleed_A5_(148.00_x_210.00_MM)" "ISO_full_bleed_2A0_(1189.00_x_1682.00_MM)" "ISO_full_bleed_4A0_(1682.00_x_2378.00_MM)" "ISO_full_bleed_A4_(297.00_x_210.00_MM)" "ISO_full_bleed_A4_(210.00_x_297.00_MM)" "ISO_full_bleed_A3_(420.00_x_297.00_MM)" "ISO_full_bleed_A3_(297.00_x_420.00_MM)" "ISO_full_bleed_A2_(594.00_x_420.00_MM)" "ISO_full_bleed_A2_(420.00_x_594.00_MM)" "ISO_full_bleed_A1_(841.00_x_594.00_MM)" "ISO_full_bleed_A1_(594.00_x_841.00_MM)" "ISO_full_bleed_A0_(841.00_x_1189.00_MM)" "ISO_full_bleed_B1_(707.00_x_1000.00_MM)" "ARCH_full_bleed_E1_(30.00_x_42.00_Inches)" "ARCH_full_bleed_E_(36.00_x_48.00_Inches)" "ARCH_full_bleed_D_(36.00_x_24.00_Inches)" "ARCH_full_bleed_D_(24.00_x_36.00_Inches)" "ARCH_full_bleed_C_(24.00_x_18.00_Inches)" "ARCH_full_bleed_C_(18.00_x_24.00_Inches)" "ARCH_full_bleed_B_(18.00_x_12.00_Inches)" "ARCH_full_bleed_B_(12.00_x_18.00_Inches)" "ARCH_full_bleed_A_(12.00_x_9.00_Inches)" "ARCH_full_bleed_A_(9.00_x_12.00_Inches)" "ANSI_full_bleed_F_(28.00_x_40.00_Inches)" "ANSI_full_bleed_E_(34.00_x_44.00_Inches)" "ANSI_full_bleed_D_(34.00_x_22.00_Inches)" "ANSI_full_bleed_D_(22.00_x_34.00_Inches)" "ANSI_full_bleed_C_(22.00_x_17.00_Inches)" "ANSI_full_bleed_C_(17.00_x_22.00_Inches)" "ANSI_full_bleed_B_(17.00_x_11.00_Inches)" "ANSI_full_bleed_B_(11.00_x_17.00_Inches)" "ANSI_full_bleed_A_(11.00_x_8.50_Inches)" "ANSI_full_bleed_A_(8.50_x_11.00_Inches)" "ISO_expand_A0_(841.00_x_1189.00_MM)" "ISO_A0_(841.00_x_1189.00_MM)" "ISO_expand_A1_(841.00_x_594.00_MM)" "ISO_expand_A1_(594.00_x_841.00_MM)" "ISO_A1_(841.00_x_594.00_MM)" "ISO_A1_(594.00_x_841.00_MM)" "ISO_expand_A2_(594.00_x_420.00_MM)" "ISO_expand_A2_(420.00_x_594.00_MM)" "ISO_A2_(594.00_x_420.00_MM)" "ISO_A2_(420.00_x_594.00_MM)" "ISO_expand_A3_(420.00_x_297.00_MM)" "ISO_expand_A3_(297.00_x_420.00_MM)" "ISO_A3_(420.00_x_297.00_MM)" "ISO_A3_(297.00_x_420.00_MM)" "ISO_expand_A4_(297.00_x_210.00_MM)" "ISO_expand_A4_(210.00_x_297.00_MM)" "ISO_A4_(297.00_x_210.00_MM)" "ISO_A4_(210.00_x_297.00_MM)" "ARCH_expand_E1_(30.00_x_42.00_Inches)" "ARCH_E1_(30.00_x_42.00_Inches)" "ARCH_expand_E_(36.00_x_48.00_Inches)" "ARCH_E_(36.00_x_48.00_Inches)" "ARCH_expand_D_(36.00_x_24.00_Inches)" "ARCH_expand_D_(24.00_x_36.00_Inches)" "ARCH_D_(36.00_x_24.00_Inches)" "ARCH_D_(24.00_x_36.00_Inches)" "ARCH_expand_C_(24.00_x_18.00_Inches)" "ARCH_expand_C_(18.00_x_24.00_Inches)" "ARCH_C_(24.00_x_18.00_Inches)" "ARCH_C_(18.00_x_24.00_Inches)" "ANSI_expand_E_(34.00_x_44.00_Inches)" "ANSI_E_(34.00_x_44.00_Inches)" "ANSI_expand_D_(34.00_x_22.00_Inches)" "ANSI_expand_D_(22.00_x_34.00_Inches)" "ANSI_D_(34.00_x_22.00_Inches)" "ANSI_D_(22.00_x_34.00_Inches)" "ANSI_expand_C_(22.00_x_17.00_Inches)" "ANSI_expand_C_(17.00_x_22.00_Inches)" "ANSI_C_(22.00_x_17.00_Inches)" "ANSI_C_(17.00_x_22.00_Inches)" "ANSI_expand_B_(17.00_x_11.00_Inches)" "ANSI_expand_B_(11.00_x_17.00_Inches)" "ANSI_B_(17.00_x_11.00_Inches)" "ANSI_B_(11.00_x_17.00_Inches)" "ANSI_expand_A_(11.00_x_8.50_Inches)" "ANSI_expand_A_(8.50_x_11.00_Inches)" "ANSI_A_(11.00_x_8.50_Inches)" "ANSI_A_(8.50_x_11.00_Inches)")


Код:
[Выделить все]
 (setq LocaleMediaNames (mapcar '(lambda (x) (vla-GetLocaleMediaName currentPlotConfig x)) CanonicalMediaNames))
;= ("wA4" "wA4x3" "wA4x4""wA4x5" "wA4x6" "wA4x7" "wA4x8" "wA4x9"
"wA3" "wA3x3" "wA3x4" "wA3x5" "wA3x6" "wA3x7"
"wA2" "wA2x3" "wA2x4" "wA2x5"
"wA1" "wA1x3" "wA1x4"
"wA0" "wA0x2" "wA0x3"
"vA4" "vA4x3" "vA4x4" "vA4x5" "vA4x6" "vA4x7" "vA4x8" "vA4x9"
"vA3" "vA3x3" "vA3x4" "vA3x5" "vA3x6" "vA3x7"
"vA2" "vA2x3" "vA2x4" "vA2x5" "vA1" "vA1x3" "vA1x4"
"vA0" "vA0x2" "vA0x3"
"ISO full bleed B5 (250.00 x 176.00 MM)"
"ISO full bleed B5 (176.00 x 250.00 MM)"
"ISO full bleed B4 (353.00 x 250.00 MM)"
"ISO full bleed B4 (250.00 x 353.00 MM)"
"ISO full bleed B3 (500.00 x 353.00 MM)"
"ISO full bleed B3 (353.00 x 500.00 MM)"
"ISO full bleed B2 (707.00 x 500.00 MM)"
"ISO full bleed B2 (500.00 x 707.00 MM)"
"ISO full bleed B1 (1000.00 x 707.00 MM)"
"ISO full bleed B1 (707.00 x 1000.00 MM)"
"ISO full bleed B0 (1414.00 x 1000.00 MM)"
"ISO full bleed B0 (1000.00 x 1414.00 MM)"
"ISO full bleed A5 (210.00 x 148.00 MM)"
"ISO full bleed A5 (148.00 x 210.00 MM)"
"ISO full bleed 2A0 (1189.00 x 1682.00 MM)"
"ISO full bleed 4A0 (1682.00 x 2378.00 MM)"
"ISO full bleed A4 (297.00 x 210.00 MM)"
"ISO full bleed A4 (210.00 x 297.00 MM)"
"ISO full bleed A3 (420.00 x 297.00 MM)"
"ISO full bleed A3 (297.00 x 420.00 MM)"
"ISO full bleed A2 (594.00 x 420.00 MM)"
"ISO full bleed A2 (420.00 x 594.00 MM)"
"ISO full bleed A1 (841.00 x 594.00 MM)"
"ISO full bleed A1 (594.00 x 841.00 MM)"
"ISO full bleed A0 (841.00 x 1189.00 MM)"
"ISO full bleed B1 (707.00 x 1000.00 MM)"
"ARCH full bleed E1 (30.00 x 42.00 Inches)"
"ARCH full bleed E (36.00 x 48.00 Inches)"
"ARCH full bleed D (36.00 x 24.00 Inches)"
"ARCH full bleed D (24.00 x 36.00 Inches)"
"ARCH full bleed C (24.00 x 18.00 Inches)"
"ARCH full bleed C (18.00 x 24.00 Inches)"
"ARCH full bleed B (18.00 x 12.00 Inches)"
"ARCH full bleed B (12.00 x 18.00 Inches)"
"ARCH full bleed A (12.00 x 9.00 Inches)"
"ARCH full bleed A (9.00 x 12.00 Inches)"
"ANSI full bleed F (28.00 x 40.00 Inches)"
"ANSI full bleed E (34.00 x 44.00 Inches)"
"ANSI full bleed D (34.00 x 22.00 Inches)"
"ANSI full bleed D (22.00 x 34.00 Inches)"
"ANSI full bleed C (22.00 x 17.00 Inches)"
"ANSI full bleed C (17.00 x 22.00 Inches)"
"ANSI full bleed B (17.00 x 11.00 Inches)"
"ANSI full bleed B (11.00 x 17.00 Inches)"
"ANSI full bleed A (11.00 x 8.50 Inches)"
"ANSI full bleed A (8.50 x 11.00 Inches)"
"ISO expand A0 (841.00 x 1189.00 MM)"
"ISO A0 (841.00 x 1189.00 MM)"
"ISO expand A1 (841.00 x 594.00 MM)"
"ISO expand A1 (594.00 x 841.00 MM)"
"ISO A1 (841.00 x 594.00 MM)"
"ISO A1 (594.00 x 841.00 MM)"
"ISO expand A2 (594.00 x 420.00 MM)"
"ISO expand A2 (420.00 x 594.00 MM)"
"ISO A2 (594.00 x 420.00 MM)"
"ISO A2 (420.00 x 594.00 MM)"
"ISO expand A3 (420.00 x 297.00 MM)"
"ISO expand A3 (297.00 x 420.00 MM)"
"ISO A3 (420.00 x 297.00 MM)"
"ISO A3 (297.00 x 420.00 MM)"
"ISO expand A4 (297.00 x 210.00 MM)"
"ISO expand A4 (210.00 x 297.00 MM)"
"ISO A4 (297.00 x 210.00 MM)"
"ISO A4 (210.00 x 297.00 MM)"
"ARCH expand E1 (30.00 x 42.00 Inches)"
"ARCH E1 (30.00 x 42.00 Inches)"
"ARCH expand E (36.00 x 48.00 Inches)"
"ARCH E (36.00 x 48.00 Inches)"
"ARCH expand D (36.00 x 24.00 Inches)"
"ARCH expand D (24.00 x 36.00 Inches)"
"ARCH D (36.00 x 24.00 Inches)"
"ARCH D (24.00 x 36.00 Inches)"
"ARCH expand C (24.00 x 18.00 Inches)"
"ARCH expand C (18.00 x 24.00 Inches)"
"ARCH C (24.00 x 18.00 Inches)"
"ARCH C (18.00 x 24.00 Inches)"
"ANSI expand E (34.00 x 44.00 Inches)"
"ANSI E (34.00 x 44.00 Inches)"
"ANSI expand D (34.00 x 22.00 Inches)"
"ANSI expand D (22.00 x 34.00 Inches)"
"ANSI D (34.00 x 22.00 Inches)"
"ANSI D (22.00 x 34.00 Inches)"
"ANSI expand C (22.00 x 17.00 Inches)"
"ANSI expand C (17.00 x 22.00 Inches)"
"ANSI C (22.00 x 17.00 Inches)"
"ANSI C (17.00 x 22.00 Inches)"
"ANSI expand B (17.00 x 11.00 Inches)"
"ANSI expand B (11.00 x 17.00 Inches)"
"ANSI B (17.00 x 11.00 Inches)"
"ANSI B (11.00 x 17.00 Inches)"
"ANSI expand A (11.00 x 8.50 Inches)"
"ANSI expand A (8.50 x 11.00 Inches)"
"ANSI A (11.00 x 8.50 Inches)"
"ANSI A (8.50 x 11.00 Inches)"
)


и так по каждму, хотя наверное в моем случае (нету принтера) тут достаточного одного раза

Последний раз редактировалось kakt00z, 25.04.2015 в 22:42.
kakt00z вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > C#. Получить список всех форматов для каждого принтера

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить список слоев и список текстовых стилей? DANZZ Программирование 12 08.02.2016 18:57
список всех слоёв Dante AutoCAD 12 15.06.2013 09:31
Как вывести список всех подпримитивов блока или др. элемента. Neo_ Программирование 16 25.01.2010 19:53
как получить список всех видов в чертеже Димас Программирование 12 22.02.2006 02:29
Можно ли получить список загруженных команд? Кулик Алексей aka kpblc Программирование 8 11.10.2005 09:04