2013-04-23 2 views
1

Моя команда ищет исправить эту проблему. У нас есть приложение, которое динамически создает диаграмму (графику) с потоками. Он также отображает фигуры в «swinlane», который в основном представляет объект, окруженный div с границей и цветом фона. Все выглядит великолепно. Проблема, с которой мы сталкиваемся, заключается в попытке распечатать это представление.IE8 не печатает визуализированную графику правильно

Мы просто используем существующий html (имя переменной printContent). Мы открываем отдельное окно и вызвать печать:


var pw = window.open('', 'View', 'width=900,height=600'); 
pw.document.open(); 
pw.document.write('<html><head></head><body>' + printContent + '</body></html>'); 
pw.document.close(); 
pw.focus(); 
pw.print(); 
pw.close(); 

Содержание фактически выглядит правильно в новом окне. Когда принтер печатается, что верхний «swinlane» не показывает границу или фон. Остальное нормально.

Мы попытались проверить «Печать фоновых цветов и изображений» в меню «Файл-> Настройка страницы», но не имеют никакого эффекта.

ответ

1

Я вернулся к этой проблеме. Я не уверен, что это точный ответ на эту проблему, но она решила мою проблему.

Мне было поручено сделать онлайн-версию нашего зрителя работать в автономном режиме. Именно здесь я наткнулся на возможное решение. Я думаю, что часть проблемы оказывается проблемой синхронизации между новым визуализируемым окном и автоматической функцией печати. Когда функция печати открывается, она, похоже, захватывает то, что отображается в новом окне.

я решил опционы:

  1. Не используйте функцию печати и позволяет пользователю использовать строку меню.
  2. Я добавил следующий код, чтобы использовать SetTimeout:

    var fnTimeout = function() { 
        setTimeout(function() { 
    
         if (window.document.readyState == "complete") { 
          window.focus(); 
          window.print(); 
         } 
         else { 
          fnTimeout(); 
         } 
        }, 500); 
    }; 
    
    fnTimeout(); 
    
+0

+1: Спасибо, что нашли время, чтобы отправить ваше решение! – RichieHindle

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