Форум программистов, компьютерный форум, киберфорум
Администрирование Windows
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/26: Рейтинг темы: голосов - 26, средняя оценка - 4.62
1 / 1 / 1
Регистрация: 12.11.2016
Сообщений: 27

Добавить нестандартные форматы в локальный "сервер печати"

06.07.2018, 17:53. Показов 5851. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Прошу помочь с таким вопросом:
В работе часто используются нестандартные форматы листов (например, А2х3). Их можно легко добавить через "Сервер печати":


Но это делается вручную только на локальной машине. Проблема возникает, когда это нужно настроить сразу на множестве компов. Нужно как-то добавлять эти форматы автоматически.

Нашел, что эти форматы добавляются в реестр, в ветки:
Компьютер\HKEY_LOCAL_MACHINE\SYSTEM\Cont rolSet001\Control\Print\Forms
Компьютер\HKEY_LOCAL_MACHINE\SYSTEM\Curr entControlSet\Control\Print\Forms


Но если экспортировать эти записи и добавить на другой машине - в списке форматов эти форматы не добавляются. Видимо, помимо реестра они прописываются где-то еще...
Нашел вот такое решение: Adding-custom-paper-sizes-to-named-printers, но оно какое-то очень сложное, не компилируется, и вообще, кажется, делает не то, что нужно.
Еще нашел, что настраивать свойства печати можно через командную строку printui, но добавления форматов в параметрах команды тоже не нашел.

Есть ли какой-нибудь способ решить эту проблему, или придется колхозить через какой-нибудь AutoIt? Заранее спасибо за ответы.
Миниатюры
Добавить нестандартные форматы в локальный "сервер печати"  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.07.2018, 17:53
Ответы с готовыми решениями:

Добавить форматы загружаемых файлов в форму
Здравствуйте! Возможно глупый вопрос, но в PHP я ноль, только только начал изучать в связи с заданием. Так вот есть сайт на typo3, на...

Ввод даты вида хх.хх.хххх и её преобразоватие в другие форматы форматы. String
пользователь вводит дату рождения вида хх.хх.хххх, написать программу, которая выводит эту дату в форматах (напр. 21.10.2013): 1....

MFC добавить форматы файлов для сохранения в OnFileSaveAs > DoSave
Здравствуйте! Пишу приложение на с++ для windows. В приложении генерируются отчёты в формате rtf, сейчас создал функционал для генерации...

11
2 / 2 / 0
Регистрация: 06.01.2016
Сообщений: 13
20.06.2019, 16:20
tereami, здравствуйте, удалось вам решить проблему? Тоже озадачился...
0
1 / 1 / 1
Регистрация: 12.11.2016
Сообщений: 27
20.06.2019, 16:31  [ТС]
Agnosman, да, в итоге пришлось решать по методу из той ссылки, через WinAPI.
Вот такое получилось, попробуйте: https://yadi.sk/d/6At_h0l7PcHZqA
0
2 / 2 / 0
Регистрация: 06.01.2016
Сообщений: 13
20.06.2019, 16:52
tereami, ох, спасибо огромное, именно под PDFCreator и надо было.
А кодом не поделитесь? Просто хотел в приложение встроить...
0
2 / 2 / 0
Регистрация: 06.01.2016
Сообщений: 13
01.07.2019, 19:01
tereami, если не трудно, поделитесь, пожалуйста, кодом. Хочу в настройки своего приложения встроить.
0
2 / 2 / 0
Регистрация: 06.01.2016
Сообщений: 13
04.07.2019, 16:36
tereami, извините за назойливость, ответьте пожалуйста. Если нет, так нет, никаких обид. Тогда я не буду ждать и сам начну разбираться. Просто время на все нужно, велосипед изобретать не хочеться...
0
0 / 0 / 0
Регистрация: 16.11.2016
Сообщений: 4
22.04.2021, 15:00
Разрабатываю модуль для автокада, который будет автоматически печатать листы из DWG в PDF. Исходный код добавлю на gitHub
Ваша программа по добавлению новых форматов листов очень удобна. Не могли бы Вы дать исходный код, или лучше доработать что бы добавление шло не только в PDFCreator, но и в другие принтеры. добавить строчку в formats с именем принтера
0
1 / 1 / 1
Регистрация: 12.11.2016
Сообщений: 27
22.04.2021, 20:56  [ТС]
masmid, странно, автокад ведь сам умеет печатать листы в pdf "в размер". Я-то под ревит ковыряю.
Вот этот код на гибхабе: https://github.com/Tereami/Bat... Utility.cs
1
0 / 0 / 0
Регистрация: 16.11.2016
Сообщений: 4
23.04.2021, 11:03
Он умеет делать публикацию, предварительно надо все разбить по листам, дать настройки листам. А меня это бесит. Я привык работать в модели и в одном листе когда мне нужно использовать видовые окна.
Пробовал работать по листам, не могу. В итоге делаю 3-ю и наверное последнюю переписку приблуды для печати ПДФ из пространства модели и пространства листа. Сейчас уже занимаюсь отладкой. Готовые программы (кроме платных) позволяют только печатать из пространства модели, в них плохо с пониманием масштаба и тд

