国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java 使用 itext 向PDF插入數(shù)據(jù)和圖片

這篇具有很好參考價(jià)值的文章主要介紹了Java 使用 itext 向PDF插入數(shù)據(jù)和圖片。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Java 使用 itext 向PDF插入數(shù)據(jù)和圖片

一、下載Adobe Acrobat DC

itextpdf 插入圖片,java,pdf

二、制作模板

1、準(zhǔn)備一個(gè)word模板,并轉(zhuǎn)換成PDF格式

itextpdf 插入圖片,java,pdf

2、使用Adobe Acrobat DC打開PDF文檔,并在右側(cè)搜索框搜索表單,點(diǎn)擊準(zhǔn)備表單

itextpdf 插入圖片,java,pdf

3、點(diǎn)擊開始,制作PDF表單

itextpdf 插入圖片,java,pdf

4、掃描完成后如下圖,藍(lán)白色框就是可編輯表單

itextpdf 插入圖片,java,pdf

5、點(diǎn)擊表單編輯表單名稱以及插入時(shí)的字體大小樣式等,如果沒有設(shè)置字體大小,數(shù)據(jù)寫入時(shí)會(huì)將字體會(huì)根據(jù)表單的高度自適應(yīng)大小

itextpdf 插入圖片,java,pdf
itextpdf 插入圖片,java,pdf

6、編輯完成后保存PDF模板

三、在Java中使用


import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Image;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.*;

import java.io.*;

import java.nio.file.Files;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Map;

public class PDFUtil {



    private static void insertImage(AcroFields form, PdfStamper stamper, String filedName, String url) throws IOException, DocumentException {
        int pageNo = form.getFieldPositions(filedName).get(0).page;
        Rectangle signRect = form.getFieldPositions(filedName).get(0).position;
        float x = signRect.getLeft();
        float y = signRect.getBottom();

        Image image = Image.getInstance(url);
        // 獲取操作的頁面
        PdfContentByte under = stamper.getOverContent(pageNo);
        // 根據(jù)域的大小縮放圖片
        image.scaleToFit(signRect.getWidth(), signRect.getHeight());
        // 添加圖片
        image.setAbsolutePosition(x, y);
        under.addImage(image);
    }

