日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android利用itext5制作pdf,Itext5生成PDF

發(fā)布時間:2023/12/14 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android利用itext5制作pdf,Itext5生成PDF 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Itext5生成PDF

Itext

官網(wǎng)

Java操作pdf方法

通過Adobe Acrobat生成pdf form,通過Java設(shè)置form表單中的元素值進(jìn)行數(shù)據(jù)填充。

讀取pdf通過坐標(biāo)進(jìn)行填充數(shù)據(jù),繪制成結(jié)果pdf。

通過itext代碼繪制pdf。

Acrobat制作模板

先用Excel制作一個Excel模板,另存為PDF文件。

用Adobe Acrobat Pro DC打開PDF模板文件,打開表單功能,在指定地方添加文字域,模板即可制作完成。

Java代碼填充AcroField

Java代碼對Acrobat制作的PDF中的Form進(jìn)行填充。

Maven坐標(biāo)

properties

itextpdf.version5.5.6/itextpdf.version

/properties

dependencies

dependency

groupIdcom.itextpdf/groupId

artifactIditextpdf/artifactId

version${itextpdf.version}/version

/dependency

dependency

groupIdcom.itextpdf.tool/groupId

artifactIdxmlworker/artifactId

version${itextpdf.version}/version

/dependency

dependency

groupIdcom.itextpdf/groupId

artifactIditext-asian/artifactId

version5.2.0/version

/dependency

/dependencies

Java代碼

//設(shè)置字體

//BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);

/*模板*/

PdfReader reader = new PdfReader("發(fā)票模板.pdf");

ByteArrayOutputStream bos = new ByteArrayOutputStream();

PdfStamper ps = new PdfStamper(reader, bos);

/*使用中文字體 使用 AcroFields填充值的不需要在程序中設(shè)置字體,在模板文件中設(shè)置字體為中文字體 Adobe 宋體 std L*/

AcroFields s = ps.getAcroFields();

//設(shè)置表單的key-value值

//通過s.setFieldProperty("字段名", "textfont", BaseFont , null); 設(shè)置字段的格式或者在模板中修改樣式

//s.setFieldProperty("checkNo","textfont",bfChinese,null);

s.setField("checkNo", "20210204");

s.setField("$info$", "測試單位");

s.setField("$projectName_1$", "測試項目");

s.setField("$num_1$", "2");

s.setField("$bw_1$", "1");

s.setField("$amount_1$", "100000000");

s.setField("$total$", "壹佰萬整");

s.setField("$bz_1$", "個");

s.setField("$SKR$", "測試人");

s.setField("$SKDW$", "測試單位");

s.setField("$year$", "2021");

s.setField("$month$", "11");

s.setField("$day$", "08");

// 設(shè)為true,設(shè)置為false后生成的pdf依然可編輯

ps.setFormFlattening(true);

ps.close();

/*輸出到指定位置*/

FileOutputStream fos = new FileOutputStream("d:\\發(fā)票.pdf");

fos.write(bos.toByteArray());

輸出展示

參考:

https://blog.csdn.net/u011391773/article/details/53084231

https://blog.csdn.net/sand_clock/article/details/85328849

Itext5生成PDF 相關(guān)文章

自己寫的一個java小腳本,用于comsol仿真聲子晶體的能帶圖數(shù)據(jù)直接生成origin可以用的csv文件!

import javax.security.auth.login.CredentialException;import java.io.*;import java.util.Arrays;public class Hannscript { //判斷幾行 public static int count = 0; public static void main(String[] args) throws IOException { //String path = Thr

Github Pages 的特性來部署由 Hexo 框架渲染生成的靜態(tài)博客

準(zhǔn)備環(huán)境 安裝 Hexo 注冊 Github 配置 SSH key 部署到 Github 開始寫作 主題設(shè)置 七牛實現(xiàn)圖床 個性化主題 添加評論功能 環(huán)境準(zhǔn)備 shiyanlou:project/ $ git version [18:28:15] git version 2.7.4 shiyanlou:project/ $ node -v [18:28:24] v12.14.1 shiyan

Degree of Spanning Tree 南京ICPC2020 生成樹+并查集+思維

Degree of Spanning Tree 生成樹 + 思維 題目大意: 給你一張 \(n\) 個節(jié)點 \(m\) 條邊的無向圖,你可以刪去一些節(jié)點使得這張圖變成一棵樹,要求每一個節(jié)點的度數(shù)小于等于 \(\frac{n}{2}\) 題解: 要一步一步的分析 首先分析如何把一張圖變成一棵樹,并查集

golang 生成rsa秘鑰對

需求:golang生成秘鑰對,秘鑰有密碼 package mainimport ("crypto/rand""crypto/rsa""crypto/x509""encoding/pem""fmt""os")func generateRSAKey(pripath, pubpath, passwd string) error {privateKey, err := rsa.GenerateKey(rand.Reader, 2048)if err !=

WinDbg分析DUMP文件

1. 如何生成dump文件 原理:通過SetUnhandledExceptionFilter設(shè)置捕獲dump的入口,然后通過MiniDumpWriteDump生成dump文件; SetUnhandledExceptionFilter:https://msdn.microsoft.com/query/dev10.queryappId=Dev10IDEF1l=EN-USk=k(SETUNHANDLEDEXCEPTIONFI

一個網(wǎng)址,需要生成一個帶有人臉識別功能的APP如何做

問題:一個官網(wǎng)地址,需要生成一個帶有人臉識別功能的APP如何做 操作步驟: 第一步:進(jìn)入中控易動平臺,創(chuàng)建一個應(yīng)用,創(chuàng)建完成進(jìn)入應(yīng)用 注意:首頁網(wǎng)址輸入的是:自己的官網(wǎng)地址 第二步:添加人臉識別插件(ArcSoftFace插件) 第三步:查看插件文檔,配置插

自動生成業(yè)務(wù)編號 備份

String sqlCode = "SELECT MAX(code) as code from gongzuo where year(create_date) = year(NOW()) and month(create_date)=month(NOW()) "; String delegateCode = jdbcTemplate.queryForObject(sqlCode, String.class); StringB String sqlCode = "SELECT

Javadoc生成文檔

1 package com.lin.base; 2 3 /** 4 * @author Lin 5 * @version 1.0 6 * @since 11 7 */ 8 public class Doc { 9 String name;10 11 /**12 *13 * @param name14 * @return15 * @throws Exception16 */17 public String test(String name)throws Exception{1

使用IDEA的webservice工具解析生成的客戶端調(diào)用遠(yuǎn)程接口

由于這個接口的報文格式比較麻煩,是XML的請求頭加上JSON格式的請求體,所以看起來比較復(fù)雜,也可以用RPC的方式調(diào)用,那樣需要將請求頭和請求體,響應(yīng)頭和響應(yīng)體建實體。 public JSONObject sendReq(PortTypeEnum portTypeEnum,JSONObject reqBody){ Main ma

allure生成的報告打開后顯示loading

allure生成的報告打開后顯示loading,怎么辦 1. allure生成報告的命令 1.1、生成測試數(shù)據(jù) # 命令格式:pytest 相關(guān)參數(shù) 指定執(zhí)行的用例 --alluredir=數(shù)據(jù)存放的路徑# 參數(shù):--alluredir指定結(jié)果數(shù)據(jù)保存的目錄,可以用等號,也可以空格# 命令示例1:④pytest

總結(jié)

以上是生活随笔為你收集整理的android利用itext5制作pdf,Itext5生成PDF的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。