david_tm
@ 29-02-2004, 15:10
Помогите: Сложный вопрос по Web-Design-у (для меня... :) )...
Задача такая: Есть некий документ "*.pdf" который загружаетса с помощью Adobe-Acrobat Reader, в другое окно Internet Explorer-а с нажатием кнопки, так
CODE |
VBScript Dim qwe
function open qwe = window.open ("abracadabra.pdf") end function
|
теперь нужно в нащем первом окне чтоб при нажатии кнопок, можно было полистать этот документ (NextPage, PrevPage) распечатать его, так как это сделал бы Акробат, закрыть и открыть другой на его месте...
сам никогда не писал web странички, но вот попросили, как кнопки сзделать и привязать их с VBScriptu знаю, а остальное :(
P.S.
можно и JScript если поможет...
veneamin
@ 29-02-2004, 19:19
Листать pdf можно разве что через управление акробатридером как OLE объектом. Насколько это возможно - затрудняюсь сказать, не пробовал. Простейшее решение - разбить на отдельные постраничные документы и менять их - и грузится быстрее и с ole связываться не надо..
obaldin
@ 29-02-2004, 23:58
Честно говоря, от меня ускользает осысленность подобного интерфейса - документ в одном окне, а кнопки управления - в другом???
Далее, не уверен - по-крайней мере, я не знаю, как - это можно сделать переносимо, чтобы работало подразными браузерами, не говоря уже об операционных системах.
Но, на случай, если это тебе поможет - вот код, который делает это по ИЕ:
CODE |
<html> <head> <script language="javascript"> var w;
pdfname="D:/WORK/ttt/a.pdf";
function do_open(){ w=PrivoxyWindowOpen("", "pdf", ""); w.document.body.innerHTML="<object id=\"acr\" "+ " classid=\"clsid:CA8A9780-280D-11CF-A24D-444553540000\" "+ " height=\"100%\" width=\"100%\">"+ "<PARAM NAME=\"SRC\" VALUE=\""+pdfname+"\">"+ "</object>"; } function do_control(){ acr=w.document.getElementById("acr"); acr.gotoNextPage(); } </script> </head> <body onload="do_open()">
<form method="POST"> <p><input type="button" name="B1" value="Click me for next page" onclick="do_control()"></p> </form>
</body> </html> |
david_tm
@ 01-03-2004, 00:25
2obaldin, veneamin
Большое спасибо...
2obaldin
На самом деле нет надобнасти открывать новое окно (это я понял когда мне получще обьяснили что от меня хотят), а работать это будет тока под WinXp и Win2k на IE, это для локального использования...
Еще один вопрос 2obaldin, где можно по подробнее узнать о свойствах этого ActiveX, и как им пользоватса...
На сайте Adobe это тока за деньги, или я плохо смотрю...
obaldin
@ 01-03-2004, 00:46
QUOTE (david_tm @ 29-02-2004, 23:25) |
где можно по подробнее узнать о свойствах этого ActiveX, и как им пользоватса... На сайте Adobe это тока за деньги, или я плохо смотрю... |
Не помню, есть ли это там за деньги, но можно либо воспользоваться всякими средствами интроспекции COM'а, либо Гуглом :D
Гугл мне ближе :p , вот например список методов:
AboutBox()
goBackwardStack()
goForwardStack()
gotoFirstPage()
gotoLastPage()
gotoNextPage()
gotoPreviousPage()
LoadFile(fileName as String)
Print()
printAll()
printAllFit (shrinkToFit as Boolean)
printPages (from as long, to as long)
printPagesFit (from as long, to as long, shrinkToFit as Boolean)
printWithDialog()
setCurrentPage (n as long)
setLayoutMode (LayoutMode as String)
setNamedDest (NamedDest as String)
setPageMode (PageMode as String)
setShowScrollbars (on as Boolean)
setShowToolbar (on as Boolean)
setView (viewMode as String)
setViewRect (left as Single, top as Single, width as Single, height as Single)
setViewScroll (viewMode as String, offset as Single)
setZoom (percent As Single)
setZoomScroll(percent As Single, left as Single, top As Single)
david_tm
@ 01-03-2004, 09:22
Ну это то я сам узнал (проинспектировав это дело через Visual Studio), хотелось бы узнать че делает тот или иной метод...
Че делает больщинство - понятно ;)
А вот че делате :
goBackwardStack()
goForwardStack()
или еще хуже:
setLayoutMode (LayoutMode as String)
ууже путаюсь... но посмотрю ;)
пасибо...
obaldin
@ 01-03-2004, 09:44
QUOTE (david_tm @ 01-03-2004, 08:22) |
А вот че делате : goBackwardStack() goForwardStack()
|
Ну, это, кажется, соответствует акробатовским внутреним кнопкам "back" / "forward".
QUOTE |
или еще хуже: setLayoutMode (LayoutMode as String) |
А это, наверное, его режимы, типа fit page/fit width/actual size, но вот в каком виде этот стринг задавать - не спрашивай :)
Не знаю точно, что у тебя за задача, но на всякий случай - у акробыта "внутри" тоже есть жабаскрипт, который будет обогаче с точки зрения возможностей, но зато, он должен быть внутри ПДФ'а.
david_tm
@ 09-03-2004, 11:00
еще вопросик...
как проверить, какая функция/обект, если существует тот или иной файл в сети, т.е. не на локальном компе а имено в сети по заданому url://