bboss libreoffice结合使用说明

简介: bboss libreoffice结合使用说明已经文件下载插件完善 最近增加工具类/bboss-plugin-wordpdf/src/org/frameworkset/http/converter/wordpdf/FileConvertor.
bboss libreoffice结合使用说明已经文件下载插件完善
最近增加工具类 /bboss-plugin-wordpdf/src/org/frameworkset/http/converter/wordpdf/FileConvertor.java
通过jodconvertor组件结合,利用libreoffice实现word模板书签和值合并功能
方便地借助swftool和Flashprinter实现word向pdf,swf的转换

o 文件下载插件增加对FileBlob的支持
FileBlob增加构造函数:
public FileBlob( File data,int rendtype)
public FileBlob( String file,int rendtype)
两个构造函数含义是一致的,参数说明:
第一个参数:下载或者浏览的文件对象或者文件路径
第二个参数:标识文件是用来下载还是用来浏览,对应于FileBlob中的两个常量:FileBlob.BROWSER,FileBlob.DOWNLOAD,默认值为FileBlob.DOWNLOAD

使用实例一,控制器下载文件方法

public @ResponseBody FileBlob downloadSWFTempAllUseOpenOffice() throws Exception  {
		System.out.println("--------------程序执行到此处------------------");
		String[] bookMarks = new String[] { "DealerName", "Name", "CgName",
				"TypeName", "OrderQty", "CoolCode", "ChassisCode", "CustPrice",
				"CustAmt", "sumall", "EarnestPayDays", "EarnestAmt",
				"StageDate", "FirstAmt", "DepositPercent", "Deposit",
				"ServiceChargePercent", "ServiceCharge", "NotarizationFee",
				"InsuranceTerm", "Insurance", "ReinsuranceDeposit",
				"FinanceAmt", "FinanceFC", "LackAmtPayDate",
				"LackAmtFinalPayDate", "ReceiverName", "ReceiverID",   
				"ReceiverTel", "Insurer","authoriate" };
		String[] mapValue = new String[] { "工程机械有限公司", "工程机械有限公司",
				"六桥车", "xxx52E(6)", "2", "风冷", "V09660ffff", "300.00",
				"600.00", "陆万元整", "7", "100", "2000年8月31日", "60", "5", "3",
				"10", "6", "10", "5", "10", "21", "540", "10", "2000年8月31日",
				"2000年8月31日", "xxx", "430111199910102121", "13800138200", "xxxxx","bboss" };
		String hetongbianhao = "20121222";
	    String wordtemplate = "/opt/tomcat/wordpdf/anjie.doc";
	    String pdfpath = "/opt/tomcat/test/anjieswftools_" + hetongbianhao + ".pdf";
	    String wordfile = "/opt/tomcat/test/anjie_testswftools" + hetongbianhao + ".doc";
	    String toswfpath = "/opt/tomcat/test/contractswftools_" + hetongbianhao + ".swf";

		String officeHome = "/opt/LibreOffice 3.6/";
		File f = new File(toswfpath);
		if(!f.exists())
		{

			FileConvertor.init( officeHome);
						
			FileConvertor.getRealWordByOpenoffice(wordtemplate, wordfile,bookMarks, bookdatas);
			FileConvertor.wordToPDFByOpenOffice(wordfile, pdfpath);
			FileConvertor.swftoolsConvert(swftoolWorkDir, pdfpath, toswfpath);
			
		}		
		FileBlob fileblob = new FileBlob(toswfpath,FileBlob.DOWNLOAD);
		return fileblob;
		
		

	}	

