intra-mart执行java方法笔记

article/2025/6/30 5:11:51

一、前言

最近在用intra-mart,感觉官方文档不明不白的,很难搜。
想在intra-mart里执行java,找了半天,终于试出来了。
在此总结一下。

想看官网文档,这个是地址:

https://document.intra-mart.jp/library/iap/public/development/script_programming_guide/texts/use_java_class/custom_class.html

二、说明与代码

1.首先假设项目包名就叫imart.war;启动resin后,会自动解压生成imart文件夹

2.本次想实现用intra-mart调用java方法,把word转换为pdf的功能

3.把用到的jar包放到E:\resin-pro-4.0.66\webapps\imart\WEB-INF\lib目录下
在这里插入图片描述
这3个jar包是从https://repo.e-iceblue.cn/上面找到的免费版jar包,页数不多的情况下有word设置变量、word转pdf的功能(页数多可能需要买收费版jar包)

如果想执行自己写的java方法,也打成jar包放到这里即可(要不就得弄成class,但是放到哪里还不知道)

4.可以在E:\resin-pro-4.0.66\webapps\imart\WEB-INF\jssp\src\test_page下创建一个页面文件,test_page.html,内容为空;
test_page是自己创建的文件夹;
然后同目录下创建一个test_page.js文件,内容如下:

