Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: [решено] печать XML
Показать сообщение отдельно

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата Loki3D:
как можно изменить ориентацию листа с книжной на Альбомную »
не так просто... учитывая, что IE не сохраняет ориентацию листа, а каждый раз считывает настройки с принтера, кроме того в KB236777 недвусмысленно сказано, что программно эту настройку в IE изменить нельзя:
Цитата:
There might be a need to change the print settings of Internet Explorer or the WebBrowser control programmatically. The only settings that can be changed are page margins, and header and footer information. There is no supported way to change other settings like page orientation or printer.
тем не менее есть один вариант (кроме ручной перенастройки параметров принтера): сходить по этому линку: PageSet.exe Programmatically Changes Default Printer Orientation, скачать оттуда Pageset.exe, выдернуть из комплекта PageSet.dll и зарегистрировать его в системе через RegSvr32 - после этого COM-объект можно использовать в WSH. Слегка измененный VBS-скрипт, использующий функциональность "PageSet.PrinterControl" - перед печатью ориентация устанавливается на книжную, а после - восстанавливается на первоначальную:
Код: Выделить весь код
On Error Resume Next

Set objFS = CreateObject("Scripting.FileSystemObject")
Set objIE = CreateObject("InternetExplorer.Application")
Set objPG = CreateObject("PageSet.PrinterControl")

strFile = Wscript.arguments.Item(0)
strFile = objFS.GetAbsolutePathName(strFile)

If Not(objFS.FileExists(strFile)) Then
   WScript.Echo "Файл не найден"
   WScript.Quit
End If

objPG.ChngOrientationLandscape
objIE.Visible = False
objIE.Navigate strFile

While objIE.Busy
   WScript.Sleep 100
Wend

objIE.ExecWB 6, 2
WScript.Sleep 1000
objPG.ReSetOrientation
objIE.Quit

Отправлено: 12:40, 07-10-2009 | #4

Название темы: [решено] печать XML