我试图将html转换为PDF格式的pdf文档。 (版本是17.4.0)
我的问题是: 如何在html中设置页面大小和页边距?
在documentation中,听起来我必须为节(div-element)设置宽度,高度和边距。
我的HTML看起来像这样:
<!DOCTYPE html>
<html>
<head>
<title>Hello PDF</title>
</head>
<body>
<div class="page" style="width:210mm; height:297mm; margin-top:0cm; margin-bottom:1cm; margin-left:1cm; margin-right:1cm;">
<p>Hello World</p>
</div>
</body>
</html>
&#13;
我的java代码:
String baseUri = "path/to/doc/";
LoadOptions loadOptions = new LoadOptions();
loadOptions.setEncoding(Charset.forName("UTF-8"));
Document doc = new Document(baseUri + "test.html", loadOptions);
OutputStream outputStream = new FileOutputStream(baseUri + "test.pdf");
doc.save(outputStream, SaveFormat.PDF);
我的问题是,生成的pdf页面大小为215,9 x 279,4毫米(而不是210 x 297毫米),顶部的边距也不是0.
有人能告诉我如何在我的html中定义这个值吗?
答案 0 :(得分:1)
请注意,Aspose.Words模仿与MS Word相同的行为。您的页面设置在HTML中很好。如果您在MS Word中加载输入html并将其转换为PDF,它将生成215.9 x 279,4mm页面大小的文档。
但是,您可以使用Aspose.Words API按照您的要求更改部分的页面设置。
我是Tilal,Aspose的开发人员传播者。
String baseUri = "path/to/doc/";
LoadOptions loadOptions = new LoadOptions();
loadOptions.setEncoding(Charset.forName("UTF-8"));
com.aspose.words.Document doc = new com.aspose.words.Document(baseUri +"test.html", loadOptions);
for (Section sectoin : doc.getSections())
{
PageSetup ps = sectoin.getPageSetup();
ps.setPaperSize(PaperSize.A4);
ps.setTopMargin(0.0);
ps.setBottomMargin(1.0);
ps.setLeftMargin(1.0);
ps.setRightMargin(1.0);
}
OutputStream outputStream = new FileOutputStream(baseUri +"Test.pdf");
doc.save(outputStream, com.aspose.words.SaveFormat.PDF);