我有一个模板编辑器,它在JSF PrimeFaces中实现。在这个模板编辑器中,用户可以添加不同的组件。对于可以配置的每个组件:
- 宽度、高度
- 位置
- 文本内容
与这些组件相关的全部信息存储在XML中。宽度/高度/位置属性以像素为单位存储Position属性是相对于模板边界的绝对位置。
目前,我有一个任务来准备这个模板的PDF,它存储在XML中。现在,我有一个想法,用这些组件和位置创建XHTML页面,大小来自XML。对于生成PDF,我有模板页面上的按钮。这个按钮的操作是从XHTML页面获取内容,并通过Flying Saucer库生成PDF。目前,我发现我在显示所需数据方面存在问题。原因是PDF页面和模板编辑器的宽度不同。在PDF页面中,并非所有以像素为单位的大小和位置都是实际的。你能给我建议如何正确地解决从XHTML模板生成PDF的任务吗?也许我应该用另一种格式保存位置和尺寸,请给我建议。
我认为应该在css中使用@page{}
。