跳至主要內容

图像对象

xsx大约 2 分钟fop模块对象模式图像对象

介绍

说明

本章节将介绍图像对象的基本用法。

创建对象

Image image = TemplateHandler.Image.build();

基本用法

说明

创建一个包含 jpg 图像的文档

对象模式 java 代码

// 定义输出路径
String outputPath = "E:\\pdf\\test\\fo\\test.pdf";
// 创建文档
Document document = TemplateHandler.Document.build();
// 创建页面
Page page = TemplateHandler.Page.build();
// 创建图像
Image image = TemplateHandler.Image.build()
    // 设置图像路径(绝对路径)
    .setPath("/E:\\pdf\\test\\fo\\test.jpg")
    // 设置图像宽度
    .setWidth("150px")
    // 设置图像高度
    .setHeight("150px")
    // 设置水平居中
    .setHorizontalStyle("center");
// 添加图像
page.addBodyComponent(image);
// 添加页面
document.addPage(page);
// 转换pdf
document.transform(outputPath);

xsl-fo 模板

说明

对象模式生成的对应 xsl-fo 模板

<?xml version="1.0" encoding="UTF-8"?><!--根标签-->
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
         xmlns:fox="http://xmlgraphics.apache.org/fop/extensions"
         xmlns:svg="http://www.w3.org/2000/svg"
         xmlns:xe="http://www.x-easypdf.cn/ns">
    <!--页面模板-->
    <fo:layout-master-set>
        <fo:simple-page-master master-name="page1" page-height="29.7cm" page-width="21cm">
            <fo:region-body/>
            <fo:region-before/>
            <fo:region-after/>
            <fo:region-start/>
            <fo:region-end/>
        </fo:simple-page-master>
    </fo:layout-master-set>
    <fo:page-sequence master-reference="page1">
        <fo:flow flow-name="xsl-region-body">
            <fo:block text-align="center">
                <fo:external-graphic content-height="150px" content-width="150px" src="/E:\pdf\test\fo\test.jpg"/>
            </fo:block>
        </fo:flow>
    </fo:page-sequence>
</fo:root>

pdf 文档效果

生成的pdf文档
生成的pdf文档

svg图像

说明

创建一个包含 svg 图像的文档

对象模式 java 代码

// 定义输出路径
String outputPath = "E:\\pdf\\test\\fo\\test.pdf";
// 创建文档
Document document = TemplateHandler.Document.build();
// 创建页面
Page page = TemplateHandler.Page.build();
// 创建图像
Image image = TemplateHandler.Image.build()
    // 设置图像路径(绝对路径)
    .setPath("/E:\\pdf\\test\\fo\\test.svg")
    // 设置图像宽度
    .setWidth("150px")
    // 设置图像高度
    .setHeight("150px")
    // 设置水平居中
    .setHorizontalStyle("center");
// 添加图像
page.addBodyComponent(image);
// 添加页面
document.addPage(page);
// 转换pdf
document.transform(outputPath);

xsl-fo 模板

说明

对象模式生成的对应 xsl-fo 模板

<?xml version="1.0" encoding="UTF-8"?><!--根标签-->
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
         xmlns:fox="http://xmlgraphics.apache.org/fop/extensions"
         xmlns:svg="http://www.w3.org/2000/svg"
         xmlns:xe="http://www.x-easypdf.cn/ns">
    <!--页面模板-->
    <fo:layout-master-set>
        <fo:simple-page-master master-name="page1" page-height="29.7cm" page-width="21cm">
            <fo:region-body/>
            <fo:region-before/>
            <fo:region-after/>
            <fo:region-start/>
            <fo:region-end/>
        </fo:simple-page-master>
    </fo:layout-master-set>
    <fo:page-sequence master-reference="page1">
        <fo:flow flow-name="xsl-region-body">
            <fo:block text-align="center">
                <fo:external-graphic content-height="150px" content-width="150px" src="/E:\pdf\test\fo\test.svg"/>
            </fo:block>
        </fo:flow>
    </fo:page-sequence>
</fo:root>

pdf 文档效果

生成的pdf文档
生成的pdf文档

可配置项

配置项

  • setMarginXXX:设置边距
  • setPaddingXXX:设置填充
  • setId:设置id
  • setWidth:设置宽度
  • setHeight:设置高度
  • setPath:设置图像路径
  • setHorizontalStyle:设置水平样式
  • setBreakBefore:设置分页符-前
  • setBreakAfter:设置分页符-后
  • enableKeepTogether:开启分页时保持
  • enableKeepWithPrevious:开启分页时与上一个元素保持
  • enableKeepWithNext:开启分页时与下一个元素保持