java word转pdf 用到了aspose 1.86 破解版jar在链接下面 只提供技术分享 请支持正版

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zhpboke/article/details/90231413

接上个的博客 这里来写 word转pdf 有两种方式 第一种 是不能带图片的 下载一个jar包就能直接用了 

第一种:创建项目导入包 复制粘贴代码 ok (包在下面链接中)

这个是查看于一个csdn的博主所得 但是不满足需求 只是转换了文字段落 并没有图片和表格转换 非常有研究价值。

/** 
     * 将word文档, 转换成pdf, 中间替换掉变量 
     */  
    public static void wordConverterToPdf(InputStream source,  
            OutputStream target, Map<String, String> params) throws Exception {  
        wordConverterToPdf(source, target, null, params);      
    }  
   
    /** 
     * 将word文档, 转换成pdf, 中间替换掉变量 
     */  
    public static void wordConverterToPdf(InputStream source, OutputStream target,   
            PdfOptions options,  
            Map<String, String> params) throws Exception {  
         XWPFDocument doc = new XWPFDocument(source);  
         paragraphReplace(doc.getParagraphs(), params);  
         for (XWPFTable table : doc.getTables()) {  
           for (XWPFTableRow row : table.getRows()) {  
               for (XWPFTableCell cell : row.getTableCells()) {  
                   paragraphReplace(cell.getParagraphs(), params);  
               }  
           }  
       }  
       PdfConverter.getInstance().convert(doc, target, options);  
    }  
       
    /** 替换段落中内容 */  
    private static void paragraphReplace(List<XWPFParagraph> paragraphs, Map<String, String> params) {  
        if (MapUtils.isNotEmpty(params)) {  
            for (XWPFParagraph p : paragraphs){  
                for (XWPFRun r : p.getRuns()){  
                    String content = r.getText(r.getTextPosition());  
                    if(StringUtils.isNotEmpty(content) && params.containsKey(content)) {  
                        r.setText(params.get(content), 0);  
                    }  
                }  
            }  
        }  
    }  
       
    
    public static void main(String[] args) {
        String filepath = "D:\\新建文件夹\\我是路径.docx";  
        String outpath = "D:\\新建文件夹\\我是结果.pdf";   
           
        InputStream source;
		OutputStream target;
		try {
			source = new FileInputStream(filepath);  
			target = new FileOutputStream(outpath);
	        Map<String, String> params = new HashMap<String, String>();  
	           
	           
	        PdfOptions options = PdfOptions.create();  
	           
	        wordConverterToPdf(source, target, options, params);  
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}  
 
	}
}

第二种 使用起来非常简单 用到了aspose 我用的1.86破解版的jar 开发可以使用 上线要去买正版 

	public static void main(String[] args) throws Exception {
		doc2pdf("D:\\write.docx", "D:\\转化为的.pdf");
	}
 
	public static boolean getLicense() throws Exception {
		boolean result = false;
		try {
			//InputStream is = com.aspose.words.Document.class
			//		.getResourceAsStream("/com.aspose.words.license.xml");
			InputStream is = word2pdf.class.getClassLoader()
					.getResourceAsStream("license.xml"); // 仍src下面就行 
			License aposeLic = new License();
			aposeLic.setLicense(is);
			result = true;
			is.close();
		} catch (Exception e) {
			e.printStackTrace();
			throw e;
		}
		return result;
	}
 
	public static void doc2pdf(String inPath, String outPath) throws Exception {
		if (!getLicense()) { 
			throw new Exception("com.aspose.words lic ERROR!");
		}
 
		System.out.println(inPath + " -> " + outPath);
 
		try {
			long old = System.currentTimeMillis();
			File file = new File(outPath);
			FileOutputStream os = new FileOutputStream(file);
			Document doc = new Document(inPath); 
			doc.save(os, SaveFormat.PDF);
			long now = System.currentTimeMillis();
			System.out.println("convert OK! 花费时间" + ((now - old) / 1000.0) + "秒");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

第一种方法的jar包下载:https://download.csdn.net/download/zhpboke/11179215

第二种方法的jar包下载:https://download.csdn.net/download/zhpboke/11179327

 

展开阅读全文

没有更多推荐了,返回首页