`

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

阅读更多

 word,excel,jpeg 转 pdf

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

 

 

[java] view plain copy
 
  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. }  
分享到:
评论

相关推荐

    java利用openoffice,把word,execl,ppt转成图片,

    Entry.java这个类的原理是先通过OfficeToPDF.java把文档转成pdf,然后再通过Pdf2Jpg.java这个类把PDF转成JPG或者PNG,想转成什么格式图片在Pdf2Jpg.java这个类当中设置一下,代码经过测试,完全没有问题,如果碰到...

    利用Aspose对word,ppt,pdf转换图片

    Aspose是一款强大的文件处理工具,尤其在C#编程环境中,它提供了一系列的API,使得开发者可以轻松地处理各种文档格式,如Word(.docx),PowerPoint(.pptx),PDF等。本教程将深入探讨如何利用Aspose将这些文档转换...

    word转pdf,pdf转jpg.zip

    本教程将详细介绍如何使用Java库Jacob实现Word到PDF以及PDF到JPG的转换,并且提到了WPS软件作为系统必备条件。 1. **WPS软件介绍** WPS Office是一款由金山软件开发的办公软件套装,它支持多种文档格式,包括Word...

    帆软报表导出各种格式(excel/word/pdf等)

    在本主题中,我们将探讨如何使用帆软报表导出各种格式,包括Excel、Word和PDF等,以便满足不同场景下的需求。 首先,我们要知道帆软报表的导出功能依赖于两个核心的Java类库:fr-server-6.5.jar和fr-third-6.5.jar...

    Java通过OpenOffice将word、ppt、excel、图片、txt文档转换成PDF-附件资源

    Java通过OpenOffice将word、ppt、excel、图片、txt文档转换成PDF-附件资源

    图片、Word、PDF转换工具.zip

    6. 转换工具的实现:转换工具一般采用编程语言如C++、Java或Python开发,它们使用文件解析库来读取各种格式的文件,并使用PDF库(如PDFlib、iText或PDFsharp)来创建PDF。在转换过程中,工具可能会使用多线程技术来...

    aspose转pdf所有jar包.rar

    Aspose 是一个强大的Java库,它允许开发人员在多种格式之间进行文件操作,包括将Excel、Word、PowerPoint和图像转换为PDF格式。这个压缩包"aspose转pdf所有jar包.rar"包含了处理这些转换所需的全部Java档案(JAR文件...

    Spire.Pdf.jar

    1. **创建PDF**:可以从HTML、文本、图像、Word、Excel等格式创建PDF文件。 2. **编辑PDF**:可以添加、删除、移动页面,修改文本、图像、链接等元素。 3. **格式转换**:除了PDF到IMG,还支持PDF到HTML、DOC、XLS、...

    图片和office转PDF 和NTKO_OFFICE

    标题中的“图片和Office转PDF”指的是将图像文件(如.jpg、.png等)和Microsoft Office文档(如.doc、.docx、.ppt、.pptx、.xls、.xlsx等)转换为Portable Document Format(PDF)文件的过程。PDF文件格式因其跨平台...

    Java编写多个爬虫实例

    SearchWord 包含对Word和EXCEL、PPT文件的处理 VApplet和vid2jpg JMF示例 pageSim 计算网页相似度 SST 计算网站风格树 cobra 基于视觉的网页分块算法 HTIS HTIS算法 PageRank PageRank算法 Link 链接 WebGraph Web图...

    pdf2any_Setup_1.0.0.0.exe,pdf直接点击使用,终身免费

    直接点击使用,不用破解,不用付费,免费pdf转word,jpg,ppt,excel,省去vip会员费,资源共享,欢迎大家下载使用,希望为您省去大量的费用,时间

    aspose.zip

    3. **aspose.slides.jar**:针对PowerPoint文档,aspose.slides提供了幻灯片管理、动画效果、图形操作、文本处理等功能,可以实现PPT到PDF的转换。 4. **aspose.pdf.jar**:该库专注于PDF文档的处理,可以创建新的...

    fileView-4.3.0.zip

    支持word excel ppt,pdf等办公文档 支持txt,java,php,py,md,js,css等所有纯文本 支持zip,rar,jar,tar,gzip等压缩包 支持jpg,jpeg,png,gif等图片预览(翻转,缩放,镜像) 支持mp3,mp4,flv等多媒体文件预览 ...

    PrintUtil:java print util,used jacob and pdfbox java调用打印机打印的工具类,用到了jacob和pdfbox

    打印实用程序java print util,使用的jacob和pdfbox java调用打印机打印的工具类,用到了jacob和pdfbox您可以使用打印机简化png,jpg,pdf,word,excel,ppt的打印。 如果该实用程序广受欢迎,我将在近期将中文注释...

    office文档在线预览插件

    支持word excel ppt,pdf等办公文档 支持txt,java,php,py,md,js,css等所有纯文本 支持zip,rar,jar,tar,gzip等压缩包 支持jpg,jpeg,png,gif等图片预览(翻转,缩放,镜像) 支持mp3,mp4,flv等多媒体文件预览...

    HTML input file控件限制上传文件类型_动力节点Java学院整理

    然而,在某些场景下,我们可能希望限制用户只能选择特定类型的文件,例如Word文档、Excel表格或PDF文件。这可以通过设置`accept`属性来实现。 在HTML代码中,我们可以这样修改`<input type="file">`控件: ```html...

    文章附件 jdassd/article/details/127675396

    【标签】"aspose" 是一个关键信息,Aspose是一个广泛使用的Java库,它提供了处理多种文档格式的能力,如Word(.docx)、Excel(.xlsx)、PowerPoint(.pptx)、PDF、图像等。Aspose-Slides是Aspose产品家族中的一员...

    常用文件格式一览表 (3).pdf

    4. **文档文件(.doc, .ppt, .xls, .wps)**:.doc是Microsoft Word的文档,.ppt是PowerPoint演示文稿,.xls是Excel电子表格,.wps则是金山WPS办公软件的文件格式,分别对应这些应用程序打开。 5. **文本文件(.txt...

    计算机基础知识大赛考题.pdf

    文件格式知识点包括EXCEL、DOC、TXT、PDF、DHTML、RTF、BMP、GIF、WMF、TIF、AVI、3DS、MP3、VOC、JPG、MPEG、BMP、GIF、WMF、TIF、AVI、3DS、MP3、VOC、JPG、MPEG等,涵盖了办公、图形、音频和视频等多种类型的文件...

Global site tag (gtag.js) - Google Analytics