Настройка печати всех листов текущего чертежа на "Встроенный PDF-принтер"
Здравствуйте Уважаемые специалисты nanoCAD!
Код ниже позволяет задать всем листам активного чертежа принтер "Встроенный PDF-принтер". Поделитесь Вашими комментариями.
public partial class Commands { [Teigha.Runtime.CommandMethod("PlotDocument")] public void PrintDocument() { // Получение ссылки на активный документ HostMgd.ApplicationServices.Document doc = HostMgd.ApplicationServices.Application.DocumentManager.MdiActiveDocument; nanoCAD.Document comDoc = doc.AcadDocument as nanoCAD.Document; // Получение ссылки на редактор активного документа HostMgd.EditorInput.Editor ed = doc.Editor; // Получение ссылки на активный лист документа OdaX.AcadLayout activeLayout = comDoc.ActiveLayout; // Получение ссылки на свойство Plot активного документа nanoCAD.Plot plot = (nanoCAD.Plot)comDoc.Plot; // Назначение принтера всем листам документа. foreach (OdaX.IAcadLayout layout in comDoc.Layouts) { nanoCAD.InanoCADPlotCustomParams customPlotSettings = plot.CustomPlotSettings[layout]; layout.ConfigName = "Встроенный PDF-принтер"; // Передаем измененные пользовательские настройки в лист plot.CustomPlotSettings[layout] = customPlotSettings; } // Сообщение пользователю ed.WriteMessage("Листы {0} и {1} были установлены для печати на [Встроенный PDF-принтер]"); } }
Ответы
-
Добрый день! К сожалению, конкретно по вашему вопросу не подскажу, но возникает встречный вопрос: а почему вы не решаете эту задачу через пакетную публикацию (команда командной строки: Публ)?
0 -
Потому что хотелось бы просто сохранить настройки для листов (изменив имя плоттера).
А при пакетной печати, это смена принтера на момент самой печати.
1 -
В архиве скомпилированный ogPrintDocument.dll. Команда для запуска PlotDocument. (обновлено)
0 -
Не совсем понятна эта конструкция
Или после назначения принтера могло что-то переопределиться и требуется снова эти параметры назначить?
Ну и на старом добром лиспе как-то покомпактнее выглядит
(vl-load-com)
(defun c:ttt ( / doc name vb)
(setq doc (vla-get-activedocument (vlax-get-acad-object)))
(setq name "Встроенный PDF-принтер")
(vlax-for vb (vla-get-Layouts doc) (vla-put-ConfigName vb name))
)2 -
Не совсем понятна эта конструкция - не обязательно!
0
Разделы
- Все разделы
- 57 Общие вопросы
- 52 Работа nanoCAD в ОС Linux
- 407 Платформа nanoCAD
- 16 nanoCAD GeoniCS
- 87 nanoCAD BIM Строительство
- 42 nanoCAD Механика PRO
- 56 nanoCAD BIM Электро
- 11 nanoCAD BIM Вентиляция
- 13 nanoCAD BIM ВК
- 3 nanoCAD BIM Отопление
- 7 nanoCAD BIM СКС
- 51 nanoCAD BIM ОПС
- 2 nanoCAD Стройплощадка
- 3 nanoCAD Металлоконструкции
- 2 nanoCAD Конструкции PS
- 4 TDMS Фарватер
- 1 Облака точек
- NSR Specification
- Учебным заведениям и учащимся
- 7 nano360