Printable Version of Topic
Click here to view this topic in its original format
Forums > Флейм > Помогите: Сложный вопрос по Web-Design-у, Adobe-Acrobat...


Posted by: david_tm on 29-02-2004, 15:10
Помогите: Сложный вопрос по Web-Design-у (для меня... smile.gif )...
Задача такая: Есть некий документ "*.pdf" который загружаетса с помощью Adobe-Acrobat Reader, в другое окно Internet Explorer-а с нажатием кнопки, так
CODE

VBScript
Dim qwe

function open
  qwe = window.open ("abracadabra.pdf")
end function

теперь нужно в нащем первом окне чтоб при нажатии кнопок, можно было полистать этот документ (NextPage, PrevPage) распечатать его, так как это сделал бы Акробат, закрыть и открыть другой на его месте...

сам никогда не писал web странички, но вот попросили, как кнопки сзделать и привязать их с VBScriptu знаю, а остальное sad.gif

P.S.
можно и JScript если поможет...

Posted by: veneamin on 29-02-2004, 19:19
Листать pdf можно разве что через управление акробатридером как OLE объектом. Насколько это возможно - затрудняюсь сказать, не пробовал. Простейшее решение - разбить на отдельные постраничные документы и менять их - и грузится быстрее и с ole связываться не надо..

Posted by: obaldin on 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>

Posted by: david_tm on 01-03-2004, 00:25
2obaldin, veneamin
Большое спасибо...

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

Еще один вопрос 2obaldin, где можно по подробнее узнать о свойствах этого ActiveX, и как им пользоватса...
На сайте Adobe это тока за деньги, или я плохо смотрю...

Posted by: obaldin on 01-03-2004, 00:46
QUOTE (david_tm @ 29-02-2004, 23:25):
где можно по подробнее узнать о свойствах этого ActiveX, и как им пользоватса...
На сайте Adobe это тока за деньги, или я плохо смотрю...

Не помню, есть ли это там за деньги, но можно либо воспользоваться всякими средствами интроспекции COM'а, либо Гуглом biggrin.gif

Гугл мне ближе tongue.gif , вот например список методов:
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)

Posted by: david_tm on 01-03-2004, 09:22
Ну это то я сам узнал (проинспектировав это дело через Visual Studio), хотелось бы узнать че делает тот или иной метод...
Че делает больщинство - понятно wink.gif
А вот че делате :

goBackwardStack()
goForwardStack()

или еще хуже:

setLayoutMode (LayoutMode as String)

ууже путаюсь... но посмотрю wink.gif

пасибо...

Posted by: obaldin on 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, но вот в каком виде этот стринг задавать - не спрашивай smile.gif

Не знаю точно, что у тебя за задача, но на всякий случай - у акробыта "внутри" тоже есть жабаскрипт, который будет обогаче с точки зрения возможностей, но зато, он должен быть внутри ПДФ'а.

Posted by: david_tm on 09-03-2004, 11:00
еще вопросик...
как проверить, какая функция/обект, если существует тот или иной файл в сети, т.е. не на локальном компе а имено в сети по заданому url://

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)