java实现word,ppt,excel,jpg转pdf_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > java实现word,ppt,excel,jpg转pdf

java实现word,ppt,excel,jpg转pdf

 2017/6/25 5:32:22  110shen110  程序员俱乐部  我要评论(0)
  • 摘要:word,excel,jpeg转pdf首先下载相关jar包:http://download.csdn.net/detail/xu281828044/6922499[java]viewplaincopyimportjava.io.File;importjava.io.FileOutputStream;importjava.io.IOException;importcom.jacob.activeX.ActiveXComponent;importcom.jacob.com.Dispatch
  • 标签:ppt excel 实现 Java

?word,excel,jpeg 转 pdf

首先下载相关jar包:http://download.csdn.net/detail/xu281828044/6922499

?

?

[java]?view plain?copy ?
    class="dp-j" style="border: none; color: #5c5c5c; margin-bottom: 1px !important; margin-left: 45px !important; background-color: #ffffff;">
  1. import?java.io.File;??
  2. import?java.io.FileOutputStream;??
  3. import?java.io.IOException;??
  4. ??
  5. import?com.jacob.activeX.ActiveXComponent;??
  6. import?com.jacob.com.Dispatch;??
  7. import?com.jacob.com.Variant;??
  8. import?com.lowagie.text.Document;??
  9. import?com.lowagie.text.DocumentException;??
  10. import?com.lowagie.text.Image;??
  11. import?com.lowagie.text.PageSize;??
  12. import?com.lowagie.text.pdf.PdfWriter;??
  13. ??
  14. public?class?Word2Pdf?{??
  15. ??
  16. ?static?final?int?wdDoNotSaveChanges?=?0;//?不保存待定的更改。??
  17. ?static?final?int?wdFormatPDF?=?17;//?word转PDF?格式??
  18. ?static?final?int?ppSaveAsPDF?=?32;//?ppt?转PDF?格式??
  19. ??
  20. ?public?static?void?main(String[]?args)?throws?IOException?{??
  21. ??String?source1?=?"e:\\test.doc";??
  22. ??String?source2?=?"e:\\asd.xlsx";??
  23. ??String?source3?=?"e:\\aa.ppt";??
  24. ??String?target1?=?"e:\\test1.pdf";??
  25. ??String?target2?=?"e:\\test2.pdf";??
  26. ??String?target3?=?"e:\\test3.pdf";??
  27. ????
  28. ??Word2Pdf?pdf?=?new?Word2Pdf();??
  29. //??pdf.word2pdf(source1,?target1);??
  30. //??pdf.excel2pdf(source2,?target2);??
  31. //??pdf.ppt2pdf(source3,?target3);??
  32. //??pdf.imgToPdf("e:/12345.jpg","e:/xu.pdf");??
  33. ?}??
  34. ??
  35. ?public?void?word2pdf(String?source,String?target){??
  36. ??System.out.println("启动Word");??
  37. ??long?start?=?System.currentTimeMillis();??
  38. ??ActiveXComponent?app?=?null;??
  39. ??try?{??
  40. ???app?=?new?ActiveXComponent("Word.Application");??
  41. ???app.setProperty("Visible",?false);??
  42. ??
  43. ???Dispatch?docs?=?app.getProperty("Documents").toDispatch();??
  44. ???System.out.println("打开文档"?+?source);??
  45. ???Dispatch?doc?=?Dispatch.call(docs,//??
  46. ?????"Open",?//??
  47. ?????source,//?FileName??
  48. ?????false,//?ConfirmConversions??
  49. ?????true?//?ReadOnly??
  50. ?????).toDispatch();??
  51. ??
  52. ???System.out.println("转换文档到PDF?"?+?target);??
  53. ???File?tofile?=?new?File(target);??
  54. ???if?(tofile.exists())?{??
  55. ????tofile.delete();??
  56. ???}??
  57. ???Dispatch.call(doc,//??
  58. ?????"SaveAs",?//??
  59. ?????target,?//?FileName??
  60. ?????wdFormatPDF);??
  61. ??
  62. ???Dispatch.call(doc,?"Close",?false);??
  63. ???long?end?=?System.currentTimeMillis();??
  64. ???System.out.println("转换完成..用时:"?+?(end?-?start)?+?"ms.");??
  65. ??}?catch?(Exception?e)?{??
  66. ???System.out.println("========Error:文档转换失败:"?+?e.getMessage());??
  67. ??}?finally?{??
  68. ???if?(app?!=?null)??
  69. ????app.invoke("Quit",?wdDoNotSaveChanges);??
  70. ??}??
  71. ?}??
  72. ??
  73. ?public?void?ppt2pdf(String?source,String?target){??
  74. ??System.out.println("启动PPT");??
  75. ??long?start?=?System.currentTimeMillis();??
  76. ??ActiveXComponent?app?=?null;??
  77. ??try?{??
  78. ???app?=?new?ActiveXComponent("Powerpoint.Application");??
  79. ???Dispatch?presentations?=?app.getProperty("Presentations").toDispatch();??
  80. ???System.out.println("打开文档"?+?source);??
  81. ???Dispatch?presentation?=?Dispatch.call(presentations,//??
  82. ?????"Open",???
  83. ?????source,//?FileName??
  84. ?????true,//?ReadOnly??
  85. ?????true,//?Untitled?指定文件是否有标题。??
  86. ?????false?//?WithWindow?指定文件是否可见。??
  87. ?????).toDispatch();??
  88. ??
  89. ???System.out.println("转换文档到PDF?"?+?target);??
  90. ???File?tofile?=?new?File(target);??
  91. ???if?(tofile.exists())?{??
  92. ????tofile.delete();??
  93. ???}??
  94. ???Dispatch.call(presentation,//??
  95. ?????"SaveAs",?//??
  96. ?????target,?//?FileName??
  97. ?????ppSaveAsPDF);??
  98. ??
  99. ???Dispatch.call(presentation,?"Close");??
  100. ???long?end?=?System.currentTimeMillis();??
  101. ???System.out.println("转换完成..用时:"?+?(end?-?start)?+?"ms.");??
  102. ??}?catch?(Exception?e)?{??
  103. ???System.out.println("========Error:文档转换失败:"?+?e.getMessage());??
  104. ??}?finally?{??
  105. ???if?(app?!=?null)?app.invoke("Quit");??
  106. ??}??
  107. ?}??
  108. ??
  109. ?public?void?excel2pdf(String?source,?String?target)?{??
  110. ??????System.out.println("启动Excel");??
  111. ??????long?start?=?System.currentTimeMillis();??
  112. ??????ActiveXComponent?app?=?new?ActiveXComponent("Excel.Application");?//?启动excel(Excel.Application)??
  113. ??????try?{??
  114. ??????app.setProperty("Visible",?false);??
  115. ??????Dispatch?workbooks?=?app.getProperty("Workbooks").toDispatch();??
  116. ??????System.out.println("打开文档"?+?source);??
  117. ??????Dispatch?workbook?=?Dispatch.invoke(workbooks,?"Open",?Dispatch.Method,?new?Object[]{source,?new?Variant(false),new?Variant(false)},?new?int[3]).toDispatch();??
  118. ??????Dispatch.invoke(workbook,?"SaveAs",?Dispatch.Method,?new?Object[]?{??
  119. ??????target,?new?Variant(57),?new?Variant(false),??
  120. ??????new?Variant(57),?new?Variant(57),?new?Variant(false),??
  121. ??????new?Variant(true),?new?Variant(57),?new?Variant(true),??
  122. ??????new?Variant(true),?new?Variant(true)?},?new?int[1]);??
  123. ??????Variant?f?=?new?Variant(false);??
  124. ??????System.out.println("转换文档到PDF?"?+?target);??
  125. ??????Dispatch.call(workbook,?"Close",?f);??
  126. ??????long?end?=?System.currentTimeMillis();??
  127. ??????System.out.println("转换完成..用时:"?+?(end?-?start)?+?"ms.");??
  128. ??????}?catch?(Exception?e)?{??
  129. ???????System.out.println("========Error:文档转换失败:"?+?e.getMessage());??
  130. ??????}finally?{??
  131. ???????if?(app?!=?null){??
  132. ????????app.invoke("Quit",?new?Variant[]?{});??
  133. ???????}??
  134. ??????}??
  135. ?}??
  136. ???
  137. ???
  138. ???
  139. ?public?boolean?imgToPdf(String?imgFilePath,?String?pdfFilePath)throws?IOException?{??
  140. ?????File?file=new?File(imgFilePath);??
  141. ?????if(file.exists()){??
  142. ?????Document?document?=?new?Document();??
  143. ?????FileOutputStream?fos?=?null;??
  144. ?????try?{??
  145. ?????fos?=?new?FileOutputStream(pdfFilePath);??
  146. ?????PdfWriter.getInstance(document,?fos);??
  147. ??
  148. ?????//?添加PDF文档的某些信息,比如作者,主题等等??
  149. ?????document.addAuthor("arui");??
  150. ?????document.addSubject("test?pdf.");??
  151. ?????//?设置文档的大小??
  152. ?????document.setPageSize(PageSize.A4);??
  153. ?????//?打开文档??
  154. ?????document.open();??
  155. ?????//?写入一段文字??
  156. ?????//document.add(new?Paragraph("JUST?TEST?..."));??
  157. ?????//?读取一个图片??
  158. ?????Image?image?=?Image.getInstance(imgFilePath);??
  159. ?????float?imageHeight=image.getScaledHeight();??
  160. ?????float?imageWidth=image.getScaledWidth();??
  161. ?????int?i=0;??
  162. ?????while(imageHeight>500||imageWidth>500){??
  163. ?????image.scalePercent(100-i);??
  164. ?????i++;??
  165. ?????imageHeight=image.getScaledHeight();??
  166. ?????imageWidth=image.getScaledWidth();??
  167. ?????System.out.println("imageHeight->"+imageHeight);??
  168. ?????System.out.println("imageWidth->"+imageWidth);??
  169. ?????}??
  170. ??
  171. ?????image.setAlignment(Image.ALIGN_CENTER);???
  172. //????????//设置图片的绝对位置??
  173. ?????//?image.setAbsolutePosition(0,?0);??
  174. ?????//?image.scaleAbsolute(500,?400);??
  175. ?????//?插入一个图片??
  176. ?????document.add(image);??
  177. ?????}?catch?(DocumentException?de)?{??
  178. ?????System.out.println(de.getMessage());??
  179. ?????}?catch?(IOException?ioe)?{??
  180. ?????System.out.println(ioe.getMessage());??
  181. ?????}??
  182. ?????document.close();??
  183. ?????fos.flush();??
  184. ?????fos.close();??
  185. ?????return?true;??
  186. ?????}else{??
  187. ?????return?false;??
  188. ?????}??
  189. ?????}??
  190. }??
发表评论
用户名: 匿名