欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Java生成PDF文檔的示例代碼

最近項(xiàng)目需要實(shí)現(xiàn)PDF下載的功能,由于沒有這方面的經(jīng)驗(yàn),從網(wǎng)上花了很長(zhǎng)時(shí)間查找了相關(guān)的資料。整理之后,發(fā)現(xiàn)有幾個(gè)框架可以實(shí)現(xiàn)這個(gè)功能。

創(chuàng)新互聯(lián)主要從事網(wǎng)頁設(shè)計(jì)、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、wap網(wǎng)站建設(shè)(手機(jī)版網(wǎng)站建設(shè))、響應(yīng)式網(wǎng)站開發(fā)、程序開發(fā)、網(wǎng)站優(yōu)化、微網(wǎng)站、成都小程序開發(fā)等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們?cè)诨ヂ?lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了豐富的網(wǎng)站建設(shè)、做網(wǎng)站、網(wǎng)站設(shè)計(jì)、網(wǎng)絡(luò)營(yíng)銷經(jīng)驗(yàn),集策劃、開發(fā)、設(shè)計(jì)、營(yíng)銷、管理等多方位專業(yè)化運(yùn)作于一體。

1. 開源框架支持

  • iText,生成PDF文檔,還支持將XML、Html文件轉(zhuǎn)化為PDF文件;
  • Apache PDFBox,生成、合并PDF文檔;
  • docx4j,生成docx文檔,支持轉(zhuǎn)換為PDF格式。

2. 實(shí)現(xiàn)方案

比較了一番后,采用了FreeMarker+docx4j+Apache PDFBox的方案:

maven依賴

    <!-- pdfbox -->
    <dependency>
      <groupId>org.apache.pdfbox</groupId>
      <artifactId>pdfbox</artifactId>
      <version>2.0.11</version>
    </dependency>
    <!-- docx4j -->
    <dependency>
      <groupId>org.docx4j</groupId>
      <artifactId>docx4j</artifactId>
      <version>3.3.7</version>
    </dependency>
    <dependency>
      <groupId>org.apache.xmlgraphics</groupId>
      <artifactId>batik-util</artifactId>
      <version>1.10</version>
    </dependency>
    <dependency>
      <groupId>org.docx4j</groupId>
      <artifactId>docx4j-export-fo</artifactId>
      <version>3.3.6</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/dom4j/dom4j -->
    <dependency>
      <groupId>dom4j</groupId>
      <artifactId>dom4j</artifactId>
      <version>1.6.1</version>
    </dependency>
    <!-- image -->
    <dependency>
      <groupId>net.coobird</groupId>
      <artifactId>thumbnailator</artifactId>
      <version>0.4.8</version>
    </dependency>
    <!-- json -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.2.47</version>
    </dependency>

步驟

1 把pdf文檔對(duì)應(yīng)的word(docx)制作出來

Java 生成PDF文檔的示例代碼

2 把word文檔另存為xml文件

Java 生成PDF文檔的示例代碼

另存為xml

3 將xml文件制作為freemarker模版(ftl)文件

Java 生成PDF文檔的示例代碼

制作模版文件

4 將數(shù)據(jù)和ftl文件組裝為xml文本

Map<String, Object> map = new HashMap<>();
map.put("name", "小明");
map.put("address", "北京市朝陽區(qū)");
map.put("email", "xiaoming@abc.com");
StringWriter stringWriter = new StringWriter();
BufferedWriter writer = new BufferedWriter(stringWriter);
template.process(map, writer);
String xmlStr = stringWriter.toString();

5 使用docx4j將xml文本加載為word文檔對(duì)象

ByteArrayInputStream in = new ByteArrayInputStream(xmlStr.getBytes());
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(in);

6 使用docx4j將word文檔轉(zhuǎn)存為pdf文檔

String outputfilepath = "/Users/xiaoming/簡(jiǎn)歷.pdf";
Docx4J.toPDF(wordMLPackage, new FileOutputStream(new File(outputfilepath)));

7 使用Apache PDFbox將多個(gè)pdf文檔合為一個(gè)

String folderName = "/Users/xiaoming/pdfs";
String destPath = "/Users/xiaoming/all.pdf";
PDFMergerUtility mergePdf = new PDFMergerUtility();
String[] filesInFolder = getFiles(folderName);
Arrays.sort(filesInFolder, new Comparator<String>() {
   @Override
   public int compare(String o1, String o2) {
     return o1.compareTo(o2);
   }
});
for (int i = 0; i < filesInFolder.length; i++) {
   mergePdf.addSource(folderName + File.separator + filesInFolder[i  ]);
}
mergePdf.setDestinationFileName(destPath);
mergePdf.mergeDocuments(MemoryUsageSetting.setupMainMemoryOnly());

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

新聞名稱:Java生成PDF文檔的示例代碼
文章鏈接:http://chinadenli.net/article8/iegoop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、微信公眾號(hào)、企業(yè)建站、品牌網(wǎng)站設(shè)計(jì)電子商務(wù)、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
免费高清欧美一区二区视频| 成年男女午夜久久久精品| 高清欧美大片免费在线观看| 老鸭窝老鸭窝一区二区| 最近最新中文字幕免费| 国产激情一区二区三区不卡| 扒开腿狂躁女人爽出白浆av| 欧美一级黄片免费视频| 一区二区三区四区亚洲另类| 午夜亚洲精品理论片在线观看 | 国产内射一级一片内射高清视频 | 国产美女精品午夜福利视频| 日韩一区二区三区在线日| 激情三级在线观看视频| 日韩精品亚洲精品国产精品| 国产二级一级内射视频播放| 久久99精品日韩人妻| 色一欲一性一乱—区二区三区| 91精品日本在线视频| 婷婷伊人综合中文字幕| 成人日韩在线播放视频| 亚洲国产av精品一区二区| 精品综合欧美一区二区三区| 免费人妻精品一区二区三区久久久 | 久久一区内射污污内射亚洲| 护士又紧又深又湿又爽的视频| 午夜精品一区二区三区国产| 亚洲中文字幕视频在线播放 | 国产日韩欧美综合视频| 国产黑人一区二区三区| 国产午夜免费在线视频| 熟女体下毛荫荫黑森林自拍| 色丁香一区二区黑人巨大| 丁香七月啪啪激情综合| 欧美尤物在线视频91| 精品国产91亚洲一区二区三区 | 国产免费成人激情视频| 国产盗摄精品一区二区视频| 国产内射一级二级三级| 欧美日韩国产成人高潮| 综合久综合久综合久久|