1. 程式人生 > >利用itext工具編輯生成pdf

利用itext工具編輯生成pdf

1.先用word做出介面

2、把word文件轉換成pdf輸出

3.用Adobe Acrobat 開啟你剛剛用word轉換成的pdf,選擇“建立PDF表單”


4、選擇剛剛生成的pdf


5、開啟後它會自動偵測並命名錶單域,右鍵表單域,點選屬性,出現文字域屬性對話方塊,(如果沒有自動錶單域選擇工具欄中的新增文字域重新新增)我在使用過程中發現預設的表單域並不能讓文字顯示,必須手動重新新增文字域,名稱可以重新命名


6、修改所有的文字域完成後 儲存pdf。接下來就是擼程式碼了

我用到的jar包有三個如下

<dependency>
    <groupId>com.itextpdf</
groupId> <artifactId>itextpdf</artifactId> <version>5.5.8</version> </dependency> <dependency> <groupId>com.itextpdf.tool</groupId> <artifactId>xmlworker</artifactId> <version>5.5.8</version> </dependency> <
dependency> <groupId>com.itextpdf</groupId> <artifactId>itext-asian</artifactId> <version>5.2.0</version> </dependency>
java程式碼如下
//利用模板生成pdf
    public void fillTemplate(){
        //模板路徑
        String templatePath = "../template_demo.pdf";
        //生成的新檔案路徑
        String newPDFPath = "../newPdf.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();

            String[] str = {"123456789","小魯","男","1994-00-00","130222111133338888","河北省唐山市"};
            int i = 0;
            //解決中文不顯示的問題 注意需要引入itext-asian.jar包
            BaseFont bf = BaseFont.createFont("STSong-Light","UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);
            java.util.Iterator<String> it = form.getFields().keySet().iterator();
            while(it.hasNext()){
                String name = it.next().toString();
                form.setFieldProperty(name,"textfont",bf,null);
                System.out.println(name);
                form.setField(name, str[i++]);
            }
            stamper.setFormFlattening(true);//如果為false那麼生成的PDF檔案還能編輯,一定要設為true
            stamper.close();

            Document doc = new Document();
            PdfCopy copy = new PdfCopy(doc, out);
            doc.open();
            int pageNums = reader.getNumberOfPages();
            for (int i1 = 1; i1 < pageNums+1; i1++) {
                PdfImportedPage importPage = copy.getImportedPage(
                        new PdfReader(bos.toByteArray()), i1);
                copy.addPage(importPage);
            }
            doc.close();

        } catch (IOException e) {
            System.out.println(1);
        } catch (DocumentException e) {
            System.out.println(2);
        }


    }


相關推薦

利用itext工具編輯生成pdf

1.先用word做出介面 2、把word文件轉換成pdf輸出 3.用Adobe Acrobat 開啟你剛剛用word轉換成的pdf,選擇“建立PDF表單” 4、選擇剛剛生成的pdf 5、開啟後它會自動偵測並命名錶單域,右鍵表單域,點選屬性,出現文字域屬性對話方塊,(如果

java利用iText工具生成PDF

iText是一個非常著名的能夠快速產生PDF檔案的Java類庫。支援文字,表格,圖形的操作,可以方便的跟 Servlet 進行結合    iText的更新變化很大,早期版本在PDF樣式上可能會有瑕疵,所有我使用的最新的5.5.6包 轉載出自:https://my

【Java】itext根據模板生成pdf(包括圖片和表格)

金額 res report als fields positions 創建模板 bst open() 1、導入需要的jar包:itext-asian-5.2.0.jar itextpdf-5.5.11.jar。 2、新建word文檔,創建模板,將文件另存為pdf,並用Ado

poi生成excel和itext、jasperResport生成pdf

1.Poi生成excel 1)建立HSSFWorkbook物件 HSSFWorkbook hssfWorkbook = new HSSFWorkbook(); HSSFSheet sheet = hssfWorkbook.createSheet("運單資料");

利用eclipse工具反向生成hibernate配置檔案,domain類和對映檔案

首先要意識到eclipse是一個整合開發環境,要想實現更多的功能,就必須下載好相關的外掛 1.下載外掛 點選help->install new software,輸入相應的網址(對應的自行百度),這裡是http://download.jboss.org/jbossid

JasperReport結合JasperReport Studio工具生成Pdf檔案,解決中文不顯示問題

專案結構圖: 該專案為Maven專案: pom.xml 如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-i

iText+Flying Saucer生成pdf文件,中文不顯示和不自動換行問題

一、重寫Breaker,新增中文識別 // Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://kpdus.tripod.com/jad.html //

iText+Flying Saucer生成pdf文件二:給pdf新增頁尾

