当前位置: 首页 > news >正文

网站建设的主要职责网易163企业邮箱官网

网站建设的主要职责,网易163企业邮箱官网,wordpress 3.9 上传,刘娇娇做网站骗钱的java OpenOffice officetopdf最近项目需要实现下载Office文档时自动转成PDF文档#xff0c;以下代码支持2003及2007版的Word,PPT,Excel转换#xff0c;并支持自定义添加水印、页眉、页脚实现需要事先安装OpenOffice(我这里安装的是OpenOffice 4)OpenOffice 下载#xff1a; …java OpenOffice officetopdf最近项目需要实现下载Office文档时自动转成PDF文档以下代码支持2003及2007版的Word,PPT,Excel转换并支持自定义添加水印、页眉、页脚实现需要事先安装OpenOffice(我这里安装的是OpenOffice 4)OpenOffice 下载 http://www.openoffice.org/JodConverter 下载地址 http://sourceforge.net/projects/jodconverter/files/JODConverter需要代码正常运行还需要其他Jar包(见附件)Java代码/*** filename: OfficeToPdf.java* package: common* description: OfficeToPdf* author: lsq* date: 2015年10月14日 下午5:25:32* version: V1.0**/package officetopdf;import java.awt.Color;import java.io.File;import java.io.FileOutputStream;import java.util.regex.Pattern;import org.apache.commons.io.FileUtils;import org.artofsolving.jodconverter.OfficeDocumentConverter;import org.artofsolving.jodconverter.office.DefaultOfficeManagerConfiguration;import org.artofsolving.jodconverter.office.OfficeManager;import com.lowagie.text.Document;import com.lowagie.text.Element;import com.lowagie.text.Font;import com.lowagie.text.Phrase;import com.lowagie.text.pdf.BaseFont;import com.lowagie.text.pdf.ColumnText;import com.lowagie.text.pdf.PdfContentByte;import com.lowagie.text.pdf.PdfCopy;import com.lowagie.text.pdf.PdfCopy.PageStamp;import com.lowagie.text.pdf.PdfImportedPage;import com.lowagie.text.pdf.PdfReader;/*** className: OfficeToPdf* description: OfficeToPdf* author: lsq* date: 2015年10月14日 下午5:25:32*/public class OfficeToPdf {public static void main(String[] args) {String inputFilePath F://officeToPdf/WordToPdf测试.docx;//String inputFilePath F://officeToPdf/pptToPdf测试.pptx;//String inputFilePath F://officeToPdf/xlsxToPdf测试.xlsx;String outputFilePath getOutputFilePath(inputFilePath);//Office转换成PdfOfficeToPdf.office2pdf(inputFilePath,outputFilePath);//添加水印、页眉、页脚addFooterAndWater(F://officeToPdf//WordToPdf测试.pdf, F://officeToPdf//WordToPdf测试2.pdf, WordToPdf水印严禁复制, WordToPdf页眉, WordToPdf页脚);}/*** 将Office文档转换为PDF. 需要安装OpenOffice** param inputFilePath* 源文件,绝对路径. 可以是Office2003-2007全部格式的文档, 包括.doc, .docx, .xls, .xlsx, .ppt, .pptx等.** param outputFilePath* 目标文件.绝对路径.*/public static void office2pdf(String inputFilePath,String outputFilePath) {DefaultOfficeManagerConfiguration config new DefaultOfficeManagerConfiguration();String officeHome getOfficeHome();//设置OpenOffice.org安装目录config.setOfficeHome(officeHome);//设置转换端口默认为8100//config.setPortNumbers(8100);//设置任务执行超时为60分钟config.setTaskExecutionTimeout(1000 * 60 * 60L);//设置任务队列超时为24小时config.setTaskQueueTimeout(1000 * 60 * 60 * 24L);OfficeManager officeManager config.buildOfficeManager();officeManager.start();System.out.println(office转换服务启动成功!);OfficeDocumentConverter converter new OfficeDocumentConverter(officeManager);File inputFile new File(inputFilePath);if (inputFile.exists()) {// 找不到源文件, 则返回File outputFile new File(outputFilePath);if (!outputFile.getParentFile().exists()) { // 假如目标路径不存在, 则新建该路径outputFile.getParentFile().mkdirs();}converter.convert(inputFile, outputFile);}if (null ! officeManager){officeManager.stop();System.out.println(office转换服务完成。);}}/*** 根据源文件路径获取PDF文件路径* param inputFilePath* return*/public static String getOutputFilePath(String inputFilePath) {String outputFilePath ;String temp inputFilePath.substring(inputFilePath.lastIndexOf(.)) ;outputFilePath inputFilePath.replaceAll(temp, .pdf);return outputFilePath;}/*** 获取OpenOffice安装目录* return*/public static String getOfficeHome() {String osName System.getProperty(os.name);if (Pattern.matches(Linux.*, osName)) {return /opt/openoffice.org3;} else if (Pattern.matches(Windows.*, osName)) {return E:/software/OpenOffice 4;} else if (Pattern.matches(Mac.*, osName)) {return /Application/OpenOffice.org.app/Contents;}return null;}/*** 添加水印、页眉、页脚* param fileName 源文件路径* param savepath 目标文件路径* param waterMarkName 文字水印* param pageHeade 页眉* param foot 页脚* return*/public static int addFooterAndWater(String fileName, String savepath,String waterMarkName, String pageHeade, String foot){// 文档总页数int num 0;Document document new Document();try{PdfReader reader new PdfReader(fileName);BaseFont base BaseFont.createFont(STSong-Light, UniGB-UCS2-H,BaseFont.EMBEDDED);num reader.getNumberOfPages();PdfCopy copy new PdfCopy(document, new FileOutputStream(savepath));document.open();for (int i 0; i num;){PdfImportedPage page copy.getImportedPage(reader, i);PageStamp stamp copy.createPageStamp(page);Font f new Font(base);// 添加页脚左侧文字右侧页码ColumnText.showTextAligned(stamp.getUnderContent(),Element.ALIGN_RIGHT,new Phrase(String.format(第 %d 页/共 %d 页, i, num), f),550f, 28, 0);ColumnText.showTextAligned(stamp.getUnderContent(),Element.ALIGN_LEFT, new Phrase(foot, f), 50f, 28, 0);// 添加页眉 (文字页眉居中)ColumnText.showTextAligned(stamp.getUnderContent(),Element.ALIGN_CENTER, new Phrase(pageHeade, f), 150f,800, 0);// 页眉添加logo (图片页眉居右)/*Image img Image.getInstance(template/logo.png);// 选择图片img.setAlignment(1);img.scaleAbsolute(436 / 5, 96 / 5);// 控制图片大小img.setAbsolutePosition(450f, 800);// 控制图片位置stamp.getUnderContent().addImage(img);*/// 添加水印PdfContentByte under stamp.getUnderContent();under.beginText();under.setColorFill(Color.LIGHT_GRAY);// 字符越长字体越小设置字体int fontSize getFontSize(waterMarkName);under.setFontAndSize(base, fontSize);// 设置水印文字字体倾斜 开始float pageWidth reader.getPageSize(i).getWidth();float pageHeight reader.getPageSize(i).getHeight();under.showTextAligned(Element.ALIGN_CENTER, waterMarkName,pageWidth / 2, pageHeight / 2, 60);// 水印文字成60度角倾斜,且页面居中展示// 字体设置结束under.endText();stamp.alterContents();copy.addPage(page);}}catch (Exception e){e.printStackTrace();return -1;}finally{if (null ! document){document.close();}}System.out.println(pdf totalpages: num);return num;}/*** 根据水印文字长度计算获取字体大小* param waterMarkName* return*/private static int getFontSize(String waterMarkName){int fontSize 80;if(null ! waterMarkName !.equals(waterMarkName)){int length waterMarkName.length();if(length 26 length 18){fontSize 26;}else if(length 18 length 8){fontSize 40;}else if(length 8 length 1){fontSize 80;}else {fontSize 16;}}return fontSize;}}
http://www.pierceye.com/news/290113/

