Forums -> Флейм -> Помогите: Сложный вопрос по Web-Design-у
| Full Version

david_tm
Помогите: Сложный вопрос по 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
Листать pdf можно разве что через управление акробатридером как OLE объектом. Насколько это возможно - затрудняюсь сказать, не пробовал. Простейшее решение - разбить на отдельные постраничные документы и менять их - и грузится быстрее и с ole связываться не надо..
obaldin
Честно говоря, от меня ускользает осысленность подобного интерфейса - документ в одном окне, а кнопки управления - в другом???

Далее, не уверен - по-крайней мере, я не знаю, как - это можно сделать переносимо, чтобы работало подразными браузерами, не говоря уже об операционных системах.

Но, на случай, если это тебе поможет - вот код, который делает это по ИЕ:
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
2obaldin, veneamin
Большое спасибо...

2obaldin
На самом деле нет надобнасти открывать новое окно (это я понял когда мне получще обьяснили что от меня хотят), а работать это будет тока под WinXp и Win2k на IE, это для локального использования...

Еще один вопрос 2obaldin, где можно по подробнее узнать о свойствах этого ActiveX, и как им пользоватса...
На сайте Adobe это тока за деньги, или я плохо смотрю...
obaldin
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
Ну это то я сам узнал (проинспектировав это дело через Visual Studio), хотелось бы узнать че делает тот или иной метод...
Че делает больщинство - понятно ;)
А вот че делате :

goBackwardStack()
goForwardStack()

или еще хуже:

setLayoutMode (LayoutMode as String)

ууже путаюсь... но посмотрю ;)

пасибо...
obaldin
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
еще вопросик...
как проверить, какая функция/обект, если существует тот или иной файл в сети, т.е. не на локальном компе а имено в сети по заданому url://