欢迎进入Wiki » FAQ » 如何搭建BroFileConvert服务器,用于归档或Office(WPS、PDF)文档转换和套打服务测试?

如何搭建BroFileConvert服务器,用于归档或Office(WPS、PDF)文档转换和套打服务测试?

在2014-05-18 14:42上被李小翔修改
评论 (0) · 附件 (0) · 记录 · 信息

BroFileConvert是一个基于Node.js开发的文档转换器,能将HTML页面转换成PDF、PNG、JPG等格式,还能用于Office、WPS、PDF文件的相互转换。BroFWK、BroBPM的归档、套打等功能都基于该服务。

归档的调用过程如下:

  1. 调用 ArchiveService 生成归档用的HTML页面
  2. 调用 FileConvertService,将HTML文本、Web应用的URL提交给BroFileConvert服务器
    要求从BroFileConvert主机上,可以访问Web应用的URL,否则会出现转换后样式丢失的问题
  3. BroFileConvert将HTML转换成PDF或图片并返回

套打的过程如下:

  1. ControllersApiService 调用GSP渲染引擎,将视图转换成XML
  2. 调用 FileConvertService,将XML文本提交给BroFileConvert服务器
  3. BroFileConvert将HTML转换成PDF或Office文件并返回

上述过程涉及到两个系统参数配置:

  • bropen.framework.plugin.fileconvert.server:BroFileConvert服务器的地址,默认为 http://localhost:6600
  • grails.serverURL:Web应用的URL,默认为 http://localhost:8080/Foobar

生产环境,将他们配置为实际的地址即可,开发/测试环境下,如果要进行归档或套打测试,可以将他们临时修改,如:

grailsApplication.config.grails.serverURL = "http://192.168.0.199:8080/Foobar/"
ctx.settingService.createOrUpdate("bropen.framework.plugin.fileconvert.server", "http://a.b.c.d:6600")

然后再测试,如下面的归档测试代码:

import bropen.bpm.instance.ProcessInstance
import org.apache.commons.io.FileUtils
def service = ctx.archiveService
def processInst = ProcessInstance.get(204431)
//String filename = service.archiveAsHTML(processInst,null,null)
String filename = service.archiveAsPDF(processInst, null, null)
if ( filename ) FileUtils.moveFile(new File(filename), new File("new path..."))

此外,为了方便测试,还可以在本地搭建一个BroFileConvert服务器进行测试:

  1. 从Node.js官网(http://nodejs.org/)下载并安装node
  2. 运行 node app.js,或者使用 startup 批处理启动服务

BroFileConvert服务器启动后:

  • 如果只是归档测试(不依赖Office等Windows程序),会自动忽略上面两个系统参数
  • 如果要进行Office文档转换,如果本机系统是Windows(需安装Office),也会自动忽略上面的fileconvert.server参数;如果不是Windows,还是会访问系统参数中配置的地址
在2014-05-18 14:41上被李小翔创建

Copyright © 2013 北京博瑞开源软件有限公司
京ICP备12048974号