Java設(shè)置PDF有序和無(wú)序列表的知識(shí)點(diǎn)總結(jié)
文檔中的設(shè)置有序或無(wú)序列表是一種反應(yīng)內(nèi)容上下級(jí)關(guān)系或者內(nèi)容相同屬性的方式,與單純的文字?jǐn)⑹鱿啾?,它能有效增?qiáng)文檔內(nèi)容的條理性,突出重點(diǎn)。因此,本文將分享通過(guò)Java編程在PDF文檔中設(shè)置有序或無(wú)序列表的方法。
使用工具:Free Spire.PDF for Java V2.2.2(免費(fèi)版)
Jar文件導(dǎo)入:
Step1:在Java程序中新建一個(gè)文件夾可命名為L(zhǎng)ib。并將下載包中的jar文件(如下圖)復(fù)制到新建的文件夾下。
Step2:復(fù)制文件后,添加到引用類(lèi)庫(kù):選中這個(gè)jar文件,點(diǎn)擊鼠標(biāo)右鍵,選擇“Build Path” – “Add to Build Path”。完成引用。
Java代碼示例(供參考)
import com.spire.pdf.*; import com.spire.pdf.graphics.*; import com.spire.pdf.lists.*; import java.awt.*; import java.awt.geom.*; public class list { public static void main(String[] args) { //創(chuàng)建PDFDocument對(duì)象 PdfDocument doc = new PdfDocument(); //設(shè)置邊距 PdfUnitConvertor unitCvtr = new PdfUnitConvertor(); PdfMargins margin = new PdfMargins(); margin.setTop(unitCvtr.convertUnits(2.54f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point)); margin.setBottom(margin.getTop()); margin.setLeft(unitCvtr.convertUnits(3.17f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point)); margin.setRight(margin.getLeft()); //添加新的一頁(yè) PdfPageBase page = doc.getPages().add(PdfPageSize.A4, margin); //繪制標(biāo)題 float y = 10; PdfBrush brush1 = PdfBrushes.getBlack(); PdfTrueTypeFont font1 = new PdfTrueTypeFont(new Font("Arial Unicode MS", Font.BOLD, 16), true); PdfStringFormat format1 = new PdfStringFormat(PdfTextAlignment.Center); page.getCanvas().drawString("部門(mén)活動(dòng)采購(gòu)清單", font1, brush1, page.getCanvas().getClientSize().getWidth() / 2, y, format1); y = y + (float) font1.measureString("活動(dòng)采購(gòu)清單", format1).getHeight(); y = y + 5; //設(shè)置列表格式和列表文字 Rectangle2D rctg = new Rectangle2D.Float(); rctg.setFrame(new Point(0, 0), page.getCanvas().getClientSize()); PdfLinearGradientBrush brush = new PdfLinearGradientBrush(rctg, new PdfRGBColor(new PdfRGBColor(new Color(0,0,128))), new PdfRGBColor(new Color(255,69,0)), PdfLinearGradientMode.Vertical); PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial Unicode MS", Font.BOLD, 12), true); String formatted1 = "行政部\n開(kāi)發(fā)部\n銷(xiāo)售部\n后勤處\n保衛(wèi)處"; String formatted2 = "飲料\n調(diào)味品\n糖果\n奶制品\n肉類(lèi)\n蔬菜\n海鮮"; //畫(huà)無(wú)序列表 PdfListBase list = new PdfUnorderedList(formatted2); list.setFont(font); list.setIndent(8); list.setTextIndent(5); list.setBrush(brush); PdfLayoutResult result = list.draw(page, 0, y); y = (float) (result.getBounds().getHeight()+result.getBounds().getY()); //畫(huà)有序列表 PdfSortedList sortedList = new PdfSortedList(formatted1); sortedList.setFont(font); sortedList.setIndent(8); sortedList.setTextIndent(5); sortedList.setBrush(brush); sortedList.draw(page, 0, y); //保存文檔 doc.saveToFile("list.pdf"); doc.close(); } }
列表設(shè)置效果:
相關(guān)文章
Spring Boot之內(nèi)嵌tomcat版本升級(jí)操作示例
這篇文章主要為大家介紹了Spring Boot之內(nèi)嵌tomcat版本升級(jí)操作示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06使用?Spring?Boot?Admin?監(jiān)控應(yīng)用狀態(tài)的詳細(xì)過(guò)程
這篇文章主要介紹了使用?Spring?Boot?Admin?監(jiān)控應(yīng)用狀態(tài),該模塊采集應(yīng)用的內(nèi)部信息,并暴露給外部的模塊,支持?HTTP?和?JMX,并可以與一些第三方監(jiān)控系統(tǒng)(如?Prometheus)整合,需要的朋友可以參考下2022-09-09java實(shí)現(xiàn)液晶數(shù)字字體顯示當(dāng)前時(shí)間
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)液晶數(shù)字字體顯示當(dāng)前時(shí)間,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-12-12Java利用MD5加鹽實(shí)現(xiàn)對(duì)密碼進(jìn)行加密處理
在開(kāi)發(fā)的時(shí)候,有一些敏感信息是不能直接通過(guò)明白直接保存到數(shù)據(jù)庫(kù)的。最經(jīng)典的就是密碼了。如果直接把密碼以明文的形式入庫(kù),不僅會(huì)泄露用戶的隱私,對(duì)系統(tǒng)也是極其的不厲。本文就來(lái)和大家介紹一下如何對(duì)密碼進(jìn)行加密處理,感興趣的可以了解一下2023-02-02Java線程的生命周期和狀態(tài)控制_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了Java線程的生命周期和狀態(tài)控制,需要的朋友可以參考下2017-05-05SpringMVC xml文件路徑在web.xml中的配置方式
這篇文章主要介紹了SpringMVC xml文件路徑在web.xml中的配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09