-
當(dāng)前位置:首頁(yè) > 創(chuàng)意學(xué)院 > 技術(shù) > 專題列表 > 正文
文章生成器自定義紙張(文章生成器自定義紙張大?。?/h1>
發(fā)布時(shí)間:2023-04-16 09:27:48
稿源:
創(chuàng)意嶺 閱讀:
77
大家好!今天讓創(chuàng)意嶺的小編來(lái)大家介紹下關(guān)于文章生成器自定義紙張的問(wèn)題,以下是小編對(duì)此問(wèn)題的歸納整理,讓我們一起來(lái)看看吧。
開始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁(yè)版、PC客戶端
官網(wǎng):https://ai.de1919.com。
本文目錄:

論文排版格式問(wèn)題
"節(jié)和節(jié)以下的序號(hào)和標(biāo)題一律靠裝訂線一邊版心的邊緣對(duì)齊"應(yīng)當(dāng)是指目錄吧,如果是的話那說(shuō)的意思就是你的“節(jié)”(如第一節(jié),第二節(jié)等)及其以下目錄都要靠左側(cè)(裝訂線的一邊)版心對(duì)齊。所謂版心就是指目錄的主要內(nèi)容區(qū)域,心下為例:
第一章:
第一節(jié)
一、
二。
第二節(jié):
第二章:
第一節(jié):
第二節(jié):
一、
二、
上面的版心就是指節(jié)以后的內(nèi)容區(qū)域。換句話說(shuō),如果你的節(jié)標(biāo)題是縮進(jìn)的,那你節(jié)以下的小標(biāo)題都要和節(jié)的標(biāo)題對(duì)齊即可。
如何運(yùn)用Java組件itext生成pdf
實(shí)現(xiàn)流程:
一、iText介紹
iText是著名的開放源碼的站點(diǎn)sourceforge一個(gè)項(xiàng)目,是用于生成PDF文檔的一個(gè)java類庫(kù)。通過(guò)iText不僅可以生成PDF或rtf的文檔,而且可以將XML、Html文件轉(zhuǎn)化為PDF文件。
二、建立第一個(gè)PDF文檔
用iText生成PDF文檔需要5個(gè)步驟:
?、俳om.lowagie.text.Document對(duì)象的實(shí)例。
Document document = new Document();
?、诮⒁粋€(gè)書寫器(Writer)與document對(duì)象關(guān)聯(lián),通過(guò)書寫器(Writer)可以將文檔寫入到磁盤中。
PDFWriter.getInstance(document, new FileOutputStream("Helloworld.PDF"));
③打開文檔。
document.open();
?、芟蛭臋n中添加內(nèi)容。
document.add(new Paragraph("Hello World"));
?、蓐P(guān)閉文檔。
document.close();
通過(guò)上面的5個(gè)步驟,就能產(chǎn)生一個(gè)Helloworld.PDF的文件,文件內(nèi)容為"Hello World"。
建立com.lowagie.text.Document對(duì)象的實(shí)例
com.lowagie.text.Document對(duì)象的構(gòu)建函數(shù)有三個(gè),分別是:
public Document();
public Document(Rectangle pageSize);
public Document(Rectangle pageSize,
int marginLeft,
int marginRight,
int marginTop,
int marginBottom);
構(gòu)建函數(shù)的參數(shù)pageSize是文檔頁(yè)面的大小,對(duì)于第一個(gè)構(gòu)建函數(shù),頁(yè)面的大小為A4,同Document(PageSize.A4)的效果一樣;
對(duì)于第三個(gè)構(gòu)建函數(shù),參數(shù)marginLeft、marginRight、marginTop、marginBottom分別為左、右、上、下的頁(yè)邊距。
通過(guò)參數(shù)pageSize可以設(shè)定頁(yè)面大小、面背景色、以及頁(yè)面橫向/縱向等屬性。iText定義了A0-A10、AL、LETTER、
HALFLETTER、_11x17、LEDGER、NOTE、B0-B5、ARCH_A-ARCH_E、FLSA
和FLSE等紙張類型,也可以通過(guò)Rectangle pageSize = new Rectangle(144,
720);自定義紙張。通過(guò)Rectangle方法rotate()可以將頁(yè)面設(shè)置成橫向。
書寫器(Writer)對(duì)象
一旦文檔(document)對(duì)象建立好之后,需要建立一個(gè)或多個(gè)書寫器(Writer)對(duì)象與之關(guān)聯(lián)。通過(guò)書寫器(Writer)對(duì)象可以將具體文檔
存盤成需要的格式,如com.lowagie.text.PDF.PDFWriter可以將文檔存成PDF文件,
com.lowagie.text.html.HtmlWriter可以將文檔存成html文件。
設(shè)定文檔屬性
在文檔打開之前,可以設(shè)定文檔的標(biāo)題、主題、作者、關(guān)鍵字、裝訂方式、創(chuàng)建者、生產(chǎn)者、創(chuàng)建日期等屬性,調(diào)用的方法分別是:
public boolean addTitle(String title)
public boolean addSubject(String subject)
public boolean addKeywords(String keywords)
public boolean addAuthor(String author)
public boolean addCreator(String creator)
public boolean addProducer()
public boolean addCreationDate()
public boolean addHeader(String name, String content)
其中方法addHeader對(duì)于PDF文檔無(wú)效,addHeader僅對(duì)html文檔有效,用于添加文檔的頭信息。
當(dāng)新的頁(yè)面產(chǎn)生之前,可以設(shè)定頁(yè)面的大小、書簽、腳注(HeaderFooter)等信息,調(diào)用的方法是:
public boolean setPageSize(Rectangle pageSize)
public boolean add(Watermark watermark)
public void removeWatermark()
public void setHeader(HeaderFooter header)
public void resetHeader()
public void setFooter(HeaderFooter footer)
public void resetFooter()
public void resetPageCount()
public void setPageCount(int pageN)
如果要設(shè)定第一頁(yè)的頁(yè)面屬性,這些方法必須在文檔打開之前調(diào)用。
對(duì)于PDF文檔,iText還提供了文檔的顯示屬性,通過(guò)調(diào)用書寫器的setViewerPreferences方法可以控制文檔打開時(shí)Acrobat Reader的顯示屬性,如是否單頁(yè)顯示、是否全屏顯示、是否隱藏狀態(tài)條等屬性。
另外,iText也提供了對(duì)PDF文件的安全保護(hù),通過(guò)書寫器(Writer)的setEncryption方法,可以設(shè)定文檔的用戶口令、只讀、可打印等屬性。
添加文檔內(nèi)容
所有向文檔添加的內(nèi)容都是以對(duì)象為單位的,如Phrase、Paragraph、Table、Graphic對(duì)象等。比較常用的是段落(Paragraph)對(duì)象,用于向文檔中添加一段文字。
三、文本處理
iText中用文本塊(Chunk)、短語(yǔ)(Phrase)和段落(paragraph)處理文本。
文本塊(Chunk)是處理文本的最小單位,有一串帶格式(包括字體、顏色、大小)的字符串組成。如以下代碼就是產(chǎn)生一個(gè)字體為HELVETICA、大小為10、帶下劃線的字符串:
Chunk chunk1 = new Chunk("This text is underlined", FontFactory.getFont(FontFactory.HELVETICA, 12, Font.UNDERLINE));
短語(yǔ)(Phrase)由一個(gè)或多個(gè)文本塊(Chunk)組成,短語(yǔ)(Phrase)也可以設(shè)定字體,但對(duì)于其中以設(shè)定過(guò)字體的文本塊
(Chunk)無(wú)效。通過(guò)短語(yǔ)(Phrase)成員函數(shù)add可以將一個(gè)文本塊(Chunk)加到短語(yǔ)(Phrase)中,
如:phrase6.add(chunk);
段落(paragraph)由一個(gè)或多個(gè)文本塊(Chunk)或短語(yǔ)(Phrase)組
成,相當(dāng)于WORD文檔中的段落概念,同樣可以設(shè)定段落的字體大小、顏色等屬性。另外也可以設(shè)定段落的首行縮進(jìn)、對(duì)齊方式(左對(duì)齊、右對(duì)齊、居中對(duì)齊)。
通過(guò)函數(shù)setAlignment可以設(shè)定段落的對(duì)齊方式, setAlignment的參數(shù)1為居中對(duì)齊、2為右對(duì)齊、3為左對(duì)齊,默認(rèn)為左對(duì)齊。
四、表格處理
iText中處理表格的類為:com.lowagie.text.Table和com.lowagie.text.PDF.PDFPTable,對(duì)于比
較簡(jiǎn)單的表格處理可以用com.lowagie.text.Table,但是如果要處理復(fù)雜的表格,這就需要
com.lowagie.text.PDF.PDFPTable進(jìn)行處理。這里就類com.lowagie.text.Table進(jìn)行說(shuō)明。
類com.lowagie.text.Table的構(gòu)造函數(shù)有三個(gè):
?、賂able (int columns)
?、赥able(int columns, int rows)
③Table(Properties attributes)
參數(shù)columns、rows、attributes分別為表格的列數(shù)、行數(shù)、表格屬性。創(chuàng)建表格時(shí)必須指定表格的列數(shù),而對(duì)于行數(shù)可以不用指定。
建立表格之后,可以設(shè)定表格的屬性,如:邊框?qū)挾取⑦吙蝾伾?、襯距(padding space 即單元格之間的間距)大小等屬性。下面通過(guò)一個(gè)簡(jiǎn)單的例子說(shuō)明如何使用表格,代碼如下:
1:Table table = new Table(3);
2:table.setBorderWidth(1);
3:table.setBorderColor(new Color(0, 0, 255));
4:table.setPadding(5);
5:table.setSpacing(5);
6:Cell cell = new Cell("header");
7:cell.setHeader(true);
8:cell.setColspan(3);
9:table.addCell(cell);
10:table.endHeaders();
11:cell = new Cell("example cell with colspan 1 and rowspan 2");
12:cell.setRowspan(2);
13:cell.setBorderColor(new Color(255, 0, 0));
14:table.addCell(cell);
15:table.addCell("1.1");
16:table.addCell("2.1");
17:table.addCell("1.2");
18:table.addCell("2.2");
19:table.addCell("cell test1");
20:cell = new Cell("big cell");
21:cell.setRowspan(2);
22:cell.setColspan(2);
23:table.addCell(cell);
24:table.addCell("cell test2");
運(yùn)行結(jié)果如下:
header
example cell with colspan 1 and rowspan 2 1.1 2.1
1.2 2.2
cell test1 big cell
cell test2
代碼1-5行用于新建一個(gè)表格,如代碼所示,建立了一個(gè)列數(shù)為3的表格,并將邊框?qū)挾仍O(shè)為1,顏色為藍(lán)色,襯距為5。
代碼6-10行用于設(shè)定表格的表頭,第7行cell.setHeader(true);是將該單元格作為表頭信息顯示;第8行
cell.setColspan(3);指定了該單元格占3列;為表格添加表頭信息時(shí),要注意的是一旦表頭信息添加完了之后,必須調(diào)用
endHeaders()方法,如第10行,否則當(dāng)表格跨頁(yè)后,表頭信息不會(huì)再顯示。
代碼11-14行是向表格中添加一個(gè)寬度占一列,長(zhǎng)度占二行的單元格。
往表格中添加單元格(cell)時(shí),按自左向右、從上而下的次序添加。如執(zhí)行完11行代碼后,表格的右下方出現(xiàn)2行2列的空白,這是再往表格添加單元格時(shí),先填滿這個(gè)空白,然后再另起一行,15-24行代碼說(shuō)明了這種添加順序。
五、圖像處理
iText中處理表格的類為com.lowagie.text.Image,目前iText支持的圖像格式有:GIF, Jpeg, PNG,
wmf等格式,對(duì)于不同的圖像格式,iText用同樣的構(gòu)造函數(shù)自動(dòng)識(shí)別圖像格式。通過(guò)下面的代碼分別獲得gif、jpg、png圖像的實(shí)例。
Image gif = Image.getInstance("vonnegut.gif");
Image jpeg = Image.getInstance("myKids.jpg");
Image png = Image.getInstance("hitchcock.png");
圖像的位置
圖像的位置主要是指圖像在文檔中的對(duì)齊方式、圖像和文本的位置關(guān)系。IText中通過(guò)函數(shù)public void setAlignment(int
alignment)進(jìn)行處理,參數(shù)alignment為Image.RIGHT、Image.MIDDLE、Image.LEFT分別指右對(duì)齊、居中、
左對(duì)齊;當(dāng)參數(shù)alignment為Image.TEXTWRAP、Image.UNDERLYING分別指文字繞圖形顯示、圖形作為文字的背景顯示。這
兩種參數(shù)可以結(jié)合以達(dá)到預(yù)期的效果,如setAlignment(Image.RIGHT|Image.TEXTWRAP)顯示的效果為圖像右對(duì)齊,文字
圍繞圖像顯示。
圖像的尺寸和旋轉(zhuǎn)
如果圖像在文檔中不按原尺寸顯示,可以通過(guò)下面的函數(shù)進(jìn)行設(shè)定:
public void scaleAbsolute(int newWidth, int newHeight)
public void scalePercent(int percent)
public void scalePercent(int percentX, int percentY)
函數(shù)public void scaleAbsolute(int newWidth, int
newHeight)直接設(shè)定顯示尺寸;函數(shù)public void scalePercent(int
percent)設(shè)定顯示比例,如scalePercent(50)表示顯示的大小為原尺寸的50%;而函數(shù)scalePercent(int
percentX, int percentY)則圖像高寬的顯示比例。
如果圖像需要旋轉(zhuǎn)一定角度之后在文檔中顯示,可以通過(guò)函數(shù)public void setRotation(double r)設(shè)定,參數(shù)r為弧度,如果旋轉(zhuǎn)角度為30度,則參數(shù)r= Math.PI / 6。
六、中文處理
默認(rèn)的iText字體設(shè)置不支持中文字體,需要下載遠(yuǎn)東字體包iTextAsian.jar,否則不能往PDF文檔中輸出中文字體。通過(guò)下面的代碼就可以在文檔中使用中文了:
BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
com.lowagie.text.Font FontChinese = new com.lowagie.text.Font(bfChinese, 12, com.lowagie.text.Font.NORMAL);
Paragraph pragraph=new Paragraph("你好", FontChinese);
以上就是關(guān)于文章生成器自定義紙張相關(guān)問(wèn)題的回答。希望能幫到你,如有更多相關(guān)問(wèn)題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。
推薦閱讀:
自媒體文章生成器(自媒體原創(chuàng)文章自動(dòng)生成軟件)
有哪些免費(fèi)的手機(jī)文章生成器(有哪些免費(fèi)的手機(jī)文章生成器軟件)
公眾號(hào)推送怎么寫(公眾號(hào)推送怎么寫文章)
兩千元手機(jī)排行榜(一千到兩千元手機(jī)性價(jià)比排行榜)
大家好!今天讓創(chuàng)意嶺的小編來(lái)大家介紹下關(guān)于文章生成器自定義紙張的問(wèn)題,以下是小編對(duì)此問(wèn)題的歸納整理,讓我們一起來(lái)看看吧。
開始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁(yè)版、PC客戶端
官網(wǎng):https://ai.de1919.com。
本文目錄:
論文排版格式問(wèn)題
"節(jié)和節(jié)以下的序號(hào)和標(biāo)題一律靠裝訂線一邊版心的邊緣對(duì)齊"應(yīng)當(dāng)是指目錄吧,如果是的話那說(shuō)的意思就是你的“節(jié)”(如第一節(jié),第二節(jié)等)及其以下目錄都要靠左側(cè)(裝訂線的一邊)版心對(duì)齊。所謂版心就是指目錄的主要內(nèi)容區(qū)域,心下為例:第一章:
第一節(jié)
一、
二。
第二節(jié):
第二章:
第一節(jié):
第二節(jié):
一、
二、
上面的版心就是指節(jié)以后的內(nèi)容區(qū)域。換句話說(shuō),如果你的節(jié)標(biāo)題是縮進(jìn)的,那你節(jié)以下的小標(biāo)題都要和節(jié)的標(biāo)題對(duì)齊即可。
如何運(yùn)用Java組件itext生成pdf
實(shí)現(xiàn)流程:一、iText介紹
iText是著名的開放源碼的站點(diǎn)sourceforge一個(gè)項(xiàng)目,是用于生成PDF文檔的一個(gè)java類庫(kù)。通過(guò)iText不僅可以生成PDF或rtf的文檔,而且可以將XML、Html文件轉(zhuǎn)化為PDF文件。
二、建立第一個(gè)PDF文檔
用iText生成PDF文檔需要5個(gè)步驟:
?、俳om.lowagie.text.Document對(duì)象的實(shí)例。
Document document = new Document();
?、诮⒁粋€(gè)書寫器(Writer)與document對(duì)象關(guān)聯(lián),通過(guò)書寫器(Writer)可以將文檔寫入到磁盤中。
PDFWriter.getInstance(document, new FileOutputStream("Helloworld.PDF"));
③打開文檔。
document.open();
?、芟蛭臋n中添加內(nèi)容。
document.add(new Paragraph("Hello World"));
?、蓐P(guān)閉文檔。
document.close();
通過(guò)上面的5個(gè)步驟,就能產(chǎn)生一個(gè)Helloworld.PDF的文件,文件內(nèi)容為"Hello World"。
建立com.lowagie.text.Document對(duì)象的實(shí)例
com.lowagie.text.Document對(duì)象的構(gòu)建函數(shù)有三個(gè),分別是:
public Document();
public Document(Rectangle pageSize);
public Document(Rectangle pageSize,
int marginLeft,
int marginRight,
int marginTop,
int marginBottom);
構(gòu)建函數(shù)的參數(shù)pageSize是文檔頁(yè)面的大小,對(duì)于第一個(gè)構(gòu)建函數(shù),頁(yè)面的大小為A4,同Document(PageSize.A4)的效果一樣;
對(duì)于第三個(gè)構(gòu)建函數(shù),參數(shù)marginLeft、marginRight、marginTop、marginBottom分別為左、右、上、下的頁(yè)邊距。
通過(guò)參數(shù)pageSize可以設(shè)定頁(yè)面大小、面背景色、以及頁(yè)面橫向/縱向等屬性。iText定義了A0-A10、AL、LETTER、
HALFLETTER、_11x17、LEDGER、NOTE、B0-B5、ARCH_A-ARCH_E、FLSA
和FLSE等紙張類型,也可以通過(guò)Rectangle pageSize = new Rectangle(144,
720);自定義紙張。通過(guò)Rectangle方法rotate()可以將頁(yè)面設(shè)置成橫向。
書寫器(Writer)對(duì)象
一旦文檔(document)對(duì)象建立好之后,需要建立一個(gè)或多個(gè)書寫器(Writer)對(duì)象與之關(guān)聯(lián)。通過(guò)書寫器(Writer)對(duì)象可以將具體文檔
存盤成需要的格式,如com.lowagie.text.PDF.PDFWriter可以將文檔存成PDF文件,
com.lowagie.text.html.HtmlWriter可以將文檔存成html文件。
設(shè)定文檔屬性
在文檔打開之前,可以設(shè)定文檔的標(biāo)題、主題、作者、關(guān)鍵字、裝訂方式、創(chuàng)建者、生產(chǎn)者、創(chuàng)建日期等屬性,調(diào)用的方法分別是:
public boolean addTitle(String title)
public boolean addSubject(String subject)
public boolean addKeywords(String keywords)
public boolean addAuthor(String author)
public boolean addCreator(String creator)
public boolean addProducer()
public boolean addCreationDate()
public boolean addHeader(String name, String content)
其中方法addHeader對(duì)于PDF文檔無(wú)效,addHeader僅對(duì)html文檔有效,用于添加文檔的頭信息。
當(dāng)新的頁(yè)面產(chǎn)生之前,可以設(shè)定頁(yè)面的大小、書簽、腳注(HeaderFooter)等信息,調(diào)用的方法是:
public boolean setPageSize(Rectangle pageSize)
public boolean add(Watermark watermark)
public void removeWatermark()
public void setHeader(HeaderFooter header)
public void resetHeader()
public void setFooter(HeaderFooter footer)
public void resetFooter()
public void resetPageCount()
public void setPageCount(int pageN)
如果要設(shè)定第一頁(yè)的頁(yè)面屬性,這些方法必須在文檔打開之前調(diào)用。
對(duì)于PDF文檔,iText還提供了文檔的顯示屬性,通過(guò)調(diào)用書寫器的setViewerPreferences方法可以控制文檔打開時(shí)Acrobat Reader的顯示屬性,如是否單頁(yè)顯示、是否全屏顯示、是否隱藏狀態(tài)條等屬性。
另外,iText也提供了對(duì)PDF文件的安全保護(hù),通過(guò)書寫器(Writer)的setEncryption方法,可以設(shè)定文檔的用戶口令、只讀、可打印等屬性。
添加文檔內(nèi)容
所有向文檔添加的內(nèi)容都是以對(duì)象為單位的,如Phrase、Paragraph、Table、Graphic對(duì)象等。比較常用的是段落(Paragraph)對(duì)象,用于向文檔中添加一段文字。
三、文本處理
iText中用文本塊(Chunk)、短語(yǔ)(Phrase)和段落(paragraph)處理文本。
文本塊(Chunk)是處理文本的最小單位,有一串帶格式(包括字體、顏色、大小)的字符串組成。如以下代碼就是產(chǎn)生一個(gè)字體為HELVETICA、大小為10、帶下劃線的字符串:
Chunk chunk1 = new Chunk("This text is underlined", FontFactory.getFont(FontFactory.HELVETICA, 12, Font.UNDERLINE));
短語(yǔ)(Phrase)由一個(gè)或多個(gè)文本塊(Chunk)組成,短語(yǔ)(Phrase)也可以設(shè)定字體,但對(duì)于其中以設(shè)定過(guò)字體的文本塊
(Chunk)無(wú)效。通過(guò)短語(yǔ)(Phrase)成員函數(shù)add可以將一個(gè)文本塊(Chunk)加到短語(yǔ)(Phrase)中,
如:phrase6.add(chunk);
段落(paragraph)由一個(gè)或多個(gè)文本塊(Chunk)或短語(yǔ)(Phrase)組
成,相當(dāng)于WORD文檔中的段落概念,同樣可以設(shè)定段落的字體大小、顏色等屬性。另外也可以設(shè)定段落的首行縮進(jìn)、對(duì)齊方式(左對(duì)齊、右對(duì)齊、居中對(duì)齊)。
通過(guò)函數(shù)setAlignment可以設(shè)定段落的對(duì)齊方式, setAlignment的參數(shù)1為居中對(duì)齊、2為右對(duì)齊、3為左對(duì)齊,默認(rèn)為左對(duì)齊。
四、表格處理
iText中處理表格的類為:com.lowagie.text.Table和com.lowagie.text.PDF.PDFPTable,對(duì)于比
較簡(jiǎn)單的表格處理可以用com.lowagie.text.Table,但是如果要處理復(fù)雜的表格,這就需要
com.lowagie.text.PDF.PDFPTable進(jìn)行處理。這里就類com.lowagie.text.Table進(jìn)行說(shuō)明。
類com.lowagie.text.Table的構(gòu)造函數(shù)有三個(gè):
?、賂able (int columns)
?、赥able(int columns, int rows)
③Table(Properties attributes)
參數(shù)columns、rows、attributes分別為表格的列數(shù)、行數(shù)、表格屬性。創(chuàng)建表格時(shí)必須指定表格的列數(shù),而對(duì)于行數(shù)可以不用指定。
建立表格之后,可以設(shè)定表格的屬性,如:邊框?qū)挾取⑦吙蝾伾?、襯距(padding space 即單元格之間的間距)大小等屬性。下面通過(guò)一個(gè)簡(jiǎn)單的例子說(shuō)明如何使用表格,代碼如下:
1:Table table = new Table(3);
2:table.setBorderWidth(1);
3:table.setBorderColor(new Color(0, 0, 255));
4:table.setPadding(5);
5:table.setSpacing(5);
6:Cell cell = new Cell("header");
7:cell.setHeader(true);
8:cell.setColspan(3);
9:table.addCell(cell);
10:table.endHeaders();
11:cell = new Cell("example cell with colspan 1 and rowspan 2");
12:cell.setRowspan(2);
13:cell.setBorderColor(new Color(255, 0, 0));
14:table.addCell(cell);
15:table.addCell("1.1");
16:table.addCell("2.1");
17:table.addCell("1.2");
18:table.addCell("2.2");
19:table.addCell("cell test1");
20:cell = new Cell("big cell");
21:cell.setRowspan(2);
22:cell.setColspan(2);
23:table.addCell(cell);
24:table.addCell("cell test2");
運(yùn)行結(jié)果如下:
header
example cell with colspan 1 and rowspan 2 1.1 2.1
1.2 2.2
cell test1 big cell
cell test2
代碼1-5行用于新建一個(gè)表格,如代碼所示,建立了一個(gè)列數(shù)為3的表格,并將邊框?qū)挾仍O(shè)為1,顏色為藍(lán)色,襯距為5。
代碼6-10行用于設(shè)定表格的表頭,第7行cell.setHeader(true);是將該單元格作為表頭信息顯示;第8行
cell.setColspan(3);指定了該單元格占3列;為表格添加表頭信息時(shí),要注意的是一旦表頭信息添加完了之后,必須調(diào)用
endHeaders()方法,如第10行,否則當(dāng)表格跨頁(yè)后,表頭信息不會(huì)再顯示。
代碼11-14行是向表格中添加一個(gè)寬度占一列,長(zhǎng)度占二行的單元格。
往表格中添加單元格(cell)時(shí),按自左向右、從上而下的次序添加。如執(zhí)行完11行代碼后,表格的右下方出現(xiàn)2行2列的空白,這是再往表格添加單元格時(shí),先填滿這個(gè)空白,然后再另起一行,15-24行代碼說(shuō)明了這種添加順序。
五、圖像處理
iText中處理表格的類為com.lowagie.text.Image,目前iText支持的圖像格式有:GIF, Jpeg, PNG,
wmf等格式,對(duì)于不同的圖像格式,iText用同樣的構(gòu)造函數(shù)自動(dòng)識(shí)別圖像格式。通過(guò)下面的代碼分別獲得gif、jpg、png圖像的實(shí)例。
Image gif = Image.getInstance("vonnegut.gif");
Image jpeg = Image.getInstance("myKids.jpg");
Image png = Image.getInstance("hitchcock.png");
圖像的位置
圖像的位置主要是指圖像在文檔中的對(duì)齊方式、圖像和文本的位置關(guān)系。IText中通過(guò)函數(shù)public void setAlignment(int
alignment)進(jìn)行處理,參數(shù)alignment為Image.RIGHT、Image.MIDDLE、Image.LEFT分別指右對(duì)齊、居中、
左對(duì)齊;當(dāng)參數(shù)alignment為Image.TEXTWRAP、Image.UNDERLYING分別指文字繞圖形顯示、圖形作為文字的背景顯示。這
兩種參數(shù)可以結(jié)合以達(dá)到預(yù)期的效果,如setAlignment(Image.RIGHT|Image.TEXTWRAP)顯示的效果為圖像右對(duì)齊,文字
圍繞圖像顯示。
圖像的尺寸和旋轉(zhuǎn)
如果圖像在文檔中不按原尺寸顯示,可以通過(guò)下面的函數(shù)進(jìn)行設(shè)定:
public void scaleAbsolute(int newWidth, int newHeight)
public void scalePercent(int percent)
public void scalePercent(int percentX, int percentY)
函數(shù)public void scaleAbsolute(int newWidth, int
newHeight)直接設(shè)定顯示尺寸;函數(shù)public void scalePercent(int
percent)設(shè)定顯示比例,如scalePercent(50)表示顯示的大小為原尺寸的50%;而函數(shù)scalePercent(int
percentX, int percentY)則圖像高寬的顯示比例。
如果圖像需要旋轉(zhuǎn)一定角度之后在文檔中顯示,可以通過(guò)函數(shù)public void setRotation(double r)設(shè)定,參數(shù)r為弧度,如果旋轉(zhuǎn)角度為30度,則參數(shù)r= Math.PI / 6。
六、中文處理
默認(rèn)的iText字體設(shè)置不支持中文字體,需要下載遠(yuǎn)東字體包iTextAsian.jar,否則不能往PDF文檔中輸出中文字體。通過(guò)下面的代碼就可以在文檔中使用中文了:
BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
com.lowagie.text.Font FontChinese = new com.lowagie.text.Font(bfChinese, 12, com.lowagie.text.Font.NORMAL);
Paragraph pragraph=new Paragraph("你好", FontChinese);
以上就是關(guān)于文章生成器自定義紙張相關(guān)問(wèn)題的回答。希望能幫到你,如有更多相關(guān)問(wèn)題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。
推薦閱讀:
自媒體文章生成器(自媒體原創(chuàng)文章自動(dòng)生成軟件)
有哪些免費(fèi)的手機(jī)文章生成器(有哪些免費(fèi)的手機(jī)文章生成器軟件)
公眾號(hào)推送怎么寫(公眾號(hào)推送怎么寫文章)
兩千元手機(jī)排行榜(一千到兩千元手機(jī)性價(jià)比排行榜)