Java設(shè)置PDF跨頁表格重復(fù)顯示表頭行的步驟詳解
前言
在創(chuàng)建表格時,如果表格內(nèi)容出現(xiàn)跨頁顯示的時候,默認(rèn)情況下該表格的表頭不會在下一頁顯示,在閱讀體驗上不是很好。下面分享一個方法如何在表格跨頁是顯示表格的表頭內(nèi)容,這里只需要簡單使用方法 grid.setRepeatHeader(true);即可。
具體參考如下方法步驟。
1.導(dǎo)入Jar包
這里導(dǎo)入的是Free Spire.PDF for Java的jar包,Spire.PDF for Java 支持的功能非常豐富,例如 PDF 文檔安全性設(shè)置,提取文本和圖片,合并和拆分 PDF,畫文本、圖片、形狀、條形碼到 PDF,打印 PDF,創(chuàng)建和填充表單,添加和刪除層,重疊 PDF 頁面,添加文本/圖片水印,添加、更新、刪除 PDF 書簽,添加表格,壓縮 PDF 文檔等。此外,Spire.PDF for Java 還支持將 PDF 文檔高質(zhì)量地轉(zhuǎn)換為 XPS、圖片、SVG、Word、HTML 和 PDF/A 格式,以及將 XPS 文檔高質(zhì)量地轉(zhuǎn)換為 PDF 格式。
下載后,解壓文件,在Java程序中將解壓路徑下lib文件中的spire.pdf.jar導(dǎo)入Java程序。
導(dǎo)入結(jié)果:
2.Java代碼
import com.spire.pdf.*; import com.spire.pdf.graphics.*; import com.spire.pdf.grid.PdfGrid; import com.spire.pdf.grid.PdfGridRow; import java.awt.*; public class RepeatTableHeaderRow { public static void main(String[] args) { //新建一個PDF文檔 PdfDocument pdf = new PdfDocument(); //添加一頁 PdfPageBase page = pdf.getPages().add(); //創(chuàng)建PdfGrid類的對象 PdfGrid grid = new PdfGrid(); //設(shè)置單元格填充 grid.getStyle().setCellPadding(new PdfPaddings(1,1,1,1)); //添加表格列數(shù) grid.getColumns().add(3); //添加表頭行及表格數(shù)據(jù) PdfGridRow[] pdfGridRows = grid.getHeaders().add(1); for (int i = 0; i < pdfGridRows.length; i++) { pdfGridRows[i].getStyle().setFont(new PdfTrueTypeFont(new Font("Arial", Font.PLAIN,12), true));//指定字體 pdfGridRows[i].getCells().get(0).setValue("NAME"); pdfGridRows[i].getCells().get(1).setValue("SUBJECT"); pdfGridRows[i].getCells().get(2).setValue("SCORES"); pdfGridRows[i].getStyle().setTextBrush(PdfBrushes.getRed()); /*pdfGridRows[i].getStyle().setFont(new PdfCjkStandardFont(PdfCjkFontFamily.Hanyang_Systems_Gothic_Medium, 14f));//繪制中日韓字體的方法 pdfGridRows[i].getCells().get(0).setValue("이 름"); pdfGridRows[i].getCells().get(1).setValue("科 目") ; pdfGridRows[i].getCells().get(2).setValue("ほしとり"); pdfGridRows[i].getStyle().setTextBrush(PdfBrushes.getBlue());*/ } //設(shè)置重復(fù)表頭(表格跨頁時) grid.setRepeatHeader(true); //添加數(shù)據(jù)到表格 for (int i = 0; i < 80; i++) { PdfGridRow row = grid.getRows().add(); for (int j = 0; j < grid.getColumns().getCount();j++) { row.getCells().get(j).setValue("(Row " + (i+1) + ", column " + (j+1) + ")"); } } //在PDF頁面繪制表格 grid.draw(page,0,0); //保存文檔 pdf.saveToFile("Result.pdf"); pdf.dispose(); } }
不同頁面重復(fù)顯示表頭行效果如圖,這里分別展示了不同字體設(shè)置的跨頁表頭效果:
總結(jié)
到此這篇關(guān)于Java設(shè)置PDF跨頁表格重復(fù)顯示表頭行的文章就介紹到這了,更多相關(guān)Java設(shè)置PDF重復(fù)顯示表頭行內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java struts2學(xué)習(xí)筆記之線程安全
這篇文章主要為大家詳細(xì)介紹了java struts2學(xué)習(xí)筆記之線程安全,感興趣的朋友可以參考一下2016-04-04SpringBoot整合MongoDB實現(xiàn)文件上傳下載刪除
這篇文章主要介紹了SpringBoot整合MongoDB實現(xiàn)文件上傳下載刪除的方法,幫助大家更好的理解和學(xué)習(xí)使用SpringBoot框架,感興趣的朋友可以了解下2021-05-05解決IDEA創(chuàng)建maven項目時pom.xml沒有變藍(lán)的問題
這篇文章主要介紹了解決IDEA創(chuàng)建maven項目時pom.xml沒有變藍(lán)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08