Автоматическая печать PDF программно в IE6 - PullRequest
1 голос
/ 07 ноября 2011

Я хотел бы иметь возможность печатать PDF-документ автоматически, когда пользователь нажимает кнопку печати. В настоящее время я делаю рендеринг PDF-файла, сохраняю его на диске сервера и отображаю его в iframe, а затем попытался распечатать содержимое iframe с помощью javascript: print (). однако то, что напечатано, является пустой HTML-страницей.

Я делаю это, потому что использование нормы HTML-печати нарушает макет веб-страницы, которую я пытаюсь распечатать. поэтому я рендеринг страницы в формате PDF для печати веб-страницы. Я не хочу, чтобы пользователи могли сохранять PDF, поэтому я пытаюсь распечатать PDF-страницу. следовательно, я загружаю его в iframe, изменив src в коде и повторно отрендерив страницу, а затем запустив скрипт js.

function printPDF () { document.iframe_printArea.focus (); document.iframe_printArea.print (); }

Мне интересно, можно ли распечатать документ PDF, загруженный в iframe, с помощью print () или это вообще возможно. Я много гуглил по этому вопросу и еще не нашел каких-либо решений, которые бы работали для веб-приложения. Большая часть ресурсов посвящена приложению C # windows. Я использую платформу .NET C #.

1 Ответ

0 голосов
/ 07 ноября 2011

Прежде всего мне очень жаль тех, кому приходится иметь дело с IE6.

Существует нестандартное событие DOM, разработанное Microsoft, которое запускается перед печатью. Это onbeforeprint событие ( документы ). Что вы можете сделать, так это спрятать все, кроме iframe, и уменьшить его до размера окна перед печатью и после печати верните документ в обычные статуи с событием onafterprint.

function window.onbeforeprint()
{
    // hide other elements and shrink the iframe
}

function window.onafterprint()
{
   // unde what heppened onbeforeprint
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...