我遇到了一个问题,必须使用pd4ml工具生成pdf。它适用于除第一页以外的所有页面。
我使用了以下几行代码。
第2页和第3页工作正常,没有任何问题。但是第一页不接受htmlwidth="1335"(而是默认值为640)。
注意:这适用于windows中的pd4ml.jar。使用linux服务器生成pdf时会出现问题。
任何帮助都将不胜感激。
<!DOCTYPE html>
<html>
<head>
<title>TITLE</title>
<style type="text/css" media="all">
* {margin: 0;padding: 0;}
body{margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;color:#333;width: 1335px;}
table{border:0; border-spacing:0;width: 100%;}
table td{vertical-align: top;-webkit-text-size-adjust: none;}
img{border: 0;page-break-inside: avoid;}
</style>
</head>
<body>
<pd4ml:page.footer>
footer text goes here
</pd4ml:page.footer>
<pd4ml:page.header>
header text goes here
</pd4ml:page.header>
<div class="container" style="margin: 0;">
<pd4ml:page.break htmlwidth="1335"/>
Page 1 content
</pd4ml:page.break>
</div>
<div class="container" style="margin: 0;">
<pd4ml:page.break htmlwidth="1335"/>
page 2 content
</pd4ml:page.break>
</div>
<div class="container" style="margin: 0;">
<pd4ml:page.break htmlwidth="1335"/>
page 3 content
</pd4ml:page.break>
</div>
</body>
</html>
</pd4ml:transform>
您可以使用pd4ml.setHtmlWidth()API调用为整个文档(包括第一页)定义htmlWidth。
<pd4ml:page.break htmlwidth="1335"/>
仅影响后续页面的htmlWidth。因此,使用分页符指令,不可能为第一页定义htmlWidth。
(在此处找到答案。)