2009-05-01 1 views
1

В cbjsonline.com, я пытаюсь получить PDF в формате iframe автоматически с помощью javascript.Как распечатать pdf-файл из iframe?

В настоящее время мой код - (подключен к OnClick канала связи, который открывает IFRAME) - document.getElementById('fancy_frame').onload = setTimeout('window.print()',2500);

Любые предложения? Этот метод работает только в сафари.

+0

Получаете ошибки в других браузерах? Кто они такие? – Adam

ответ

2

Попробуйте передать указатель на setTimeout вместо выражения, которое получает eval'd.

document.getElementById('fancy_frame').onload = setTimeout(printWindow, 2500); 

// implemented in the HTML that is loaded in 'fancy_frame' 
function printWindow() 
{ 
    window.print(); 
} 
+0

Спасибо! Это то, что я пробовал делать, но время загрузки варьировалось до сих пор, это не сработало. Кроме того, IE попытался напечатать окно браузера вместо pdf и дал несколько js-ошибок. Возможно, это возможно только для Firefox и Safari. – CodeJoust

0

ОК, я решил разрешить пользователю распечатать страницу. Я думаю, что iFrames с PDF-файлами слишком переменчивы, чтобы печатать с помощью javascript. Если кто-то хочет попробовать это, я рекомендую это. Используйте загрузку jquery, которая проверяет активы, а не только загрузку, а не обработчик onload, поскольку задержка для adobe-считывателя сильно различается на разных компьютерах. Кроме того, попробуйте называть и фокусировать iframe перед печатью (по имени, поэтому iframe.print() вместо window.print()), таким образом, он не будет пытаться распечатать текущую страницу. Возможно, лучше всего использовать программу scribd ipaper для этого приложения.

 Смежные вопросы

  • Нет связанных вопросов^_^