4

我有一个使用 HTML 和 CSS 创建打印视图的任务。然后在服务器上对该视图进行解析并呈现为 PDF。然后将文档呈现给用户并假脱机到 A5 打印机。

其中一个要求是将第一页方向设置为横向,将所有其他页面方向设置为纵向

我已经创建了视图,以及解析 HTML 和 CSS 以使用Flying Saucer创建 PDF 的 servlet 。但是,我在页面方向方面遇到了一些问题。我使用以下 CSS 来控制页面布局

@page :first {size: A5 landscape}
@page{ size: A5 }

我确实得到了第一页的正确布局。然而,所有其他页面显示为 A3 横向(打印文本的边界)打印在 A4 纸上(页面的实际方向)。

任何想法我在这里做错了什么

4

1 回答 1

3

方向是正确的,但 A5 尺寸宽度没有考虑边距,因此我的文本超出了预期的页面宽度。解决方法是创建一个新的 CSS 类,我将设置页面宽度和高度的类肖像命名如下:

.portrait{
    padding:5px;
    margin:15px 0px;
    width:5.5in ;
    font: 11px verdana, sans-serif;
}

希望这可以帮助遇到类似问题的任何人。如果有人对size:A5无法按预期工作的原因进行一些分析,我也会感兴趣

于 2012-03-06T01:12:35.883 回答