使用itext pdf 類庫匯出:
1.匯入依賴:
com.lowagiegroupid>
itextartifactid>
4.2.1version>
dependency>
com.itextpdfgroupid>
itext-asianartifactid>
5.2.0version>
dependency>
2.查詢資料:
listwaybills =waybillservice.findall(model);
3.匯出pdf檔案:
// 設定頭資訊
string filename = "運單資料.pdf"
; string agent = servletactioncontext.getrequest()
.getheader("user-agent");
filename = fileutils.encodedownloadfilename(filename, agent);
servletactioncontext.getresponse().setheader("content-disposition",
"attachment;filename=" + filename);
// 生成pdf檔案
document document = new document();
pdfwriter.getinstance(document, servletactioncontext.getresponse()
.getoutputstream());
document.open();
// 寫pdf資料
// 向document 生成pdf**
table table = new table(7);
table.setwidth(100); // 寬度
table.setborder(1); // 邊框
table.getdefaultcell().sethorizontalalignment(element.align_center); // 水平對齊方式
table.getdefaultcell().setverticalalignment(element.align_top); // 垂直對齊方式
// 設定**字型
basefont cn = basefont.createfont("stsongstd-light", "unigb-ucs2-h",
false);
font font = new font(cn, 10, font.helvetica, color.black);
// 寫表頭
table.addcell(buildcell("運單號", font));
table.addcell(buildcell("寄件人", font));
table.addcell(buildcell("寄件人**", font));
table.addcell(buildcell("寄件人位址", font));
table.addcell(buildcell("收件人", font));
table.addcell(buildcell("收件人**", font));
table.addcell(buildcell("收件人位址", font));
// 寫資料
for (waybill waybill : waybills)
// 將**加入文件
document.add(table);
document.close();
jasperreport+ireport匯出:
1.新增依賴:
org.codehaus.groovygroupid>
groovy-allartifactid>
2.2.0version>
dependency>
net.sf.jasperreportsgroupid>
jasperreportsartifactid>
5.6.0version>
com.lowagiegroupid>
itextartifactid>
exclusion>
exclusions>
dependency>
2.編寫查詢**:
// 設定頭資訊
string filename = "運單資料.pdf"
; string agent = servletactioncontext.getrequest()
.getheader("user-agent");
filename = fileutils.encodedownloadfilename(filename, agent);
servletactioncontext.getresponse().setheader("content-disposition",
"attachment;filename=" + filename);
// 根據 jasperreport模板 生成pdf
// 讀取模板檔案
string jrxml = servletactioncontext.getservletcontext().getrealpath(
"/web-inf/jasper/waybill.jrxml");
jasperreport report = jaspercompilemanager.compilereport(jrxml);
// 設定模板資料
// parameter變數
mapparamerters = new hashmap();
paramerters.put("company", "傳智播客");
// field變數
//根據要求查詢的資料生成pdf
jasperprint jasperprint = jasperfillmanager.fillreport(report,
paramerters, new jrbeancollectiondatasource(waybills));
//根據ireport的sql查詢資料生成pdf
jasperprint jasperprint2 = jasperfillmanager.fillreport(report,
paramerters, datasource.getconnection());
.println(waybills);
// 生成pdf客戶端
jrpdfexporter exporter = new jrpdfexporter();
exporter.setparameter(jrexporterparameter.jasper_print, jasperprint);
exporter.setparameter(jrexporterparameter.output_stream,
servletactioncontext.getresponse().getoutputstream());
exporter.exportreport();// 匯出
ps:
當我們不使用ireoort查詢資料顯示時,需要在ireport 新增符合查詢物件屬性的 field
pdf沒有資料:檢查前台表單的提交方式是否是post;
pdf資料沒有自動換行:檢查在屬性中是否設定了自動換行,手動在ireport中拓展行高,有沒有為顯示資料新增中文顯示;
水晶報表匯出為word,excel和pdf格式
string filetype filetype ddlfiletype.selectedvalue string contenttype file reportexportfile session.sessionid filetype crystaldecisions.shared.diskfil...
birt 3 7 1匯出PDF報表中文問題
報表用的是指令碼資料來源產生資料。在相同的環境下輸出html,excel格式的都沒有問題。birt 輸出pdf需要itext 的支援,而3.7.1版本中不用自己處理itext.jar,在其plugins中已經存在該外掛程式了。至於中文處理我在網上查了一下,說是將 itextasian.jar 放到r...
潤幹報表Api後台匯出報表組到PDF
潤幹報表頁面展現報表組檔案後,採用標籤生成的匯出pdf能將各報表組子項匯出到乙個pdf檔案,但有的使用者可能不需要前端展現,而是直接呼叫後台程式運算報表並匯出pdf。預設情況下,參考教程或手冊後,會考慮用reportutils或reportexpoerter,但結果發現並不能將組內的各子項匯出到乙個...