2011-02-11 2 views
0

Я пытался разобраться в проблеме с печатью определенных областей веб-приложения, над которым я работаю. Вопрос с Highcharts JS, который предоставляет свои гистограммы, как <rect ... />.Javascript window.print() дает мне отличный результат

При вызове window.print() на нагрузке вызов печати действует так же, как на заднем плане вопрос изображения, где фоновое изображение/цвет всегда исчезает. Однако, когда я печатаю страницу из меню браузера, она отображается так, как должна быть. Любая идея, почему он не будет печатать <rect />?

+1

У вас есть таблица стилей печати? – alex

+1

Joza, используйте обратную линию '' '' встроенный код – mplungjan

+0

AFAIK, большинство браузеров предоставляют опцию «печать фоновых изображений» в диалоговом окне/диалоговом окне печати, определяющем, напечатан ли фон или нет. Это имеет значение в вашем случае? –

ответ

2

Возможна временная проблема. Попробуйте что-то вроде

window.onload = function() { 
    window.focus(); 
    window.print(); 
} 
+0

Хм нет, это не сработало, кроме того, я уже вызываю его через – Joe

+1

Хм ... Я добавил фокус-звонок, чтобы попытаться подражать тому, что происходит, когда вы нажимаете на печать в браузер. – jimmystormig

+2

Спасибо, что указали мне в правильном направлении, проблема, похоже, связана с синхронизацией, window.focus() не работает. Сработало задание. :-) – Joe

1

Вы не можете печатать SVG из всех браузеров и от тех, которые вы можете, SVG должен иметь визуализации, прежде чем пытаться распечатать его.

here Я прочитал альтернативный

Начиная с версией 2.0 модуля экспортирующих доступны для Highcharts, который позволяет пользователям загружать изображения или PDF в ваших графиках. Этот модуль состоит из дополнительного файла JavaScript, exporting.js и веб-службы или серверного модуля, написанного на PHP. Highslide Software предлагает бесплатную экспортную веб-службу . Если вы включите модуль экспорта в своих диаграммах, в верхнем правом углу появятся две кнопки . Одна кнопка печатает график, который делается на клиенте только . Другая кнопка обрабатывает экспорт. По умолчанию изображение диаграммы SVG отправляется POST на http://export.highcharts.com, , где оно преобразуется с использованием преобразования Apache в формат PDF, PNG или JPEG.

+0

Я уже рассмотрел эту опцию, но я не хочу, чтобы данные переходили на сторонний сервер. Кроме того, альтернативный метод, который я выяснил, заключался в том, чтобы код, размещенный на моем сервере, отправлял код экспорта в URL-адрес, сохранял изображение, а затем использовал его для печати диаграммы - я откладываю это в качестве последнего средства – Joe

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

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