Skip to content
Demo示例API 参考文档FAQ

PDF 生成模板编辑器

开源可视化 PDF 生成引擎,支持自定义模板,并提供面向开发者的 API,灵活构建文档生成流程。

查看 GitHub

页面边距 ​

1.3.0 版本在 CConverterProperties 中新增 setPageMargins(top, right, bottom, left) 和 getPageMargins()。页边距单位为 CSS 像素(CSS px),对每页生效;setPageSize() 的页面宽高单位为点(point)。正文 CSS @page 规则中显式指定的页边距优先于属性中的设置。

java
import CPDFGeneration.CConverterProperties;
import CPDFGeneration.CHtmlConverter;

CConverterProperties properties = new CConverterProperties();
try {
    properties.setPageMargins(48, 40, 48, 40);
    int[] margins = properties.getPageMargins();
    System.out.println("Top margin: " + margins[0] + " CSS px");
    CHtmlConverter.CErrorCode status = CHtmlConverter.ConvertToPdf(
            "input.html", "margins.pdf", properties);
    if (status != CHtmlConverter.CErrorCode.HTML_CONVERTER_SUCCESS) {
        throw new IllegalStateException("HTML conversion failed: " + status);
    }
} finally {
    properties.release();
}

四个边距必须为非负数。getPageMargins() 返回一个新数组,顺序为上、右、下、左;修改该数组不会更新属性。新建的 CConverterProperties 默认四个边距均为 0。邮件转换在未传入属性对象时使用独立的默认边距,详见邮件转换。

转换期间应保持属性对象及其字体提供者有效;使用结束后,按上例释放属性对象。