使用CSS进行页面定位

时间:2012-02-14 02:33:32

标签: html css printing flying-saucer

我有一个使用HTML& amp;创建打印视图的作业。 CSS。然后在服务器上解析此视图并将其呈现为PDF。然后将该文档呈现给用户并假脱机到A5打印机。

其中一项要求是将第一页定位为横向,将所有其他页面定位为纵向

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

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

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

任何想法我在这里做错了

1 个答案:

答案 0 :(得分:3)

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

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

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