java生成簡易pdf文件
參考部落格:http://www.cnblogs.com/wangpeng00700/p/8418594.html
其實參考的部落格寫的已經很詳細了,但是我在寫的時候遇到一個問題,對Adobe Acrobat Pro使用不熟悉。當word模板是表格或者其他很明顯輸入是會掃描出文字域。但我在寫的時候我把表格給隱藏了結果沒掃出來。這裡需要自己新增一下。
具體操作步驟:
1.建立一個word模板 並儲存為pdf檔案
2.開啟Adobe Acrobat Pro
可以發現沒有表格的位置是掃描不出來的;這時候可以手動新增
3.雙擊文字域(輸入的名稱一定要記得,後面對應需要用到)
4.儲存,模板製作完成。
5.上程式碼:
package com.handkoo.util;
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import com.itextpdf.text.;
import com.itextpdf.text.pdf.;
/**
- 根據模板生成pdf檔案
- @author hunhunhun 2019/3/20
*/
public class PdfUtils {
// 利用模板生成pdf
public static void pdfout(Map<String,String> inputmap) {
// 模板路徑
String templatePath = “C:/Users/tthrty/Desktop/hunhunhun.pdf”;
// 生成的新檔案路徑
String newPDFPath = “C:/Users/tthrty/Desktop/hunsuccess.pdf”;
PdfReader reader;
FileOutputStream out;
ByteArrayOutputStream bos;
PdfStamper stamper;
try {
out = new FileOutputStream(newPDFPath);// 輸出流
reader = new PdfReader(templatePath);// 讀取pdf模板
bos = new ByteArrayOutputStream();
stamper = new PdfStamper(reader, bos);
AcroFields form = stamper.getAcroFields();
//文字類的內容處理
Map<String,String> datemap = inputmap;
for(String key : datemap.keySet()){
String value = datemap.get(key);
form.setField(key,value);
}
stamper.setFormFlattening(true);// 如果為false,生成的PDF檔案可以編輯,如果為true,生成的PDF檔案不可以編輯
stamper.close();
Document doc = new Document();
PdfCopy copy = new PdfCopy(doc, out);
doc.open();
PdfImportedPage importPage = copy.getImportedPage(new PdfReader(bos.toByteArray()), 1);
copy.addPage(importPage);
doc.close();
} catch (IOException e) {
System.out.println(e);
} catch (DocumentException e) {
System.out.println(e);
}
}
public static void main(String[] args) {
Map<String,String> map = new HashMap<String,String>();
map.put("name","一直混一直爽");
map.put("content","java按模板生成pdf");
PdfUtils.pdfout(map);
}
}
6效果:
補充:加背景圖片僅需要在模板加背景圖片即可 步驟: 編輯PDF>>水印
相關文章
- Java 生成 PDF 文件Java
- java-pdf-itext7、itextpdf 生成pdf 文件Java
- Laravel 生成 PDF 文件 - tcpdfLaravelTCP
- 手把手教你使用 Java 線上生成 pdf 文件Java
- .NET 工具庫高效生成 PDF 文件
- java生成word文件Java
- Java Doc 生成文件Java
- 使用工具生成 Protocol 易讀文件Protocol
- 使用【APIDOC】生成JavaWeb的API文件(HTML,MarkDown,PDF)APIJavaWebHTML
- PDF Squeezer for mac(簡易壓縮工具)Mac
- jq的簡易模板生成
- 使用 Sphinx 撰寫技術文件並生成 PDF 總結
- Java使用iText7生成PDFJava
- dact-admin:獲取資料生成、下載word/pdf文件
- 學java13javaDoc生成文件Java
- java 文件自動生成的神器 idocJava
- 簡易PDF軟體 v2.0.2官方版
- Java 渲染 docx 檔案,並生成 pdf 加水印Java
- Java 讀取txt檔案生成Word文件Java
- 簡易好用的pdf編輯器PDFelement 8 Pro MacMac
- JAVA技巧:使用java生成word文件選擇合適元件Java元件
- Java 將Markdown檔案轉換為Word和PDF文件Java
- opencv-python簡易文件(一)圖片基本操作OpenCVPython
- PDF文件壓縮工具:Cisdem PDF Compressor for MacMac
- PDF文件搜尋工具:PDF Search Mac版Mac
- 最簡單的Markdown文件生成工具 book-cli
- Cisdem PDF Creator(PDF 生成轉換器)
- 介面文件生成
- Java 根據模板生成 PDF 檔案 以及 excel 檔案JavaExcel
- Master PDF Editor for Mac PDF文件編輯軟體ASTMac
- PDF文件轉換器PDF to Word Document Converter MacMac
- Laravel API 文件生成器生成指定的 API 文件LaravelAPI
- pdf轉換成word文件
- C# 將PDF文件轉換為Markdown文件C#
- ABAP文件生成工具
- 介面文件生成工具
- 前端生成PPT文件前端
- Gin 生成 Swagger 文件Swagger