文檔中的設(shè)置有序或無序列表是一種反應(yīng)內(nèi)容上下級(jí)關(guān)系或者內(nèi)容相同屬性的方式,與單純的文字?jǐn)⑹鱿啾龋苡行г鰪?qiáng)文檔內(nèi)容的條理性,突出重點(diǎn)。因此,本文將分享通過Java編程在PDF文檔中設(shè)置有序或無序列表的方法。
使用工具:Free Spire.PDF for Java V2.2.2(免費(fèi)版)
Jar文件導(dǎo)入:
Step1:在Java程序中新建一個(gè)文件夾可命名為L(zhǎng)ib。并將下載包中的jar文件(如下圖)復(fù)制到新建的文件夾下。
Step2:復(fù)制文件后,添加到引用類庫:選中這個(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()); //添加新的一頁 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("部門活動(dòng)采購清單", font1, brush1, page.getCanvas().getClientSize().getWidth() / 2, y, format1); y = y + (float) font1.measureString("活動(dòng)采購清單", 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開發(fā)部/n銷售部/n后勤處/n保衛(wèi)處"; String formatted2 = "飲料/n調(diào)味品/n糖果/n奶制品/n肉類/n蔬菜/n海鮮"; //畫無序列表 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()); //畫有序列表 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è)置效果:
新聞熱點(diǎn)
疑難解答
圖片精選