文件转换服务
对于依赖文档转换服务 BroFileConverter 的方法,需配置系统参数 bropen.framework.plugins.fileconvert.server。
并且调用 html2Xxxx 方法时,BroFileConverter 服务器要能够访问到系统参数 grails.serverURL 中的地址。
非生产环境下,为了便于本地开发调试,如果本机启动了 BroFileConverter 服务器,
则可能会忽略上面的系统参数(详见 getFileConverterServer)和 grails.serverURL;
否则,也许需要临时修改这两个参数,如在 console 中执行:
grailsApplication.config.grails.serverURL = "http://192.168.0.199:8080/Foobar/"
ctx.settingService.createOrUpdate("bropen.framework.plugins.fileconvert.server", "http://a.b.c:6600")
对于依赖 libreoffice 的方法(如 office2html),需配置系统参数 bropen.framework.plugins.fileconvert.libreoffice 为正确的程序路径。
| Modifiers | Name | Description |
|---|---|---|
static Integer |
aliasOverridingOrder |
| Type | Name and description |
|---|---|
SettingService |
settingService |
| Type | Name and description |
|---|---|
String |
doc2pdf(java.io.File docFile, String filename)基于 BroFileConverter:将 doc 文件转换为 pdf 文件 |
String |
doc2wps(java.io.File docFile, String filename)基于 BroFileConverter:将 doc 文件转换为 wps 文件 |
String |
getFileConverterServer(String forWhat)获得文档转换服务器(BroFileConverter)的地址 |
protected String |
getSourceURL(String url)使用 BroFileConverter 进行 HTML 转换时,处理内部资源(如图片、样式、js等)的相对路径的 HTML 源 URL |
String |
html2jpg(String html, String url, Map cookies, String filename, Closure htmlHandler)基于 BroFileConverter:将 HTML 文档转换成 JPG 图片 |
String |
html2pdf(String html, String url, Map cookies, String filename, Closure htmlHandler)基于 BroFileConverter:将 HTML 文档转换成 PDF |
String |
html2png(String html, String url, Map cookies, String filename, Closure htmlHandler)基于 BroFileConverter:将 HTML 文档转换成 PNG 图片 |
String |
office2html(java.io.File fileOffice, String filename)基于 libreoffice,将 Office 文档转换为 html 文件 |
String |
view2doc(Map modelAndView, String filename)基于 BroFileConverter:将 xml 格式的 wps(uof) 或 word 视图转换成二进制的 doc 文件 |
String |
view2pdf(Map modelAndView, String filename)基于 BroFileConverter:将 html 格式的视图,或者 xml 格式的 wps(uof)、word 视图转换成 pdf 文件 |
String |
view2wps(Map modelAndView, String filename)基于 BroFileConverter:将 xml 格式的 wps(uof) 或 word 视图转换成二进制的 wps 文件 |
| Methods inherited from class | Name |
|---|---|
class Object |
Object#wait(long, int), Object#wait(long), Object#wait(), Object#equals(Object), Object#toString(), Object#hashCode(), Object#getClass(), Object#notify(), Object#notifyAll() |
基于 BroFileConverter:将 doc 文件转换为 pdf 文件
注:如果发现转换出来的 pdf 文件格式和 doc 文件不太一样,可检查是否安装了新的 WPS Office。
经查,不知道从那个版本开始,WPS 会擅自占用 ActiveX 控件名 “Word.Application”,可尝试重装 Microsoft Office 以修复该问题。
docFile - 需要转换的 Word 文件对象filename - 转换后的文件路径,如果为空则自动在 docFile 所在的目录下创建一个同名的临时文件基于 BroFileConverter:将 doc 文件转换为 wps 文件
docFile - 需要转换的 Word 文件对象filename - 转换后的文件路径,如果为空则自动在 docFile 所在的目录下创建一个同名的临时文件获得文档转换服务器(BroFileConverter)的地址
默认情况下,返回 bropen.framework.plugins.fileconvert.server 参数值。
非生产环境下,为了便于本地开发调试,如果仅用于 html 转换,且发现本机开放了同上相同端口的服务器,则使用本机的文档转换服务器;
如果用于 office 转换、本机存在同端口的服务器、并且当前系统是 Windows(暂时没有判断是否安装了 Office、WPS 等软件),则使用本机的服务器。
forWhat - html=用于HTML转换,office(默认)=用于office转换使用 BroFileConverter 进行 HTML 转换时,处理内部资源(如图片、样式、js等)的相对路径的 HTML 源 URL
基于 BroFileConverter:将 HTML 文档转换成 JPG 图片
基于 BroFileConverter:将 HTML 文档转换成 PDF
系统参数 "bropen.framework.plugins.fileconvert.html.printmode" 可用于配置是否所使用打印模式(转换效果同浏览器的打印效果),默认为真。
html - HTML文本url - 获得HTML的原始URL,用于转换相对资源路径(如图片的src)cookies - 取HTML时返回的cookie,同样用于取远程资源时filename - 生成的PDF文件路径,如果为空,则返回一个临时文件htmlHandler - 处理生成的HTML字符串的闭包,处理完后返回一个新的字符串即可基于 BroFileConverter:将 HTML 文档转换成 PNG 图片
基于 libreoffice,将 Office 文档转换为 html 文件
filename - 生成的 html 文件路径,如果为空,则返回一个临时文件基于 BroFileConverter:将 xml 格式的 wps(uof) 或 word 视图转换成二进制的 doc 文件
modelAndView - 包含 view、model、plugin 属性的 Map -- 同控制器方法 render 的参数filename - 转换后的文件名字,如果为空,则返回一个临时文件基于 BroFileConverter:将 html 格式的视图,或者 xml 格式的 wps(uof)、word 视图转换成 pdf 文件
modelAndView - 包含 view、model、plugin 属性的 Map -- 同控制器方法 render 的参数filename - 转换后的文件名,如果为空,则返回一个临时文件基于 BroFileConverter:将 xml 格式的 wps(uof) 或 word 视图转换成二进制的 wps 文件
modelAndView - 包含 view、model、plugin 属性的 Map -- 同控制器方法 render 的参数filename - 转换后的文件名字,如果为空,则返回一个临时文件