Почему Google Chrome не печатает границы таблиц и ячеек, а также цвета фона ячеек?Html

Программисты Html
Ответить Пред. темаСлед. тема
Anonymous
 Почему Google Chrome не печатает границы таблиц и ячеек, а также цвета фона ячеек?

Сообщение Anonymous »

Я поддерживаю веб-приложение, созданное с использованием GWT и которое исторически было разработано для работы только в Google Chrome.
Существует несколько «отчетов», которые можно извлечь из системы . Реализуется это следующим образом: сначала создается html отчета и отображается в участке экрана (работает корректно). После этого появляется кнопка, позволяющая распечатать отчет. Это действие генерирует HTML-код с информацией (в HTML-таблице) так же, как при создании экранного отчета, и использует его для создания HTML-файла, который затем отправляется на печать.
Здесь монстр показывает свое лицо! (тум-дум-думммм - драматическая музыка).
После обновления Google Chrome до версии 59.0.3071.86 при печати таблица/ячейки теряют границы и цвета фона.
Я думал, что, возможно, это связано с сгенерированным HTML, но на самом деле, если я заставлю HTML при печати быть

Код: Выделить всё



table, th, td {border: 1px solid black !important;}
title


Add a border to a table:


Firstname
Lastname


Peter
Griffin


Lois
Griffin




таблица по-прежнему не печатается правильно (и это также видно при предварительном просмотре печати в Chrome (да, даже если выбрана опция печати фоновых изображений)). То же самое произойдет, если я стилизую таблицу на основе ее тега. Что-то вроде: У меня закончились идеи, поэтому я спрашиваю, сталкивался ли кто-нибудь с подобной проблемой или имеет ли какое-нибудь представление о том, что я могу попробовать.
Заранее спасибо.
И отредактируйте, чтобы сказать, что это не та же проблема, что и в «возможных дубликатах». Раньше у меня была проблема с «цветами фона», и я ее исправил. В этом случае (и, как показывает фрагмент кода), кажется, что некоторые стили не интерпретируются, например, граница таблицы. И все работало до Chrome 59.0.3071.86, так что это, похоже, новая проблема, а не проблема, «решенная где-то через 5 лет».
И еще одно редактирование объясните немного дальше:
где-то в моем веб-приложении есть небольшая кнопка с надписью «распечатать отчет». При этом создается html-файл, который затем отправляется на печать.
Я заменил сгенерированный html довольно упрощенным файлом, иллюстрирующим мою проблему.
Итак, каждый раз, когда я нажимаю «Печать отчета», я «форсирую» это быть сгенерированным HTML:

Код: Выделить всё



table, th, td {border: 1px solid black !important;} body { -webkit-print-color-adjust: exact; } 
title


Add a border to a table:


Firstname
Lastname


Peter
Griffin


Lois
Griffin




Обратите внимание, как я использую

Код: Выделить всё

body { -webkit-print-color-adjust: exact; }
Кроме того, я попробовал несколько вариантов, например, стилизовать таблицу следующим образом: Или тело как Я просто добавлю изображение из «тестового стенда HTML», чтобы показать, как должен отображаться мой вездесущий HTML:
Изображение

Однако, когда предварительный просмотр печати «всплывает», это то, что я получить:
Изображение

Так что и отображается цвет фона (как я полагаю, происходит с другими пользователями SO, но их решение здесь не работает), ни границы таблицы.
Другое редактирование: я попытался определить «правила CSS для печати», , а именно:

Код: Выделить всё




@media print {
body { -webkit-print-color-adjust: exact; }
table, th, td {border: 1px solid black !important;}
}

title


Add a border to a table:


Firstname
Lastname


Peter
Griffin


Lois
Griffin




но я получаю те же результаты, что и раньше. Кроме того (и, возможно, это актуально... а может и нет), если я определяю, например, ширину таблицы, ЭТОТ стиль будет правильно отображаться при печати, в то время как границы таблицы все еще скрыты/отсутствуют/волшебным образом удалены ( выбрал один).
ОКОНЧАТЕЛЬНОЕ РЕДАКТИРОВАНИЕ – обходной путь:
Мне не удалось решить проблему как таковую, и Я правда ОЧЕНЬ не понимаю, почему так происходит.
Что Мне удалось найти работающее обходное решение, и я публикую его здесь не как ответ, но все же надеюсь, что оно может кому-нибудь помочь.
Я сделал это следующим образом: когда Я нажал кнопку печати, открыл новое окно, в котором есть только HTML-код, который я хочу распечатать (именно так, как я хочу), и, используя JavaScript, я распечатываю его после загрузки страницы.
Делаю это так Кстати, он работает и печатает с правильными форматирование.
Кто-то может сказать, что это удача, другие - "черная магия". Я говорю: «Готово! Дальше!» (Хотя меня не устраивает тот факт, что я вообще не понимаю проблемы.)

Подробнее здесь: https://stackoverflow.com/questions/445 ... kground-co
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Html»