<pre name="code" class="css"><span style="font-size:18px;">使用該樣式強制pdf分頁<div style='pa

Mybatis利用generator工具快速生成對映配置檔案資訊

瞭解一點Mybatis的都知道它的反向對映機制,但是如果自己去動手親自寫的話,資料庫表多了便工作量變得巨大,現在就叫你如何利用generator自動快速生成對映檔案。第一步:建立資料庫,並建表user_info和account_info用於測試使用;<?xml vers

詳解如何利用iText在JSP中生成PDF報表

前久做了一個通過JSP生成PDF報表的小專案,算得上開了一次眼界。企業的一些資訊通過網路形成Html報表,雖然IE可以直接列印顯示在其中的內容,但是從介面上來看,如果直接將Html的顯示結果打印出來,顯得不太美觀。如果將它轉成PDF檔案再列印,則列印效果會好很多。    1、

在Excel中,不利用任何第三方工具生成二維碼

pdf ng- ref mac 源碼 generated code 而是 git 有同事提需求,要批量生成二維碼。談了之後,我覺得可以做個excel文件,把要打印的內容放進去,然後給每行數據生成一個二維碼。下一步就要在Excel裏面生成二維碼。問了一下度娘,貌似都得利用一些

Java Itext 生成PDF文件

ftp 設置 通過 tty sna 總計 aof scale AD 利用Java Itext生成PDF文件並導出,實現效果如下: PDFUtil.java package com.jeeplus.modules.order.util; import java.io

利用itext將html頁面轉成pdf(不模糊)

relative long ble wid ems map entity repl oat 1.maven項目進入依賴 <dependency> <groupId>org.xhtmlrenderer</groupId>

使用wkhtmltopdf工具生成pdf

背景:將前臺頁面轉換成pdf文件儲存到伺服器 最開始計劃使用canvas2pdf在前端進行生成。但是canva2pdf轉換的pdf有嚴重的失真問題,然後決定使用wkhtmltopdf工具進行生成。 思路:伺服器準備好模板(html頁面),前臺將資料傳回後臺,將資料把模板中的佔位符替換掉,然後生成

利用iText相關jar包進行pdf繪製

工作中有需求需要將回單進行繪製生成pdf以便列印,所以記錄下來 準備工作: 相關jar包:示例:iText-2.1.7.jar //核心jar字型包:iTextAsian.jariTextAsianCmaps.jar ps:不同版本的iText的功能有所差異 Java類示例: pack

圖表的線上預覽和java 生成pdf下載,itext問題總結

1需求 圖表的線上預覽和下載 2.實現 1 採用html進行展示,再用js程式碼進行快照,進行pdf儲存。實現簡單,無後臺,但是圖片質量差,不可編輯  感謝https://blog.csdn.net/program_guys/article/details/79035244

PDF編輯工具如何修改PDF檔案內容

工作中,使用PDF檔案居多,PDF檔案的修改需要使用到PDF編輯器,那麼,PDF編輯工具如何修改PDF檔案內容呢,不會的以及想要了解的小夥伴可以跟著小編一起看看哦。 開啟編輯器,比如迅捷PDF編輯器,在編輯器中開啟需要修改的PDF檔案。 檔案開啟後,在編輯器最上面的選單

PDF編輯工具怎樣刪除PDF水印

在工作中,學習中多多少少都會使用到PDF檔案,PDF檔案的修改編輯是需要用到PDF編輯軟體的,那麼,用PDF編輯工具怎樣刪除PDF水印呢,是不是有很多的小夥伴也想知道怎麼操作的呢,其實,還是很簡單的,不會的小夥伴可以和小編一起看看下面的文章,沒準就知道了哦。 1.開啟並執行迅捷PDF編輯器,在編

PDF編輯工具怎樣裁剪PDF檔案頁面

無論是工作中,還是生活中都會使用到PDF檔案,而PDF檔案的修改編輯是需要用到PDF編輯工具的,那麼,用PDF編輯工具怎樣裁剪PDF檔案頁面呢,是不是有很多的小夥伴都想知道怎麼操作的呢,那就看看下面的文章,沒準就會了哦。 1.開啟並執行迅捷PDF編輯器,在編輯器中開啟需要修改的PDF檔案。

PDF編輯工具怎麼修改PDF背景顏色

PDF檔案在工作中,甚至是生活中都會使用的到,而PDF檔案也不與其他的檔案一樣,PDF檔案的修改編輯是需要使用到PDF編輯工具的,那麼,PDF編輯工具怎麼修改PDF背景顏色呢,估計有很多的小夥伴都不知道應該怎麼做吧,那就一起看看下面的文章瞭解一下吧。 1.開啟執行迅捷PDF編輯器http://b