Библиотека подгонки под нужный формат при печати

Автор Andreych, 14.01.09, 14:03:36

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Andreych

Пару месяцев назад сделал для себя библиотеку (для Компас 10) подгонки под нужный формат при печати нескольких чертежей сразу. Теперь все время пользуюсь этой программкой. Кому интересно творение можно заценить вот тут: http://webfile.ru/2554167

Можно распечатать за один раз все чертежи, открытые в Компасе на нужном формате на нужном принтере. Чертежи все впишутся в указанный формат и повернутся на 90 градусов, если надо.
Программа в основном ориентирована на 3 принтера: один формата А4, второй формата А3, третий для печати в PDF. Так что я печатаю все чертежи нажатием одной кнопки, без вызова окна выбора принтера и формата. Также можно распечатать все на текущем формате текущего принтера (это пригодится если у кого-то например плоттер А1).
В библиотеке есть 8 команд.
1  "Активный документ на принтер A4"
2  "Активный документ на принтер A3 (или A4)"
3  "Активный документ на принтер PDF"
4  "Активный документ на текущем формате принтера"
5  "Печатать только чертежи А4 - на принтере A4"
6  "Печатать только чертежи >=A3 - на принтере А3"
7  "Печатать все на принтере PDF"
8  "Печатать все на текущем формате принтера"

Чтобы программа работала надо в Компасе назначить команде "Загрузить..." сочетание клавиш ctrl+5.
Также надо в файле PrintFit.ini заменить имена моих принтеров на свои, затем положить этот файл в папку c:\Windows.

Andreych

Особенности работы программы:
1. Так как управлять параметрами печати средствами API Компаса не представляется возможным, то формируется файл задания на печать (pjd) со всеми чертежами. Поэтому файлы должны быть сохранены перед печатью. Несохраненные изменения после открытия файла не напечатаются.
2. Функции открытия этого файла на печать средствами Компаса опять же нет, поэтому приходится использовать winApi. В связи с этим возникают некоторые неудобства. Надо в Компасе назначить команде "Загрузить..." сочетание клавиш ctrl+символ (ctrl+5 по умолчанию), чтобы появилось окно открытия файла *.pjd. После запуска программы это окно откроется автоматически, туда через буфер обмена вставится путь к сформированному файлу *.pjd.
3. Нужно отредактировать ini файл , внести туда имена своих принтеров, назначить клавишу вызова окна открытия задания на печать, и положить этот файл в папку Windows.
4. Из-за нестабильности работы решения на winapi программа иногда не срабатывает, точнее не появляется окно открытия файла *.pjd, хотя сам файл формируется. Тогда можно вручную дать команду загрузить задание на печать и вставить его имя просто из буфера.
А изредка из-за этого напрочь виснет весь комп, так что лучше сохраняться перед запуском :)
Если бы удалось как-то проще программно загружать файл *.pjd, таких проблем не было бы.

andrei260



NilsBor

У меня при печати нескольких чертежей формата А3 плюс А4х3 и А3х2 чертежи больше А3 масштабируются по ширине А3  :(. Это так и должно быть? или я что-то не правильно делаю?

Andreych

Да, так и должно быть. Нельзя же за один раз напечатать на двух разных форматах.

NilsBor

А нельзя добавить пункт для печати форматов а4*3, а3*2 и т.д. чтобы масштабирование при этом осуществлялось не по ширине, а по высоте листа?