Как сделать СТРАНИЦУ HTML на странице (страницах) размера листа А4?

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

По существу я хочу смочь показать страницу HTML в браузере и обрисовать в общих чертах содержание в размерах страницы размера A4.

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

Кроме того, когда страница HTML печатается, она вышла бы как бумажные страницы A4-sized.

361
задан e-sushi 2 August 2015 в 19:25
поделиться

4 ответа

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

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

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

3
ответ дан 23 November 2019 в 00:15
поделиться

Я использовал HTML для создания отчетов, которые правильно распечатываются в реальных размерах на настоящей бумаге.

Если вы аккуратно используете миллиметры в качестве единиц измерения в файле CSS, все будет в порядке, по крайней мере, для отдельных страниц. Однако люди могут облажаться, изменив масштаб печати в браузере.

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

16
ответ дан 23 November 2019 в 00:15
поделиться

Довольно легко заставить веб-браузер отображать страницу с теми же размерами в пикселях, что и A4. Однако при отображении может возникнуть несколько причуд.

Предполагая, что ваши мониторы отображают 72 dpi, вы можете добавить что-то вроде этого:

<!DOCTYPE html>
<html>
  <head>
    <style>
    body {
        height: 842px;
        width: 595px;
        /* to centre page on screen*/
        margin-left: auto;
        margin-right: auto;
    }
    </style>
  </head>
  <body>
  </body>
</html>
65
ответ дан 23 November 2019 в 00:15
поделиться

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

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

6
ответ дан 23 November 2019 в 00:15
поделиться