1. 程式人生 > >Java Word轉PDF

Java Word轉PDF

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;

import org.docx4j.convert.out.pdf.viaXSLFO.PdfSettings;
import org.docx4j.fonts.IdentityPlusMapper;
import org.docx4j.fonts.Mapper;
import org.docx4j.fonts.PhysicalFont;
import org.docx4j.fonts.PhysicalFonts;
import org.docx4j.openpackaging.packages.WordprocessingMLPackage;

public class Word2Pdf {
    public static void main(String[] args) {
        try {

            long start = System.currentTimeMillis();

            InputStream is = new FileInputStream(
                    new File("D:\\toPDF.docx"));
            WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage
                    .load(is);
            List sections = wordMLPackage.getDocumentModel().getSections();
            for (int i = 0; i < sections.size(); i++) {

                System.out.println("sections Size" + sections.size());
                wordMLPackage.getDocumentModel().getSections().get(i)
                        .getPageDimensions().setHeaderExtent(3000);
            }
            Mapper fontMapper = new IdentityPlusMapper();

            PhysicalFont font = PhysicalFonts.getPhysicalFonts().get(
                    "Comic Sans MS");

            fontMapper.getFontMappings().put("Algerian", font);

            wordMLPackage.setFontMapper(fontMapper);
            PdfSettings pdfSettings = new PdfSettings();
            org.docx4j.convert.out.pdf.PdfConversion conversion = new org.docx4j.convert.out.pdf.viaXSLFO.Conversion(
                    wordMLPackage);

            OutputStream out = new FileOutputStream(new File(
                    "D:\\toPDF.pdf"));
            conversion.output(out, pdfSettings);
            System.err.println("Time taken to Generate pdf  "
                    + (System.currentTimeMillis() - start) + "ms");

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}


相關推薦

java wordpdf的幾種方法

轉載:https://blog.csdn.net/qwert678000/article/details/72770109 最近公司需要以word為模版,填充資料,然後轉成pdf。做了一點點研究 1.使用xdocreport進行轉(優點效率高,缺點對word格式要求較大,適合對生成pdf要求

Java WordPDF

import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.

java WordPDF

java中呼叫 import java.io.File; import java.io.IOException; import com.hg.xdoc.XDocService; /** * XDocService呼叫示例 * @author xdoc */ p

JAVA-WordPDF各種版本實現方式

    當下做一個專案,就是各種操作office,客戶的需求總是各種不按常理,來需求就得搞啊.對JAVA操作office這方面真是頭大,弟弟是真滴不懂不會啊。無奈只好試啊試的。網上一大堆好使的,一大堆不好使的。整了一大堆word轉PDF的方法。但是客戶要求有水印,又不想花錢。

[轉載]java實現wordpdf

write 方法 class toolbar servlet 效果 app 文檔 實現  最近遇到一個項目需要把word 轉成pdf,百度了一下網上的方案有很多,比如虛擬打印、給word 裝擴展插件等,這些方案都依賴於ms word 程序,在java代碼中也得使用諸如jac

Java檔案上傳資料庫(並儲存本地)、wordpdf並進行頁面預覽

對於頁面預覽用到了OpenOffice附件: 官方的下載地址:Apache OpenOffice 選擇windows版本安裝完成後,在cmd中執行下面兩個命令,檢視工作管理員中是否有soffice.bin的程序。(用到OpenOffice,必須保證工作管理員中有

【優化版】Java檔案上傳資料庫(並儲存本地)、wordpdf並進行頁面預覽

上一篇檔案上傳【點選跳轉】,是將路徑等檔案資訊存進log_file臨時表,內容二進位制存入資料庫Test表,這種邏輯是在呼叫資料庫表Test內容展示時,判斷檔案為word(轉換成pdf)還是pdf(直接展示)。 上一篇連結:連結地址。 下面進一步優化: 具體邏輯

Java 處理wordpdf

直接上程式碼,採用aspose word轉化,方法類如下 ,文末又相關程式碼以及工具破解包 package com.myhexin.ifs.utils; import java.io.File; import java.io.FileOutputStream; import

Java實現WordPDF方案選擇

Java實現Word轉PDF方案選擇       很多應用場景中都會涉及到Word轉PDF,但Word轉PDF的方案在網上一搜一大把,讓人眼花繚亂,筆者踩過無數的坑後,最終總結出以下三種方案 OpenOffice實現

java語言通過Aspose元件 實現wordpdf、png、html..

    :使用Aspose元件可以實現word向DOC, DOCX, OOXML, RTF HTML,OpenDocument, PDF,EPUB, XPS, SWF 轉換 由於基本方法都一樣,在此我只展示word轉pdf的功能      前期準備: MyEcl

java 實現word PDF (採用第三方技術 IText、Poi、Jsoup)

    先講講思路:                        第一步:使用 poi 將word轉換成 html,這裡程式碼一搜一堆沒什麼好說的,千篇一律。                         (值得注意的地方是IText 根據html生成pdf檔案的時候

WordPDFJava實現)

目前在做一個與文件有關的專案,網上看到的都是利用OpenOffice來轉化word為pdf的,其實侷限性很大,下載那麼大一個軟體,卻只是為了它的服務。所以決定找一下有沒有別的方法,終於遇到了docx4j這個神一樣的JAR包,完美解決了我的問題!不說了,直接上程式

java程式碼實現wordPDF

本次實現是用openoffice的外掛實現的 jar包: commons-io-1.4.jar jodconverter-2.2.1.jar juh.jar jurt.jar ridl-3.2.1.jar slf4j-api-1.7.7.jar unoil.jar 以上ja

java實現wordpdf第二種方法

import java.io.FileInputStream;   import java.io.FileOutputStream;   import java.io.InputStream;   import java.io.OutputStream;   import java.util.HashMap;

Java語言實現wordPDF(10分鐘解決)

前言: 經常做OA辦公專案的同學一定和我一樣被各種線上的office操作整瘋了。基本上涉及到Java操作office的時候就會想到POI和openoffice.這兩種方案都是需要找各種jar包,然後用裡面繁雜的api。關鍵是做出來的檔案格式有各種各樣的問題,有時生成的檔案打

java實現wordpdf

網上有很多word轉pdf的工具和程式碼,比如:poi, itext, jacob, openoffice, xdocreport等等 我記得還有日本一個開源工具word轉pdf。 今天說說我自己專

java+jacob實現wordpdf(通過呼叫模板檔案)

package com.repair.util.pub; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileInputStream

java docpdf

apach ora 方案 point new open throws c# fileutils 市場上主流的 WORD 轉 PDF 工具有兩個:OpenOffice 和 Microsoft Office 轉換插件,可以通過部署這兩個工具實現 WORD 轉 PDF 功能。 1

c# word pdf 導出失敗,因為此功能尚未安裝

完整版 class 如果 b- href 支持 text 還需要 lan savePDF應該是office2007以上的版本才支持的,而且必須是完整版的office。 如果2007提示這個錯誤,還需要安裝一個插件 http://download.microsof

快速將WordPDF技巧,讓你一看就會

圖標 get lan bsp 來吧 ref 安裝軟件 怎麽 img 關於Word轉PDF這個問題,在日常辦公中,我們還是比較經常遇到的,有的時候著急轉換文件,但是電腦上沒有軟件怎麽辦?有不需要安裝軟件就直接解決Word轉PDF這個問題辦法嗎? 答案是有的,今天就為大家介紹