window.print печатается некорректно в Opera, но предварительный просмотр затем file-> print работает безупречно;используя печать CSS - PullRequest
1 голос
/ 06 января 2012

В отличие от нескольких других статей, это не проблема с window.print (), не работающим в Opera. Это работает. Если я перейду к File-> Print или вызову window.print (), откроется диалоговое окно печати. Проблема в том, что вывод не правильный. В частности, изображение должно распечатываться, но печатается только его часть. Это происходит только в Опере. Если я использую window.print (), вышеописанная проблема возникает. Если я использую File-> Print, снова возникает та же проблема. Однако, если я включу опцию предварительного просмотра в Opera, а затем Файл-> Печать, изображение будет напечатано безупречно. Я не понимаю.

К вашему сведению, (важно), я использую отдельную таблицу стилей для печати. ​​

Большое спасибо.

UPDATE

Я нашел строку в таблице стилей печати, которая оказывает большое влияние на эту проблему:

html { background-color : #FFFFFF; }

Если не закомментировано, вывод отображается в окне предварительного просмотра. Затем я делаю File-> Print, и он печатается правильно. Но он не печатает после запуска window.print ().

Когда закомментировано, вывод не отображается в предварительном просмотре. Затем я делаю File-> Print, и он не распечатывает правильно или вообще. Но он печатает после инициализации window.print ().

Я не уверен, что делать отсюда.

ОБНОВЛЕНИЕ 2

Вот упрощенная версия кода, которая все еще не печатается правильно из File-> Print, но печатает правильно с предварительным просмотром. Он должен печатать 3 страницы, но File-> Print печатает только первую страницу:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
  <head>
    <style type="text/css" media="screen">
      #Content {
        height: 250px;
        width: 25%;
        overflow-y: auto;
      }
    </style>

    <style type="text/css" media="print">
      #Content {
        height: 100%;
        width: 100%;
      }
    </style>    
  </head>

  <body>
    <div id="Content">
      <img src="http://i00.i.aliimg.com/photo/v0/247580968/GPS_software_GPS_schematic_diagram.jpg" /><br />
      <img src="http://i00.i.aliimg.com/photo/v0/247580968/GPS_software_GPS_schematic_diagram.jpg" /><br />
      <img src="http://i00.i.aliimg.com/photo/v0/247580968/GPS_software_GPS_schematic_diagram.jpg" />
    </div> 
  </body>
</html>

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

...