相关文章:

  • 子域名做微信开放平台网站应用公司做网站需要网站维护人员吗
  • 百度游戏排行榜风云榜青岛seo关键词优化排名
  • html写手机网站备案网站负责人
  • 做网站价位西安工程建设信息中心
  • 国外购物网站建设盐城做网站的哪家公司好
  • wordpress仿站软件遵化市城乡建设规划局网站
  • 湖北大网站建设贵州住房建设厅官网查询
  • 买个网站域名要多少钱一年网站建设热门吗
  • 高埗网站建设软件开发工程师就是程序员吗
  • 青岛正一品网站建设seo搜索优化排名
  • 响应式网站制设计wordpress游戏充值
  • 怎么看网站服务器地址网络设计一个月多少钱
  • 网站友情链接模块创作网站
  • 廉江手机网站建设公司商品展示介绍网站源码
  • 网站备案更换主体ui设计素材
  • 湖南住房和建设厅网站免费的网站建设开发
  • 苏州园区建设网站首页娱乐新闻做的好的网站
  • 江苏省建设集团有限公司网站做网站的软件dw下载
  • 做网站需要学些什么软件杭州学校网站建设
  • 建设银行网上银行网站可以开通网银wordpress 种子插件
  • 一般网站图标是用什么做的网件路由器无线中继
  • 手机 网站 开发淘宝店铺网站策划书
  • 网站建设规划方案书滨州网站建设 中企动力
  • 网站建设品牌推荐做网站必须要公网ip
  • 做网站卖东西赚钱wordpress微信网站
  • 商丘网站建设有限公司店面设计费用
  • 张店学校网站建设公司合肥有哪些seo网络公司
  • 做博客网站的空间容量需要多少北京简盟产品设计有限公司
  • 哪些网站怎么进定制开发平台
  • 【郑州网站建设】wordpress自定义后台单页模板