跳至主要內容

条码对象

xsx大约 3 分钟fop模块对象模式条码对象

介绍

说明

本章节将介绍条码对象的基本用法。

创建对象

Barcode barcode = TemplateHandler.Barcode.build();

基本用法

说明

创建一个包含条形码与二维码的文档

对象模式 java 代码

// 定义输出路径
String outputPath = "E:\\pdf\\test\\fo\\test.pdf";
// 创建文档
Document document = TemplateHandler.Document.build();
// 创建页面
Page page=TemplateHandler.Page.build();
// 创建条形码
Barcode codabar = TemplateHandler.Barcode.build()
        // 设置类型
        .setType("codabar")
        // 设置宽度
        .setWidth("150px")
        // 设置高度
        .setHeight("50px")
        // 设置内容
        .setContent("11223344")
        // 设置水平居中
        .setHorizontalStyle("center");
// 创建二维码
Barcode qrCode = TemplateHandler.Barcode.build()
        // 设置类型
        .setType("qr_code")
        // 设置宽度
        .setWidth("150px")
        // 设置高度
        .setHeight("150px")
        // 设置内容
        .setContent("https://www.x-easypdf.cn")
        // 设置显示文本
        .setWords("https://www.x-easypdf.cn")
        // 设置水平居中
        .setHorizontalStyle("center");
// 添加条码
page.addBodyComponent(codabar,qrCode);
// 添加页面
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:instream-foreign-object>
                    <xe:barcode content="11223344" height="50px" type="codabar" width="150px"/>
                </fo:instream-foreign-object>
            </fo:block>
            <fo:block text-align="center">
                <fo:instream-foreign-object>
                    <xe:barcode content="https://www.x-easypdf.cn" height="150px" type="qr_code" width="150px" words="https://www.x-easypdf.cn"/>
                </fo:instream-foreign-object>
            </fo:block>
        </fo:flow>
    </fo:page-sequence>
</fo:root>

pdf 文档效果

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

可配置项

配置项

  • setMarginXXX:设置边距
  • setPaddingXXX:设置填充
  • setId:设置id
  • setType:设置条形码类型
  • setScaleRate:设置条形码缩放比例(实际比例)
  • setRadians:设置条形码旋转弧度
  • setCodeMargin:设置条形码边距
  • setErrorLevel:设置条形码纠错级别
  • setWidth:设置条形码图像宽度
  • setHeight:设置条形码图像高度
  • setContent:设置条形码内容
  • setOnColor:设置条形码前景颜色
  • setOffColor:设置条形码背景颜色
  • setWords:设置条形码文字
  • setWordsColor:设置条形码文字颜色
  • setWordsFamily:设置条形码文字名称
  • setWordsStyle:设置条形码文字样式
  • setWordsSize:设置条形码文字大小
  • setWordsOffsetX:设置条形码文字偏移量-X轴
  • setWordsOffsetY:设置条形码文字偏移量-Y轴
  • setHorizontalStyle:设置水平样式
  • setBreakBefore:设置分页符-前
  • setBreakAfter:设置分页符-后
  • enableKeepTogether:开启分页时保持
  • enableKeepWithPrevious:开启分页时与上一个元素保持
  • enableKeepWithNext:开启分页时与下一个元素保持

条形码类型

一维码

类型说明
codabar库德巴码
code_39标准39码
code_93标准93码
code_128标准128码
ean_8缩短版国际商品条码
ean_13标准版国际商品条码
itf交叉码
upc_a美国商品码a
upc_e美国商品码e
upc_ean_extension美国商品码扩展码
upc_ean_extension美国商品码扩展码

二维码

类型说明
qr_code二维码
aztec阿兹特克码
data_matrixdm码
maxi_codemaxi码
pdf_417pdf-417码
rss_14rss-14码
rss_expandedrss扩展码

条形码文字样式

类型说明
normal正常
bold粗体
bold_italic粗体斜体
italic斜体