Что нового

[Автоматизация] Печать из командной строки нужной страницы PDF файла

ShSergey

Новичок
Сообщения
12
Репутация
1
Нужно из Autoit запускать на печать определенную страницу PDF файла (например 19 страницу)
Никаких окон при этом появляться не должно.
Запуск Acrobat Reader с последующим запуском нужной страницы не подходит.
Сейчас использую Total PDF Printer запуская Run команду
"c:\Program Files\Total PDF Printer\PDFPrinter.exe "test.pdf" -p"Zebra GX430t" -rn 19"
Но Total PDF Printer имеет триальный период. Хотелось бы найти бесплатное решение.
Подскажите, пожалуйста, как это можно сделать ?
 

axlwor

Скриптер
Сообщения
657
Репутация
147
как скрипт узнает какую страницу печатать?
 

VladUs

Скриптер
Сообщения
621
Репутация
181
Попробуйте через Com - объект

Код:
$Object = ObjCreate("AcroPDF.PDF") ; создать объект

If IsObj($object) Then
    ConsoleWrite("Объект создан" & @CRLF)
Else
    ConsoleWrite("Объект не создан" & @CRLF)
EndIf

$Object.LoadFile("C:\FilePDF.pdf")  ; загрузить файл
$Object.printPages(19,20) ; печать страниц файла с 19 по 20
 
Автор
S

ShSergey

Новичок
Сообщения
12
Репутация
1
VladUs
Попробовал. Объект создает, но не печатает. :( LoadFile возвращает 0.
Что может быть не так ? Adobe Reader версии 10.1

axlwor
Номер страницы которую нужно напечатать скрипт вычисляет на основе данных из другого файла.
 
Автор
S

ShSergey

Новичок
Сообщения
12
Репутация
1
axlwor
Код:
$Object.src("C:\FilePDF.pdf")

так не работает

Получилось вот так:
Код:
Local $Object = ObjCreate("AcroPDF.PDF");
$Object.src = "c:\1.pdf"
GUICreate("AutoIt PDF Reader", 1000, 570)
Local $GUI_ActiveX = GUICtrlCreateObj($Object, 10, 10, 780, 550)
$Object.printPages(5,6) ; печать страниц файла с 5 по 6
Sleep(5000) ; чтобы успеть напечатать до закрытия скрипта


Без GUI печать не происходит. Но и никаких окон не появляется.
Да теперь при печати из Acrobat Reader вместо букв выходят закорючки. Буду искать как убрать их. :scratch:
Всем спасибо за помощь в решении проблемы.
 
Верх