Как вывести таблицу на печать корректно?

265
07 марта 2017, 15:24

Суть проблемы такая, мне нужно вывести на печать таблицу и чтобы она поместилась на одном листе А4. У меня таблица выводится динамически (PHP). При печати у меня выводятся все столбцы. Как сделать так чтобы на печать выводились определенные столбцы и не более того.

<link rel="stylesheet" type="text/css"  href="/project/print.css">
CSS print.css
@media print {
    table
        {
       background-color: #2196f3;      
    }
}
function PrintElem(elem) 
{ 
    Popup($(elem).html()); 
} 
function Popup(data) 
{ 
    var mywindow = window.open('', 'table', 'height=400,width=600'); 
    mywindow.document.write('<html><head>'); 
    mywindow.document.write('</head><body >'); 
    mywindow.document.write(data); 
    mywindow.document.write('</body></html>'); 
    mywindow.document.close(); // necessary for IE >= 10 
    mywindow.focus(); // necessary for IE >= 10 
    mywindow.print(); 
    mywindow.close(); 
    return true; 
}
<input type="button" value="Print Div" onclick="PrintElem('#table')" />

Answer 1

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

@media print {
    table .column1 { // column1 замените на нужные вам столбцы
        display: none
    }
}

Создайте отдельный файл print.css и подключите его на страницу.

READ ALSO
Внутренняя крестовая тень градиентом

Внутренняя крестовая тень градиентом

Всем пример! Я недавно задавал, как сделать наклонную круговую внутреннюю тень

221
Значение &ldquo;Critical Path&rdquo;

Значение “Critical Path”

Кто нибудь скажет мнечто такое "Critical path"?

225
Как подключить дамп данных MySQL

Как подключить дамп данных MySQL

Опыта использовании MySQL - нет

283
Не могу написать SQL запрос [дубликат]

Не могу написать SQL запрос [дубликат]

Данный вопрос уже был задан и имеет решение:

214