2015-10-15 4 views
0

Я нашел аналогичный вопрос Scroll PDF embedded in HTML, но не видел ответа. Есть ли у кого-нибудь предложения о том, как манипулировать PDF-файлом, отображаемым в iframe? Как и в предыдущей ссылке, я пытаюсь прокручивать PDF, когда iframe не имеет фокуса (на главной странице).Прокрутка в формате PDF с использованием JavaScript

Спасибо!

+0

вы могли всегда установить фокус нас сначала в iframe. Как вы точно хотите прокрутить его? Анимация или просто изменение смещения –

+0

Не могли бы вы попробовать мой ответ? –

+0

Просто изменить смещение. Я пытаюсь сказать, что вы сказали, но все еще определяя, как рассчитать размер PDF динамически. Вот пример того, что я тестирую. http://fiddle.jshell.net/mawaru/hx76LabL/. Я считаю, что лучшим решением является использование PDF.js для рендеринга, но надеялся, что существует другой подход. – mawaru

ответ

2

На самом деле есть ответ в ссылке вы предоставили:

Вряд ли.

Что вы могли бы сделать, это положить IFRAME в DIV с переполнения: авто, и дать IFrame очень большое значение высоты так , содержащий PDF находится в полном размере. Сделайте окружающий div менее высоким чем iframe. Когда ваши кнопки будут нажаты, прокрутите окружение .

Я не проверял его, так что может быть какая-то загвоздка в пути, но этот может работать - и, вероятно, это лучшее, что вы можете сделать.

~ Пекка 웃

Это довольно легко. Вот как вы это делаете:

Это зависит от того, является ли iframe «исходным», а не с вашего сервера. Давайте просто скажем, что это из-источника

КОД

<div id="iframeContainer" style="width: 800px; height: 600px; overflow: auto;"> 
    <iframe width="1800" height="6000" src="yourPDFfileSRC" scrolling="no"> 
    </iframe> 
//You have to know exact width and height of PDF file 
</div> 

<script type="text/javascript"> 
$("document").ready(function() 
{ 
    $("#iframeContainer").scrollTop(1400); 
}); 
</script> 

БОНУС

Вы могли бы оживить его так:

<script type="text/javascript"> 
    $("document").ready(function() 
    { 
     $("#iframeContainer").animate({scrollTop: 1400}, 500); //500 - time of animation 
    }); 
</script> 
Смежные вопросы