itext7介面和類概述以及pdf常見操作
本文很多資源來自http://developers.itextpdf.com/content/itext-7-jump-start-tutorial
itext7整體結構
在層次結構的頂部,我們找到了IPropertyContainer介面。此介面定義設定,獲取和刪除屬性的方法。這個介面有兩個直接的子介面:IElement和IRenderer。該IElement介面將由例如來實現Text,Paragraph和Table。這些是我們將直接或間接新增到文件中的物件。該IRenderer介面將由例如來實現TextRenderer,ParagraphRenderer和TableRenderer。這些渲染器由iText在內部使用,但如果我們想要調整渲染物件的方式,我們可以將它們子類化。
該IElement介面有兩個自己的子介面。該ILeafElement介面將通過不包含任何其他元素的構建塊來實現。例如:您可以向物件新增元素Text或Image元素Paragraph,但不能向元素Text或Image元素新增任何物件。Text並Image實現ILeafElement介面以反映這一點。最後,還有一個LargeElement介面,允許您在新增完所有內容之前渲染物件。它由Table類實現,這意味著在完成新增所有檔案之前將表新增到文件中Cell物件。通過這樣做,您可以減少記憶體使用:可以在內容完成之前呈現的所有表內容可以從記憶體中重新整理。
該IPropertyContainer介面是由抽象的實現ElementPropertyContainer類。這個類有三個子類;
Style:是各種樣式屬性,如利潤率,填充和旋轉的容器。它繼承了抽象ElementPropertyContainer類中的樣式值,如寬度,高度,顏色,邊框和對齊方式。
RootElement:定義的方法來新增內容,使用任一種add()方法或showTextAligned()方法。
Document:將此內容新增到頁面。
Canvas:不知道頁面的概念。它充當高階佈局 API和核心 API 之間的橋樑。
給出了AbstractElement實現的概述。
從類派生的所有類都AbstractElement實現了IElement介面。Text,Image,Tab並且Link也實現了ILeafElement介面。ILargeElement介面僅由Table類實現。基本構建塊使您可以輕鬆建立標記的PDF。
各個實現類的功能:
所有向文件新增的內容都是以物件為單位的,如Phrase、Paragraph、Table、Graphic物件等。比較常用的是段落(Paragraph)物件,用於向文件中新增一段文字。
PdfWriter是一個可以寫PDF檔案的物件,它不需要了解它要寫的pdf的實際內容是什麼,PdfWriter不需要知道文件是什麼,一旦檔案結構完成,它就寫不同的檔案部分,不同的物件,構成一個有效的文件。PdfWriter的初始化引數可以是檔名或者Stream。
Document是建立自給自足的PDF時的預設根元素。它管理高階操作,例如設定頁面大小和旋轉,新增元素以及在特定座標處寫入文字。它不瞭解實際的PDF概念和語法。可以通過擴充套件DocumentRenderer類並使用該setRenderer()方法設定此自定義渲染器的例項來修改Document的渲染行為。
Canvas 用於在使用a上的絕對位置定義的特定矩形內新增BlockElement和Image內容PdfCanvas。Canvas不知道頁面的概念,不適合矩形的內容將丟失。此類充當高階佈局API和核心API之間的橋樑。
pdf頁面元素物件
Text:是任意長度的文字。它是可以承載特定佈局屬性的最小內容。
Link:連結,可單擊部分{@link Text}。這個概念在很大程度上類似於HTML錨標籤。
Image:圖片處理
Paragraph:表示文字和圖形的自包含塊的佈局元素。
Div:它定義文件中的一個部分,該部分將具有一些共享的佈局屬性。它將盡可能佔用儘可能多的水平空間。
List:列表處理
ListItem:列表項是一個佈局元素,它是List中的一個條目
Table:表格處理
Cell:單元格處理
LineSeparator:行分隔符
pdf常見操作
1、生成一個PDF
2、設定頁面大小,頁面背景色,頁邊空白,Title,Author,Subject,Keywords
3、設定密碼
4、新增Page
5、新增水印(背景圖)
6、插入頁面元素
7、刪除Page
8、插入Page
9、排序page
10、目錄
11、Header, Footer
12、文字對齊
13、幻燈片放映
14、壓縮PDF到Zip
15、分割PDF
16、合併PDF
17、添加註釋
18、設定頁首頁尾
插入元素相關操作
1、插入Chunk, Phrase, Paragraph, List
2、插入Anchor, Image, Chapter, Section
3、畫圖
4、插入影象
5、插入一個Table
6、設定段落
7、表格巢狀
8、設定表格寬度
9、設定表格前後間隔
10、設定單元格寬度
11、設定單元格高度
12、設定單元格顏色
13、設定表頭
14、分割表格
15、設定單元格留白
16、設定單元格邊框
後續章節將一步一步實現上面操作,同時學習從pdf模板生成pdf檔案,以及html生成pdf檔案,敬請期待!