Как сделать страницу HTML на бумаге формата А4? - PullRequest
337 голосов
/ 27 июля 2010

Можно ли заставить страницу HTML вести себя, например, как страница формата A4 в MS Word?

По сути, я хочу иметь возможность отображать страницу HTML в браузере и наметитьсодержание в размерах страницы формата А4.

Ради простоты я предполагаю, что HTML-страница будет содержать только текст (без изображений и т. Д.), И, к примеру, тегов <br> не будет.при распечатке HTML-страницы она будет выглядеть как бумажные страницы формата A4.

Ответы [ 14 ]

6 голосов
/ 27 июля 2010

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

Вместо этого я бы посоветовал создать PDF-файл на основе содержимого на экране и предоставить его для загрузки и / или печати.Хотя большинство доступных библиотек PDF платные, есть несколько бесплатных альтернатив , доступных для создания базовых PDF-файлов.

5 голосов
/ 01 июня 2017

Я использовал 680px в коммерческих отчетах для печати на страницах формата A4 с 1998 года. Размер 700px не может быть корректным, в зависимости от размера полей. Современные браузеры могут сжимать страницу до размера страницы на принтере, но если вы используете 680 пикселей, вы будете печатать правильно практически в любых браузерах.

Это HTML для вас Запустите фрагмент кода и посмотрите результат:

window.print();
<table width=680 border=1 cellpadding=20 cellspacing=0>
<tr><th>#</th><th>name</th></tr>
<tr align=center><td>1</td><td>DONALD TRUMP</td></tr>
<tr align=center><td>2</td><td>BARACK OBAMA</td></tr>
</table>

JSFiddle:

https://jsfiddle.net/ajofmm7r/

3 голосов
/ 27 июля 2010

Вполне возможно, чтобы ваш макет принял пропорции страницы формата а4. Вам нужно только установить ширину и высоту соответственно (возможно, проверьте с помощью window.innerHeight и window.innerWidth, хотя я не уверен, что это надежно).

Сложная часть с печатью А4. Например, Javascript поддерживает печать страниц только с помощью метода window.print. Как @Prutswonder предложил создать PDF с веб-страницы, вероятно, это самый сложный способ сделать это (кроме предоставления документации PDF в первую очередь). Однако это не так тривиально, как можно подумать. Вот ссылка, в которой есть описание Java-класса с открытым исходным кодом для создания PDF-файлов из HTML: http://www.javaworld.com/javaworld/jw-04-2006/jw-0410-html.html.

Очевидно, что после того, как вы создали PDF-файл с печатью в формате A4, это приведет к чистой печати вашей страницы формата A4. Стоит ли тратить время - другой вопрос.

2 голосов
/ 20 сентября 2017

Много способов сделать:

html,body{
    height:297mm;
    width:210mm;
}


html,body{
    height:29.7cm;
    width:21cm;
}

html,body{
    height: 842px;
    width: 595px;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...