До ревита не дорос пока, но думаю что скоро буду осваивать.

Печатать привык принтером PDF24 , у него просто классно реализована сборка PDF-ок. Поэтому и захотелось сделать для нее много форматов, что бы кучу принтеров не устанавливать.

Большое спасибо за исходный код. Смотрится все сложновато и я как понял ты этот код присоединяешь к какому то большому проекту. Поэтому пока буду пользоваться готовой твоей программой. Если припрет, то буду разбираться
0
1 / 1 / 1
Регистрация: 12.11.2016
Сообщений: 27
23.04.2021, 12:49  [ТС]
masmid, да, правда сложновато, вызов функций WinAPI заказывал на фрилансе. Но все вызовы из WinApi.cs обернул в в более человекочитаемые методы в PrinterUtility.cs, разобраться труда не составит.
Поддерживаются принтеры PDFCreator, PDF24 и AdobePDF, см. метод AddFormatToAnyPdfPrinter.
Все нужные классы находятся в папке PaperSize, так что их и переносите в свой проект (вообще надо бы в отдельную библиотеку их вынести).
Если решите изучать Ревит, то советую свой онлайн-курс (не бесплатный, но цена более чем гуманная): https://stepik.org/z/83685. Планирую запустить курс и по Revit API тоже.
0
0 / 0 / 0
Регистрация: 16.11.2016
Сообщений: 4
23.04.2021, 13:32
Пока разбираться не планирую, есть для себя более интересные задачи.
Цитата Сообщение от tereami Посмотреть сообщение
Если решите изучать Ревит, то советую свой онлайн-курс (не бесплатный, но цена более чем гуманная): https://stepik.org/z/83685. Планирую запустить курс и по Revit API тоже
Буду иметь ввиду, но я инженер электрикослаботочник поэтому курс может быть не совсем по моим задачам. В любом случае спасибо.

Добавлено через 18 секунд
Пока разбираться не планирую, есть для себя более интересные задачи.
Цитата Сообщение от tereami Посмотреть сообщение
Если решите изучать Ревит, то советую свой онлайн-курс (не бесплатный, но цена более чем гуманная): https://stepik.org/z/83685. Планирую запустить курс и по Revit API тоже
Буду иметь ввиду, но я инженер электрикослаботочник поэтому курс может быть не совсем по моим задачам. В любом случае спасибо.
0
1 / 1 / 1
Регистрация: 12.11.2016
Сообщений: 27
23.04.2022, 11:34  [ТС]
Я тупанда, только сейчас вспомнил, что выкладывал это приложение и как независимый модуль.
Если вдруг кому ещё актуально то вот
github.com/Tereami/AddCustomPrintForms
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.04.2022, 11:34
Помогаю со студенческими работами здесь

локальный сервер
здравствуйте,вот я сделал локальный сервер раздаваемая через wifi как мне сделать чтобы при подключений к моему точку доступу сразу ...

Локальный COM сервер
У меня получилось использовать библиотеку классов написанную на C# через COM. Сейчас задача стоит в том, чтобы использовать исполняемый...

Локальный сервер
посоветуйте пожалуйста прогу чтоб локальный сервер на компютере для джумлы.

Локальный сервер
Поставил xampp. Возникают ошибки при обработке любого PHP файла, даже если он пуст (только "<?php ?>"). Смотрите скрин. ...

Локальный сервер по Wi-Fi
День добрый Возможно ли создать локальный WiFi сервер, который функционировал по клиент\серверному принципу? Тобишь есть файлы общего...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru