Доброго времени суток!
У меня такая задача.
Использую программу AkelPad как средство автоматического вывода на печать текстовых документов.
Документы/файлы открываю и отправляю на печать с использованием ключа командной строки /p. При этом программа остается невидимой, использую метод /Show(0).
В большинстве случаев проблем не возникает. И все работает отлично.
Но, недавно появились документы, в которых печатаемый текст не помещается на страницу имеющую формат "Книжная". Для этих документов перед отправкой на печать нужно изменить параметры страницы с "Книжная" на "Альбомная".
Пожалуйста, подскажите, как я могу выполнить эту операцию?
Буду признателен за любую помощь.
Вывод документа на печать с изменением настроек страницы
- Author
- Message
-
Offline
- Posts: 3
- Joined: Thu Aug 28, 2014 2:39 pm
-
Offline
- Posts: 3
- Joined: Thu Aug 28, 2014 2:39 pm
-
Offline
- Posts: 874
- Joined: Sat Jan 16, 2010 2:03 pm
mag1982
Тогда можно вместо "/p /Command(4107)" в параметрах передать скрипт, который будет выполнять и соответствующую настройку печати и саму печать.
/Call("Scripts::Main", 1, "name_of_script.js", "")
Содержимое скрипта для разных принтеров будет скорее всего различным, поэтому записывать его нужно "на месте". Проще всего использовать Macros-плагин и экспорт в js.
У меня на виртуальном принтере (Bullzip PDF Printer) получилось вот так:Пояснения:
^p - вызов диалога печати
{TAB}{TAB}{ENTER} - переход на кнопку "Настройка" и ее нажатие
{DOWN} - перевод ориентации в режим "Альбомная"
{TAB}{TAB}{TAB}{TAB}{ENTER} - переход на кнопку "OK" и ее нажатие
{ENTER} - нажатие кнопки "Печать"
Тогда можно вместо "/p /Command(4107)" в параметрах передать скрипт, который будет выполнять и соответствующую настройку печати и саму печать.
/Call("Scripts::Main", 1, "name_of_script.js", "")
Содержимое скрипта для разных принтеров будет скорее всего различным, поэтому записывать его нужно "на месте". Проще всего использовать Macros-плагин и экспорт в js.
У меня на виртуальном принтере (Bullzip PDF Printer) получилось вот так:
Code: Select all
var WshShell=new ActiveXObject("WScript.shell");
WshShell.SendKeys("^p{TAB}{TAB}{ENTER}{DOWN}{TAB}{TAB}{TAB}{TAB}{ENTER}{ENTER}");
^p - вызов диалога печати
{TAB}{TAB}{ENTER} - переход на кнопку "Настройка" и ее нажатие
{DOWN} - перевод ориентации в режим "Альбомная"
{TAB}{TAB}{TAB}{TAB}{ENTER} - переход на кнопку "OK" и ее нажатие
{ENTER} - нажатие кнопки "Печать"
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
mag1982
С разрабатываемой версией 4.9.0 + PrintOrientation.js:
С разрабатываемой версией 4.9.0 + PrintOrientation.js:
Code: Select all
::Print landscape
start AkelPad.exe /Show(0) /Call("Scripts::Main", 2, "PrintOrientation.js", `-Orientation=2`) /p "1.txt" /p "2.txt" /quit