套打二开.二开打印自定义条形码

【应用场景】
如果标准产品的条形码不满足业务需求,比如条形码的值很长(Code128格式,超过35字符),平台生成的条形码有些扫描枪无法识别。或者其他有特殊需求的条形码打印是平台标准产品无法满足的,可以使用二开实现条形码的打印。
【注意事项】
该实现方案涉及到条形码生成器的组件,需二次开发方确认条形码生成组件是否满足商业属性,如果条码生成组件需要购买方可使用,请遵守相关协议购买,本示例中的条码生成组件仅是演示使用,如果需要最终集成到产品中,请联系条码相生成组件相关提供商,达成相关协议后再集成到产品中。本示例使用的条码生成组件是Barcode Rendering Framework 的Zen.Barcode.Core.dll组件,这里仅是演示使用。
【案例演示】
采购申请单,新建套打模板,套打模板中需绑定条码值字段和图片字段(用来二开显示条码图片),条形码使用code128格式。
【实现步骤】
<1>新建采购申请单套打模板。新增文本控件绑定条形码值字段,新增图片控件,绑定图片字段。保存模板。本示例使用单据头字段,条码值字段和图片字段均为单据头字段。注意,如果条形码字段的值比较长,那么图片控件的宽度需要适度的拉宽,以显示条码图片的全貌。

<2>新建二开代码插件,本示例为c#语言编写的列表插件,二开代码如下:
using Kingdee.BOS.Core.List.PlugIn;
using Kingdee.BOS.DataEntity;
using Kingdee.BOS.Util;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using Zen.Barcode;
namespace ClassLibrary1
{
[HotUpdate]
public class TestBarcodePlugIn : AbstractListPlugIn
{
public override void OnPrepareNotePrintData(Kingdee.BOS.Core.DynamicForm.PlugIn.Args.PreparePrintDataEventArgs e)
{
base.OnPrepareNotePrintData(e);
if (e.DataSourceId.Equals("FBillHead") && e.DataObjects[0].DynamicObjectType.Properties.ContainsKey("F_bos_Image_83g"))
{
if (e.DataObjects != null)
{
var barcode = Convert.ToString(e.DataObjects[0]["FBarcode"]);
//生成条码填充到图片字段中
e.DataObjects[0]["F_bos_Image_83g"] = GenerateBarcode(barcode);
}
}
}
/// <summary>
/// 第三方使用条形码组件生成条形码图套打二开.二开打印自定义条形码
【应用场景】如果标准产品的条形码不满足业务需求,比如条形码的值很长(Code128格式,超过35字符),平台生成的条形码有些扫描枪无法识别...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