实例二,结合wordpdfswf插件生成swf文件并在界面上展示
public @ResponseBody FileBlob getSWFTemp() throws Exception  {
		System.out.println("--------------程序执行到此处------------------");
		String[] bookMarks = new String[] { "DealerName", "Name", "CgName",
				"TypeName", "OrderQty", "CoolCode", "ChassisCode", "CustPrice",
				"CustAmt", "sumall", "EarnestPayDays", "EarnestAmt",
				"StageDate", "FirstAmt", "DepositPercent", "Deposit",
				"ServiceChargePercent", "ServiceCharge", "NotarizationFee",
				"InsuranceTerm", "Insurance", "ReinsuranceDeposit",
				"FinanceAmt", "FinanceFC", "LackAmtPayDate",
				"LackAmtFinalPayDate", "ReceiverName", "ReceiverID",   
				"ReceiverTel", "Insurer","authoriate" };
		String[] mapValue = new String[] { "工程机械有限公司", "工程机械有限公司",
				"六桥车", "xxx", "2", "风冷", "V09660", "300.00",
				"600.00", "陆万元整", "7", "100", "2000年8月31日", "60", "5", "3",
				"10", "6", "10", "5", "10", "21", "540", "10", "2000年8月31日",
				"2000年8月31日", "xxx", "430111199910102121", "13800138200", "xxx","bboss" };
		String hetongbianhao = "20121222";
	    String wordtemplate = "/opt/tomcat/wordpdf/anjie.doc";
	    String pdfpath = "/opt/tomcat/test/anjieswftools_" + hetongbianhao + ".pdf";
	    String wordfile = "/opt/tomcat/test/anjie_testswftools" + hetongbianhao + ".doc";
	    String toswfpath = "/opt/tomcat/test/contractswftools_" + hetongbianhao + ".swf";

		String officeHome = "/opt/LibreOffice 3.6/";
		File f = new File(toswfpath);
		if(!f.exists())
		{

			FileConvertor.init( officeHome);
						
			FileConvertor.getRealWordByOpenoffice(wordtemplate, wordfile,bookMarks, bookdatas);
			FileConvertor.wordToPDFByOpenOffice(wordfile, pdfpath);
			FileConvertor.swftoolsConvert(swftoolWorkDir, pdfpath, toswfpath);
			
		}		
		FileBlob fileblob = new FileBlob(toswfpath,FileBlob.BROWSER);
		return fileblob;
		

	}

注意我们这里使用了bboss 的word转pdf、swf插件FileConvertor
我们看看怎样通过FlashPlayer来展示生成的swf文件:
<%@ page contentType="text/html; charset=utf-8"%>
<html>
<head>
<title></title>
</head>
<body marginwidth="0" marginheight="0">
	
<embed height="100%" width="100%" name="plugin" src="getSWFTemp.page"
				type="application/x-shockwave-flash">
</body>
</html>

其中的src="getSWFTemp.page"就对应实例三中的控制器方法。
目录
相关文章
|
算法 Java 数据安全/隐私保护
|
3月前
|
JavaScript
文档工具GitBook使用指南
这篇博客提供了GitBook的安装和使用指南,包括如何在本地安装Node.js和GitBook、初始化GitBook项目、生成HTML和电子书格式(PDF、mobi)的文档,以及推荐的相关阅读资源。
74 8
文档工具GitBook使用指南
|
应用服务中间件 Linux PHP
PhalApi 2.x 开发文档 下载与安装
PhalApi 2.x 与PhalApi 1.x 系列一样,要求PHP >= 5.3.3。
|
Java 数据安全/隐私保护 UED
java项目中利用OpenOffice实现预览
openoffice实现预览还是相对简单的,但是也需要注意一些事项,看了一些贴,有的没有提示这些,就一起说说。
1206 0
IntelliJ 中离线包方式安装 Cloud Toolkit
因 JetBrains 插件市场官方服务器在海外,如遇访问缓慢无法下载安装的,请加入文末交流群,向 Cloud Toolkit 产品运营获取离线包安装。 确保 IntelliJ 在 2018.1 或更高版本 第 1 步:打开 Intellij 的 Settings ( Windows下 ) 或 P...
8685 8
|
NoSQL Redis Docker
RedisManager使用手册(五)-- 自定义Redis安装包
RedisManager物理机安装包的构建和Docker镜像的构建
1723 0
|
存储 Shell 容器
Helm 用户指南-系列(6)-插件指南
插件指南 Helm 2.1.0引入了客户端Helm 插件plugin的概念。插件是一种可以通过helm CLI 访问的工具,但它不是内置Helm代码库的一部分。 现有的插件可以在相关部分related找到或者通过搜索Github。
1794 0
|
自然语言处理 测试技术
Wix 安装部署教程(十六) -- 自动生成多语言文件
原文:Wix 安装部署教程(十六) -- 自动生成多语言文件      因为持续集成需要,所有项目编译完之后生成一个多语言的安装包。之前生成mst文件都是手动操作,而且mst文件必须每次重新和新的安装包“关联”,否则中文的安装包去调用英文的资源的时候就会报类似于“类型转换失败”的错误。
1305 0