java中關於PDF製作報表核心操作

2021-08-31 01:14:25 字數 1441 閱讀 5331

1.首先獲取檔案模板存在的位置和臨時檔案存在的位置

2.建立流操作

3.進行讀取和寫出的操作 關閉流

注意事項:a.windows環境和linux環境有差異;b.如有流沒有正常關閉複製生成的檔案會出現破損無法開啟現象

//處理不同作業系統環境下對路徑、路徑+檔案的獲取(可抽成方法)

public string enviorment(string template,string tablename)

//linux

if("/".equals(file.separator))

return index ;

}public file enviorment1(string template)

//linux

if("/".equals(file.separator))

return index ;

}

//pdf核心方法

string filenamepdf = null;//臨時表名

string pdfpath = "";

//獲取模板

string filename = enviorment(template1,tempname);

//建立pdf讀入流,

pdfreader reader = new pdfreader(filename);

bytearrayoutputstream bos = new bytearrayoutputstream ();

//根據pdf讀入流建立pdfstamper,用來生成新的pdf

pdfstamper ps = new pdfstamper(reader,bos);

acrofields s = ps.getacrofields();

s.setfield("pdf中的**中定義的值","查詢出的值");

ps.setformflattening(true);

ps.close();

pdfpath = enviorment(template2 ,filenamepdf+".pdf" );

fileoutputstream fos = new fileoutputstream(pdfpath );

fos.write(bos.tobytearray());

fos.close();

bos.close();

reader.close();

return pdfpath;

}//程式入口

string aa = pdf(request,temptname, list)
以上操作已經完成生成pdf報表

java用itext 做pdf報表

1.準備工作 com.itextpdf itextpdf 5.5.8 2.簡易操作 先建立乙個文件 document document new document pagesize.a4,50,50,50,50 用a4紙建立了乙個文件,頁邊距都是50 建立乙個輸出流 pdfwriter writer ...

如何在潤幹報表中製作分組填報表

同樣地,我們以 demo 示例庫中的雇員表資訊維護為例,在資料填報頁面,需要實現以下效果 1 雇員資訊按照地區分組顯示 2 雇員基本資訊可進行修改 效果圖如下圖所示 在製作分組填報表之前,我們先來看一下它的設計原理。原理說明 分組填報表中有兩個維度 分組維度和明細維度,如何處理兩者之間的邏輯關係是重...

解決 Jasper 等報表工具製作報表中的幾個難題

在製作業務報表時,經常會遇到一些單獨依靠報表工具難以解決的問題。本文將針對幾個 jasper 報表工具使用者在國外論壇中提出的現實問題,介紹如何用集算器 spl 語言加以解決的方案。這裡的解決方案其實並不僅適用於 jasper,對其它報表工具也同樣適用。資料檔案 data.csv 儲存著某賬戶各期資...