Web打印单据一键转Base64,自动上传API的终极方案

boyanx3个月前技术教程17

现有的企业ERP系统需要与另一个公司的WMS系统对接,出库单需要传递给WMS的API接口一个图片格式的ERP出库单附件,进行出库单核验,现有的ERP打印单据使用的Web打印控件Lodop实现的,看了下官方文档,发现只有导出当前页面到图片文件的功能,现在需求是需要打印的出库单样式的图片不是ERP出库单的操作页面,于是想变通下解决这个问题。

①将打印单据保存为图片文件

既然Lodop的Web打印控件支持导出页面为图片,那么就做一个出库单样式的独立页面用于生成图片,最终页面效果如下:

②Lodop打印控件支持加载指定url实现动态生成单据图片

Lodop的Web打印控件还支持加载指定URL页面进行打印的功能,也就可以给控件提供一个动态加载单据页面的URL地址来生成图片了,代码如下:

//打印导出到图片文件

function printtoimgfile() {

LODOP = getLodop();

LODOP.PRINT_INIT("销售提货单");

LODOP.ADD_PRINT_URL(0, 0, "100%", "100%", "TiHuo?ordercode="+<%=ViewData["OrderCode"] %>); //动态加载单据模板页面

LODOP.SET_SAVE_MODE("FILE_PROMPT", false); //设置不再弹出选择保存文件提示框

LODOP.SET_SAVE_MODE("SAVEAS_IMGFILE_EXENAME", ".jpg");

LODOP.SAVE_TO_FILE("D:\\upload\\wms\\<%=ViewData["OrderCode"] %>.jpg"); //本地保存路径

}

③后台调取接口时候加载图片文件为Base64格式传递给接口

//读取提货单附件图片 D:\wms\派车单号.jpg

String filename = @"D:\wms\"+sendorder.Order_Code+".jpg";

this.data=ImageToBase64(filename);

this.attachName= sendorder.Order_Code+".jpg";

总结,最后实现了Web打印单据一键转Base64,自动上传API的终极方案

相关文章

网页中打印报表标签或导出报表_网页中打印报表标签或导出报表怎么操作

现在软件项目比较偏向BS架构,也就是使用网页浏览器等工具软件呈现用户交互界面的系统软件。如果在网页中不但能呈现报表或标签,也能直接调用本地或网络共享打印机打印是很多项目都需要的。网页打印解决方案有很多...

Msteel插件的详细了解与分享_msbt插件教程

Msteel批量打印插件是一个非常实用的cad打印软件,今天带大家解读一下第一个功能:单张打印到文件。点击M_批打印,单张打印到文件;这时我们可以看到命令栏提示有两种选择方式:两点或者对象选择,一般我...

Wincc 实现与数据库的交互,以及报表的实现方式

经常会有朋友用到将部分有用的数据单独写到关系型数据库如:SQL Server ,MySQL等,然后通过制作报表进行数据的显示,而对于报表,我目前比较常用的是 SQL Server 自带的免费的 SSR...

Excel神器!用Barcode控件轻松实现二维码标签批量打印

亲爱的办公达人们,今天给大家分享一个超实用的Excel技巧——如何利用Barcode控件在Excel中实现二维码标签的批量生成和打印!这个功能对于需要制作产品标签、库存管理、活动签到等场景特别有用。为...

超级好用的 CAD 插件!!!CAD 批量打印~

点击关注 关注我们吧~在日常使用 CAD 打印图纸时,常规操作是选择打印,然后在打印页面进行各种设置。但要是遇到大量图纸,一张一张手动打印,既耗费时间又增加工作量,效率极低。这时候,CAD 批量打印软...

苹果电脑 (Mac OS) 打印控件 杰表云打印 安装

杰表云打印 for Mac OS 版本上线, 是国内同时支持 Windows, 国产系统(中标麒麟/银河麒麟/深度/UOS/方德/Ubuntu等,龙芯/飞腾/X86架构), 苹果三大PC平台的打印控件...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。