function init(request) {var logger = Logger.getLogger();logger.info("begin");var document = new Packages.com.spire.doc.Document();document.loadFromFile("E:/file.docx");for(var j=0; j<=5; j++){//变量key-值valuedocument.getVariables().set("A"+j,"imart"+j);document.isUpdateFields(true);}document.saveToFile("E:/file.pdf", Packages.com.spire.doc.FileFormat.PDF);var ret = {"code":0, "msg":"已执行"};outputJSON(ret);}

个人感觉,intra-mart里的js,就相当于java后台代码;
这个代码的意思是,使用new Packages.com.spire.doc.Document();方法创建jar包里的java对象,然后就可以执行java对象方法了。
还有一个Packages.com.spire.doc.FileFormat.PDF,是枚举类。
格式是Packages+包名+类名
在这里插入图片描述
在这里插入图片描述

document.getVariables().set是给word设置变量用的。
在这里插入图片描述
代码给A2设置的值是imart2,导出pdf后就会显示出来。

5.html与js写好了,下一步配置路由,可以创建E:\resin-pro-4.0.66\webapps\imart\WEB-INF\conf\routing-jssp-config\test_page.xml文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<routing-jssp-configxmlns="http://www.intra-mart.jp/router/routing-jssp-config"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.intra-mart.jp/router/routing-jssp-config routing-jssp-config.xsd"><authz-default mapper="welcome-all" /><file-mapping path="/test_page/test_page" page="test_page/test_page" /></routing-jssp-config>

这里配置了权限是welcome-all,页面对应src下的/test_page/test_page.html/test_page/test_page.js
页面访问路径对应/test_page/test_page

6.重启项目,访问http://127.0.0.1:8080/imart/test_page/test_page,就会执行test_page.js文件,就可以把word转为pdf。

7.执行上方代码前,需要有E:/file.docx文件,这个随意写一个就可以;
然后会输出E:/file.pdf
本人设置了变量,最后生成样例如下:
在这里插入图片描述

三、备注

1.intra-mart默认storage目录在WEB-INF/conf/storage-config.xml文件设置;
默认是:

<root-path-name>${resin.home}/storage</root-path-name>

2.logicDesigner的默认路径是

E:/resin-pro-4.0.67/storage/public/storage/default/storage

3.如果用相对路径, document.loadFromFile("file.docx");那就需要把文件放到:

E:\resin-pro-4.0.66\file.docx

4.imart一些打印路径的js方法:

  var logger = Logger.getLogger();//js里用imart的PublicStorage打印相对路径(有些方法需要这个类型的入参)var ps = new PublicStorage("test_folder/test.docx");Debug.console(ps.getPath());  Debug.console(ps.getCanonicalPath());  Debug.console(ps.getRelativePath(ps));  //js里用java的file类打印路径,可以得到resin所在目录的绝对路径。//例如:E:\resin-pro-4.0.66\var f_d = new Packages.java.io.File("");logger.info(f_d.getCanonicalPath());logger.info(f_d.getAbsolutePath());

http://www.hkcw.cn/article/UhBSjZwNsb.shtml

相关文章

137项铁证证明韩文化挪用 反击韩国申遗

韩国再次试图将中国文化申遗,这次中国直接拿出137项铁证予以反击,联合国教科文组织也介入调查。近年来,韩国频繁申遗,从泡菜、端午祭到暖炕,甚至黄豆酱和酱油都不放过,仿佛只要是中国的,都能被他们“认祖归宗”。这种行为在国内引发了广泛不满,人们对于自家文化被他人抢…

男孩返校途中失联 当天曾说想请假 家人焦急寻找线索

5月27日晚,海南定安县一名15岁男孩在返校途中失联,至今下落不明。男孩父亲叶先生表示,儿子小叶与家人没有矛盾,也没有听说在学校遇到问题。根据监控记录,小叶最后出现在定安县定海大桥附近。5月30日,叶先生透露,小叶今年15岁,在当地某中学读初二。27日下午,原本应寄宿…

国内多地网友目击夜空现不明飞行物 科学解读划破天际的光带

2025年5月30日晚,山东潍坊、日照等地的夜空出现了一个明亮的不明飞行物,其亮度远超普通星辰。目击者描述为“大的后面跟着几个小的,持续约20秒”。同时,江苏、安徽、江西等省的网友也通过社交媒体发布视频,记录下类似“流星雨”的火光划过天际的场景。这一事件迅速引发公众…

数据资产是什么?一文构建数据资产量化管理体系!

目录 一、什么是数据资产&#xff1f; 1. 数据资产的定义 2. 数据资产与传统资产的区别 二、数据资产管理面临的实践挑战 1. 法律与权属不清 2. 价值评估难 3. 技术与业务脱节 三、如何量化管理数据资产&#xff1f; 1. 数据资产评估的三维模型 2. 数据资产评估方法 …

ASP.NET Core OData 实践——Lesson2查询和局部更新EntitySet(C#)

大纲 概念多态支持的接口主要模型设计(Models)控制器设计(ShapesController)数据源查询(GET)查询EntitySet中所有Entity查询EntitySet中所有Entity的个数查询EntitySet中派生类类型的Entity查询EntitySet中派生类类型的Entity的个数 新增(POST)新增基类类型Entity新增派生类类型…

工业智能网关提升铁合金工厂远程运维效率的实践应用

一、项目背景 铁合金行业作为国民经济基础原材料产业&#xff0c;在钢铁、机械制造等众多领域有着广泛应用&#xff0c;其生产规模庞大且呈持续增长趋势。然而&#xff0c;传统的铁合金生产监控方式存在诸多弊端&#xff0c;如数据采集不及时、不准确&#xff0c;信息孤岛现象…

高敏感是一种天赋吗 被低估的感知力

今天是周三,人民日报夜读栏目的“周三加油站”如约而至。我们想聊聊“高敏感”这件事。听觉敏感的人晚上睡觉时容易被细小的声音吵醒,嗅觉灵敏的人能轻易闻到不易察觉的气味,触觉上高度敏感的人在别人靠近时常常感到紧张。对旁人情绪变化敏感的人则习惯性推敲别人的言外之意…

婚内强奸案男子看守所里与妻协议离婚 证据不足获释求赔偿

5月29日下午,40岁的尹某在律师陪同下向河南省濮阳县人民检察院递交了《国家赔偿申请书》,请求国家赔偿33万元,并要求追究相关办案人员的责任。此前,尹某因“婚内强奸”被关押了285天。尹某提到,在他被关押之前,妻子曾两次提起离婚诉讼但均被法院驳回。去年4月,当他还在看…

端午出行热度攀升释放消费新活力 粽行山海成潮流

交通运输部最新数据显示,2025年端午假期全社会跨区域人员流动量预计达6.87亿人次,较2024年同期增长7.7%。高速公路日均流量突破4070万辆次,其中新能源汽车占比显著提升至21%,反映出我国交通出行结构的深刻变革。节日叠加效应成为出行增长的核心驱动力。端午假期与“六一”儿…

电影《坪石先生》入围上影节创投 致敬教育救国精神

第二十七届上海国际电影节电影项目创投近日公布入围名单,讲述抗战时期岭南先贤故事的粤产电影《坪石先生》入围制作中项目单元。该片以抗战时期中山大学西迁办学的真实历史为背景,聚焦民国教育大家黄际遇、卫梓松、杜定友等“坪石先生”,讲述他们在战火中坚守教育阵地、延续…

划龙舟的风还是吹到北京来了 北运河上演速度与激情

5月31日上午9点,2025年北京端午节龙舟大赛将在北运河东关大桥至上营大桥水域拉开帷幕。此次赛事吸引了全国30多支龙舟队伍和近500名运动员参加,市民和游客可以免费观看比赛。参赛的龙舟队已经在北运河进行适应性训练。端午节假期期间,北运河水域将举办一系列水上和岸上活动,…

7.3 Organizing data into training batches

Chapter 7-Fine-tuning to follow instructions 7.3 Organizing data into training batches 下一步是构建训练批次 ​ 定义一种方法&#xff0c;以确保我们的模型在微调过程中接收格式化的训练数据。如下图所示&#xff0c;我们通过几个步骤处理此数据集批处理。 ​ 首先&…

AI数字人系统开发——引领未来智能交互潮流

在智能交互的时代&#xff0c;AI数字人系统开发正以其独特的魅力和巨大的潜力&#xff0c;引领着未来的发展方向。它不仅改变了我们与机器的交互方式&#xff0c;还为我们带来了全新的生活和工作体验。 我们的AI数字人系统开发&#xff0c;以创新为驱动&#xff0c;不断追求技…

Langchain4j Function Calling (5)

Langchain4j Function Calling(函数调用) Function Calling 函数调用 也叫 Tools 工具. 不用函数调用存在的问题 测试计算问题 提供agent AiService(wiringMode AiServiceWiringMode.EXPLICIT,chatModel "qwenChatModel",chatMemory "chatMemory",ch…

《数字世界的连接器:计算机网络应用全景解析》

一、引言 在万物互联的今天&#xff0c;计算机网络早已不再是幕后基础设施&#xff0c;而是推动数字时代变革的“神经系统”。无论你在使用智能手机刷短视频&#xff0c;还是企业通过云服务部署系统&#xff0c;这一切都离不开计算机网络的广泛应用。 本文将全面系统地介绍计…

密云北庄镇首次发现凤头鹰 生态魅力再添新证

近日,北庄镇观鸟爱好者与生态工作人员在日常监测中惊喜发现国家二级保护鸟类凤头鹰的踪迹。这一发现不仅为密云区鸟类名录新增一员,更印证了北庄镇作为“观鸟小镇”的生态魅力。凤头鹰是中型猛禽,因头部具短羽冠而得名,常栖息于山地森林中,以蛙、蜥蜴、鼠类及小型鸟类为食…

清华回应17岁学生登顶珠峰保送清华 最年轻登顶者澄清

近日,有媒体报道称北京第八十中学17岁的学生李浩榕成为中国首位从北坡登顶珠峰的青少年,消息一度登上热搜。还有报道称他是“全球中学生第一人”。不过,根据国内其他媒体报道,河北16岁女孩丁禹琪在2020年曾从北坡成功登顶珠峰。西藏登山协会证实,在中国业余登山爱好者中,…

宁德时代董事长现身尊界S800发布会 强调电池安全与可靠

在5月30日的尊界S800发布会上,华为与江淮汽车联合推出了新款车型尊界S800。宁德时代董事长曾毓群也出席了发布会,并强调智能与豪华的基础在于安全,而电池是实现这一目标的关键。曾毓群提到,安全是新能源汽车的生命线。要达到极致的安全标准,需要关注材料和化学体系、基于3…

利物浦签24岁荷兰边卫弗林蓬 3500万解约金锁定强援

利物浦宣布签下24岁的荷兰边卫弗林蓬,支付了3500万解约金。弗林蓬此前效力于勒沃库森。罗马诺确认,前亚特兰大主教练加斯佩里尼将执教罗马,签约三年。沙特媒体OKAZ报道,C罗拒绝了所有沙特国内外俱乐部的报价,并指示团队停止一切转会谈判,表明他将在利雅得胜利继续职业生涯…

贿赂百名医生的药企违规费用已清缴 相关人员接受调查处理

近期,我们收到关于某药企涉嫌向医生输送商业贿赂的举报信。对此,我们高度重视,立即成立调查组,并会同相关部门展开调查核实工作。以下是调查处置进展情况。举报信涉及125名医疗机构人员,其中6人信息重复,1人信息不实,实际核实为118人,分布在36家医疗机构(举报信中提到…