我想将HTML页面转换为A4尺寸的PDF。phantomjs将内容合并到A4页面
page.paperSize = {
format: 'A4',
orientation: 'portrait',
border: '1cm'
};
有没有办法缩放网站以适应A4的宽度?
如果我有以下HTML:
<div style="width:1500px; text-align:right;">
right 1500px
</div>
的div右端脱落的页面。
我打与viewportSize
属性:
page.viewportSize = {
width: 480,
height: 800
};
我本来期望的是一个更大的视口宽度结果页面的较大部分被渲染成PDF。
page.zoom
也没有预期的效果。
PDF文件是报告。对于专业的外观,他们应该是A4而不是任意大小。
或者phantomjs是我的问题的错误工具?
我在Ubuntu 12.04.4上使用phantomjs 1.9.7版本。
编辑:
看来,这里有三个不同的维度:
vieportSize
这是用来渲染大小,写入文档paperSize
这是PDF格式文档的大小- 然后就是屏幕尺寸。幻象总是适合纸张大小的一个屏幕的宽度。我的phantomjs版本的屏幕尺寸为1024 x 768像素。如果视图端口大于屏幕尺寸,则不显示1024像素以外的所有内容。
我还没有找到方法来改变屏幕尺寸。我发现这个http://www.whatismyscreenresolution.com/
为PDF。
您可以操纵元素/页面的宽度,使其适合文档。问题是这是否仍然看起来不错。你使用哪个phantomjs版本和哪个操作系统? –
我宁愿不必设计我的网站围绕phantomjs的要求... – pat
这里是另一个指针:你可以[模拟页面缩放](http://stackoverflow.com/a/9441618/1816580),但这可能会让你的页面变得糟糕透顶。 –