    public static Boolean pdfTemplateInsert(String templateUrl, String outputFileUrl, Map<String, Object> templateValueMap, Map<String, String> templateImageMap) {
        boolean success = true;

        OutputStream os = null;
        PdfStamper ps = null;
        PdfReader reader = null;
        try {
            os = Files.newOutputStream(new File(outputFileUrl).toPath());
            //讀取pdf表單
            reader = new PdfReader(templateUrl);
            //根據(jù)表單生成一個(gè)新的pdf文件
            ps = new PdfStamper(reader, os);
            //獲取pdf表單
            AcroFields form = ps.getAcroFields();
            //給表單中添加中文字體
            BaseFont bf = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
            form.addSubstitutionFont(bf);
            if (null != templateValueMap && !templateValueMap.isEmpty()) {
                for (String key : templateValueMap.keySet()) {
                    form.setField(key, String.valueOf(templateValueMap.get(key)));
                }
            }

            if (null != templateImageMap && !templateImageMap.isEmpty()) {
                for (String key : templateImageMap.keySet()) {
                    insertImage(form, ps, key, templateImageMap.get(key));
                }
            }
            ps.setFormFlattening(true);
        } catch (Exception e) {
            success = false;
        } finally {
            try {
                ps.close();
                reader.close();
                os.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        return success;
    }


    public static void main(String[] args) {
        //模板路徑
        String inputUrl = "E:/Desktop/test/demo/itext-demo.pdf";
        //生成的文件路徑
        String outputUrl = "E:/Desktop/test/demo/itext-demo-output.pdf";
        Map<String, Object> data = new HashMap<>();
        data.put("name", "張山");
        data.put("year", "2000年10月");
        data.put("phone", "13032451234");
        data.put("gangwei", "Java開發(fā)");
        data.put("introduceOneself", "熟練使用Java常用框架:Spring 、mybatis等");
        //圖片地址
        String imageUrl = "E:/Desktop/test/demo/1.jpeg";
        Map<String, String> templateImageMap = new HashMap<>();
        templateImageMap.put("image", imageUrl);

        PDFUtil.pdfTemplateInsert(inputUrl, outputUrl, data, templateImageMap);
    }
}
執(zhí)行結(jié)果

itextpdf 插入圖片,java,pdf文章來源地址http://www.zghlxwxcb.cn/news/detail-697887.html

到了這里,關(guān)于Java 使用 itext 向PDF插入數(shù)據(jù)和圖片的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • java集成itextpdf實(shí)現(xiàn)通過pdf模板填充數(shù)據(jù)生成pdf

    java集成itextpdf實(shí)現(xiàn)通過pdf模板填充數(shù)據(jù)生成pdf

    我采用的是pdfelement 官網(wǎng)地址需要付費(fèi)或者自行破解,也可以使用其他pdf編輯器。 將制作好的pdf模板放入項(xiàng)目resources/pdf目錄下,如圖 瀏覽器訪問ip:port/test/pdf,其中ip為你的ip地址,port為你的端口,訪問結(jié)果如下:

    2024年02月16日
    瀏覽(23)
  • 【Java】使用iText生成PDF文件

    【Java】使用iText生成PDF文件

    iText介紹 iText是著名的開放源碼的站點(diǎn)sourceforge一個(gè)項(xiàng)目,是用于生成PDF文檔的一個(gè)java類庫。通過iText不僅可以生成PDF或rtf的文檔,而且可以將XML、Html文件轉(zhuǎn)化為PDF文件。 項(xiàng)目要使用iText,必須引入jar包。才能使用,maven依賴如下: 輸出中文,還要引入下面itext-asian.jar包: ?

    2024年02月10日
    瀏覽(18)
  • java JFreeChart 繪制各種圖形 并使用itextPdf生成PDF導(dǎo)出

    參考: https://blog.csdn.net/hfy1237/article/details/126693786 https://blog.csdn.net/qq_39149275/article/details/119381389

    2024年01月19日
    瀏覽(25)
  • java中使用Jsoup和Itext實(shí)現(xiàn)將html轉(zhuǎn)換為PDF

    java中使用Jsoup和Itext實(shí)現(xiàn)將html轉(zhuǎn)換為PDF

    1.在build.gradle中安裝所需依賴: 2.創(chuàng)建工具類,實(shí)現(xiàn)轉(zhuǎn)換方法 3.base64過濾類: 4.字體類代碼,window用戶可在C:windowsfont中尋找自己所需字體即可。我這里用的為黑體: simhei.ttf 效果如下: html頁面預(yù)覽: pdf頁面預(yù)覽: ? ?

    2024年02月14日
    瀏覽(25)
  • java實(shí)現(xiàn)向PDF中插入圖片

    java實(shí)現(xiàn)向PDF中插入圖片

    目錄 一、場景 二、案例結(jié)果 三、環(huán)境準(zhǔn)備 四、引入的第三方j(luò)ar包坐標(biāo) 五、思路 六、單元測試代碼 七、總結(jié) ? ? ? ? 現(xiàn)有一個(gè)PDF文件、需向PDF中插入圖片 ? ? ? ? ? ? ?1、? maven3.8.6、jdk17 ?????????????2、PDF文件和一張圖片 ? ? ? ? ? ? ? ? 1、得到PDF文件流對(duì)象【

    2024年02月06日
    瀏覽(22)
  • Java導(dǎo)出PDF(itextpdf)-通俗易懂

    Java導(dǎo)出PDF(itextpdf)-通俗易懂

    在java開發(fā)的過程中會(huì)遇到太多太多文檔pdf導(dǎo)出,excle導(dǎo)出等業(yè)務(wù)場景,時(shí)隔三個(gè)月或半年來一次每一次遇到這樣的業(yè)務(wù)場景對(duì)我都是非常痛苦的過程,本文旨在記錄工具類使用方法和技術(shù)分享。 itextpdf是一個(gè)開源的Java庫,用于創(chuàng)建和操作PDF文檔。使用itextpdf,您可以創(chuàng)建新的

    2024年02月12日
    瀏覽(23)
  • (Java)word轉(zhuǎn)pdf(aspose),pdf加水印(itextpdf),并支持POI模板(包括checkbox)導(dǎo)出

    (Java)word轉(zhuǎn)pdf(aspose),pdf加水印(itextpdf),并支持POI模板(包括checkbox)導(dǎo)出

    目錄 1、引入jar包 2、pdf處理工具類 3、poi模板導(dǎo)出工具類 4、測試類 5、模板 6、最終效果? 1、引入jar包 ? 2、pdf處理工具類 ?3、poi模板導(dǎo)出工具類 ?4、測試類 5、模板 6、最終效果?

    2024年02月06日
    瀏覽(33)
  • 【Java】OpenPDF、iText、PDFBox 是三種常用的 PDF 處理庫

    OpenPDF、iText、PDFBox 是三種常用的 PDF 處理庫,它們各自具有獨(dú)特的優(yōu)勢和特點(diǎn),同時(shí)也存在一些局限性和差異。本文將對(duì)這四種庫進(jìn)行詳細(xì)的比較,并通過代碼示例來展示它們的使用。 1、OpenPDF OpenPDF 是一個(gè)用于創(chuàng)建和編輯 PDF 文檔的 Java 庫,它基于 iText 庫的一個(gè)分支,提供

    2024年02月09日
    瀏覽(34)
  • Java Excel轉(zhuǎn)PDF,支持xlsx和xls兩種格式, itextpdf【即取即用】

    本篇主要為工具方法整理,參考學(xué)習(xí)其他博主文章做了整理,方便使用。 1、本地轉(zhuǎn)換 導(dǎo)入依賴 創(chuàng)建工具方法 傳入輸入輸出流或文檔地址即可。 2、網(wǎng)絡(luò)下載 通過POI或者easyExcel生成或填充,再由后端轉(zhuǎn)換PDF響應(yīng)前端 思路 :將網(wǎng)絡(luò)下載拆分為本地轉(zhuǎn)換,再響應(yīng)前端即可。 現(xiàn)

    2024年02月04日
    瀏覽(28)
  • 【itext7】itext7操作PDF文檔之添加段落文本內(nèi)容、添加List列表、添加Image圖片、添加Table表格

    【itext7】itext7操作PDF文檔之添加段落文本內(nèi)容、添加List列表、添加Image圖片、添加Table表格

    這篇文章,主要介紹itext7操作PDF文檔之添加段落文本內(nèi)容、添加List列表、添加Image圖片、添加Table表格。 目錄 一、itext7操作PDF內(nèi)容 1.1、添加段落文本內(nèi)容 1.2、添加列表內(nèi)容 1.3、添加圖片 1.4、添加表格 (1)列寬采用點(diǎn)單位(pt點(diǎn)單位) (2)采用百分比單位(%百分比) it

    2024年02月16日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包