2016-08-12 3 views
0

Веб-страница имеет <form>, которую необходимо отправить на принтер для печати. Клавиатура Cmd + P напечатает всю страницу, которая не то, что я хочу.печать html страница внутри элемента формы

Я подключил событие к кнопке на нижнем колонтитуле, но не уверен, как отправить только содержимое form на принтер. Любая идея как?

$('form').get(0).innerHTML

+3

написать файл CSS печати и скрыть материал, который вы не хотите показывать – datafunk

+0

, посмотрите на это http://stackoverflow.com/questions/12997123/print-specific-part-of-webpage – Manish

ответ

0

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

<div class="print" onclick="PrintElem('#idFromPage')"> 

И Js код для печати блока Вам необходимо:

function PrintElem(elem) { 
    Popup($("body").html(), elem); 
} 

function Popup(data, elem) { 
    var mywindow = window.open('', 'Page to Print', 'height=600,width=800'); 
    mywindow.document.write('<html><head><title>Print Document</title>'); 
    mywindow.document.write('<style> body * { visibility: hidden; } .mobile-view {displa:none;} body, html { background:#fff !important;} #' + elem + ', #' + elem + ' * {visibility: visible; } </style>'); 
    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).on('load', function() { 
     mywindow.print(); 
    }); 

    return true; 
} 
1

Это можно легко сделать с помощью media queries. Он будет работать в IE9 и выше, Chrome, FF и т. Д. Для IE8 вы можете использовать polyfills.

Теперь все, что вам нужно, это скрыть элементы при печати. Напишите что-то вроде этого в вашем css

@media print { 
    #element-to-hide { 
     display: none; 
    } 
} 

Это полностью спрячет нежелательные элементы во время печати.

+0

Событие подумало, что это работает, но оно оставляет пустое место, где элемент elemnt- Таким образом, для скрытия было содержание формы, которое, как ожидалось, использовало одну страницу, оно все еще взяв 2 страницы на принтере, где, как если бы он находился на собственной странице, он будет печатать только одну страницу. –

+0

Вы также можете отрегулировать ширину, высоту и т. Д. Видимых элементов. Таким образом, во время печати у вас не будет пробела – Bikas

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