前言:
最近朋友让做了一个把地理文件kml文件导出成word的小程序,一般说这种kml文件是通过类两步路户外助手之类的程序生成,会用于对道路运输进行勘查。比如说运输一些大型风力发电叶片,需要前期勘查道路是否满足运输条件。
路勘报告,两步路导出轨迹图片,kml文件导出成word
实现路径:
- 解析kml文件,主要依赖:
dom4j
- 处理word:
poi
- 处理word中的表格:
poi-ooxml
- 下载图片
核心代码:
//遍历当前节点下的全部节点
public static void listNodes(Element node) throws JsonProcessingException {
// 图片加入到word
ObjectMapper mapper2 = new ObjectMapper();
// PictureRenderData avatar = new PictureRenderData(352,256 , ".jpg", BytePictureUtils.getUrlBufferedImage(picUrl));
File picture = new File("/Users/billyshen/Downloads/kml/"+name+"__"+picDownParams+".jpg");
PictureRenderData avatar = new PictureRenderData(352,256 , picture);
PicRenderDataConvert picRenderDataConvert = new PicRenderDataConvert(avatar);
RowRenderData picRow = RowRenderData.build(name, mapper2.writeValueAsString(picRenderDataConvert),"");
picRenderData.addAll(Arrays.asList(picRow));
// 表格(含图片)渲染策略
builder.customPolicy("pic_table", new DetailPicTablePolicy(1));
Configure configure = builder.build();
// 模板文件
String templatePath = "/Users/billyshen/Downloads/word/template_pic2.docx";
InputStream is = new FileInputStream(new File(templatePath));
结果展示:
输入:kml文件
输出:
后面有空整理下代码,再分享下。
2024-06-13 目前我们已经将软件平台化,已经有不少运输公司使用该平台进行路勘报告导出,大大缩短了制作标书的时间,有兴趣的老板可以来免费试用下。
平台地址:http://kmz.cloudinhome.com 上面有联系方式。
使用演示:路勘报告制作,两步路户外助手,kml文件导出成word,路勘