条码对象
大约 3 分钟对象模式条码对象
介绍
说明
本章节将介绍条码对象的基本用法。
创建对象
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 文档效果
可配置项
配置项
- 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_matrix | dm码 |
maxi_code | maxi码 |
pdf_417 | pdf-417码 |
rss_14 | rss-14码 |
rss_expanded | rss扩展码 |
条形码文字样式
类型 | 说明 |
---|---|
normal | 正常 |
bold | 粗体 |
bold_italic | 粗体斜体 |
italic | 斜体 |