Что нового

Печать изображений

Alexander

Новичок
Сообщения
105
Репутация
2
Как напечатать изображение с выбором принтера (без использования IE)?
 

WSWR

AutoIT Гуру
Сообщения
941
Репутация
363
Alexander

Есть библиотека функций работы с принтером printMGv2.au3
http://www.autoitscript.com/forum/topic/51054-printing-using-udf-and-a-dll/#entry386214
dll нужно положить рядом со скриптом.

Код:
#include <printMGv2.au3>

Global $hp
Local $mmssgg

$image = @ScriptDir & '\test0.jpg' ; картинка

$hp = _PrintDllStart($mmssgg) ; запуск процесса печати

If $hp = 0 Then
	Consolewrite('Error from dllstart = ' & $mmssgg & @CRLF) ; проверка на ошибки
	Exit
EndIf	

_PrintSelectPrinter($hp, Default) ; использовать принтер по умолчанию
; или 
;_PrintSetPrinter($hp) ; показать диалог выбора принтера
; или 
;_PrintSelectPrinter($hp,'doPDF 7 Printer Driver') ; выбрать конкретный принтер по его имени


;MsgBox(0,'result from set printer = ',_PrintGetPrinter($hp)); вывод имени принтера

_PrintPageOrientation($hp, 1); ориентация страницы, 1 - обычная, 0 - альбомная 
_PrintSetDocTitle($hp, '1') ; имя документа при печати 
_PrintStartPrint($hp) ; запуск печати
_PrintImage($hp, $image, 0, 0, 2100, 2970) ; печать картинки А4 в координатах 0,0


_PrintEndPrint($hp) ; окончание печати
_PrintNewPage($hp)
_printDllClose($hp)
 

beliy

Продвинутый
Сообщения
372
Репутация
72
Код:
$sImagePath = "c:\1.jpg"
$sPrinter = "PrinterName"
Run(@ComSpec & ' /C mspaint /pt ' & $sImagePath & " " & $sPrinter, '', @SW_HIDE)
 

galavarez

Новичок
Сообщения
1
Репутация
0
Код:
Func Print_Image($ImagePath, $PrinterName)
    If Not FileExists($ImagePath) Then
        SetError(1, "File not found")
        Return(0)
    EndIf
    $command = ' /C rundll32 shimgvw.dll,ImageView_PrintTo "' & $ImagePath & '" "' & $PrinterName & '"'
    Run(@ComSpec & $command , '', @SW_HIDE) 
EndFunc

$ImagePath = "c:\1.jpg"
$PrinterName = "PrinterName"
Print_Image($ImagePath, $PrinterName)
 
Верх