Я меняю источники на дисках MXD в разных офисах, используя ArcPy и ArcGIS 10.0. Как отмечалось здесь , настройки принтера возвращаются к принтеру по умолчанию при отправке инструкции mxd.save ().
Потеря принтера - это небольшая проблема в моем случае, но она становится серьезной, если опция печати «Масштабировать элементы карты пропорционально изменениям размера страницы» отмечена, когда выбрано «Использовать параметры бумаги для принтера». На скриншоте ниже показан мой худший сценарий, в лучшем случае снимите оба флажка.
Я хотел бы использовать comtypes, чтобы проверить значение этой опции и установить его в False (без галочки) перед сохранением MXD - идея состоит в том, чтобы вызывать это как функцию из существующего скрипта ArcPy. (Главная цель)
Для дальнейшей защиты настроек печати, в идеале, я бы также хотел снять флажок «Использовать настройки принтера», если он установлен. (вторичная цель)
Кто-нибудь может помочь?
(width,height)=p.QuerySize()
к коду и изменитеp.PutCustomSize(width,height)
соответственно. Смотрите обновленный фрагмент кода!