A4页面就像html中的布局

前端之家收集整理的这篇文章主要介绍了A4页面就像html中的布局前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发基于小型网络的应用程序,其中用户被呈现2-3页长报告,可以打印为PDF.我在 stackoverflow /互联网上查看了不同的解决方案,发现了一些有效的解决方案到打印方面(内容打印有额外的边距,但我需要努力修复它)我当前的问题是我无法在浏览器中显示html内容页面布局.我能够显示A4尺寸的第一页,但是当内容超过1页时,它看起来好像打印在外页,您可以查看下面的图像

>如何在浏览器中显示页面

>它是如何打印预览的

这是CSS

@H_301_9@.A4 { background: white; width: 21cm; height: 29.7cm; display: block; margin: 0 auto; padding: 10px 25px; margin-bottom: 0.5cm; Box-shadow: 0 0 0.5cm rgba(0,0.5); } @media print { .page-break { display: block; page-break-before: always; } size: A4 portrait; } @media print { .noprint {display:none;} .enable-print { display: block; } }

我想解决下面的问题,

>如果所有报告都以页面布局显示(另外,如果我可以在水平分页显示页面而不是长垂直页面),我会很高兴
>打印时没有填充问题,您看到的是打印的!

解决方法

你的第二个问题:

您必须将体边距和填充设置为零.您还需要从A4类中删除框阴影,边距,宽度和高度,以便打印多个页面.

@H_301_9@.A4 { background: white; width: 21cm; height: 29.7cm; display: block; margin: 0 auto; padding: 10px 25px; margin-bottom: 0.5cm; Box-shadow: 0 0 0.5cm rgba(0,0.5); overflow-y: scroll; Box-sizing: border-Box; } @media print { .page-break { display: block; page-break-before: always; } size: A4 portrait; } @media print { body { margin: 0; padding: 0; } .A4 { Box-shadow: none; margin: 0; width: auto; height: auto; } .noprint { display: none; } .enable-print { display: block; } }

你的第一个问题:

您可以尝试通过计算滚动高度来创建分页功能,并继续从页面删除元素,直到scollheight小于页面本身.

示例:https://jsfiddle.net/tk8rwnav/31/

@H_301_9@var max_pages = 100; var page_count = 0; function snipMe() { page_count++; if (page_count > max_pages) { return; } var long = $(this)[0].scrollHeight - Math.ceil($(this).innerHeight()); var children = $(this).children().toArray(); var removed = []; while (long > 0 && children.length > 0) { var child = children.pop(); $(child).detach(); removed.unshift(child); long = $(this)[0].scrollHeight - Math.ceil($(this).innerHeight()); } if (removed.length > 0) { var a4 = $('<div class="A4"></div>'); a4.append(removed); $(this).after(a4); snipMe.call(a4[0]); } } $(document).ready(function() { $('.A4').each(function() { snipMe.call(this); }); });

这个例子打破了每个元素.段落不会破坏单词,但你可以实现这一点,但这将变得非常复杂.

原文链接:https://www.f2er.com/html/225762.html

猜你在找的HTML相关文章