Как мне распечатать PDF из iframe? - PullRequest
1 голос
/ 01 мая 2009

На cbjsonline.com , я пытаюсь автоматически создать PDF-файл в формате iframe с использованием JavaScript.

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

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

Ответы [ 2 ]

2 голосов
/ 01 мая 2009

Попробуйте передать указатель функции в 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 голосов
/ 29 сентября 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...