日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iText使用

發布時間:2023/12/14 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iText使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

創建一個空白的PDF

創建一個 AreaBreak

創建段落

創建列表

將表格添加到 Pdf

格式化表格中的單元格

格式化單元格的邊框

將圖像添加到表格

在PDF中添加嵌套表

將列表添加到 PDF 中的表格

將圖像添加到 Pdf

設置圖像的位置

縮放PDF中的圖像

旋轉PDF中的圖像

在PDF中創建文本注釋

在PDF中創建鏈接注釋

在PDF中創建線注釋

在PDF中創建標記注釋

在PDF中創建圓形注釋

在PDF上繪制圓弧

在PDF上畫線

在PDF上畫圓

設置PDF中文本的字體

縮小PDF中的內容

平鋪PDF頁面

動態添加表格且自動換頁

Merger兩個PDF


創建一個空白的PDF

可以通過實例化Document類來創建一個空的 PDF 文檔。在實例化此類時,你需要將PdfDocument對象作為參數傳遞給其構造函數。

第 1 步:創建一個 PdfWriter 對象 該PdfWriter類表示PDF文檔的作家。此類屬于包com.itextpdf.kernel.pdf。此類的構造函數接受一個字符串,表示要在其中創建 PDF 的文件的路徑。 通過向其構造函數傳遞一個字符串值(表示您需要創建 PDF 的路徑)來實例化 PdfWriter 類,如下所示。第 2 步:創建一個 PdfDocument 對象 該PdfDocument類為表示在iText的PDF文檔類。此類屬于包com.itextpdf.kernel.pdf。要實例化此類(在寫入模式下),您需要將PdfWriter類的對象傳遞給其構造函數。 通過將上面創建的 PdfWriter 對象傳遞給其構造函數來實例化 PdfDocument 類,如下所示。第 3 步:添加一個空頁面 PdfDocument類的addNewPage()方法用于在 PDF 文檔中創建一個空白頁面。 為上一步創建的 PDF 文檔添加一個空白頁面,如下所示。第 4 步:創建一個 Document 對象 包com.itextpdf.layout的Document類是創建自給自足的 PDF 時的根元素。此類的構造函數之一接受類 PdfDocument 的對象。 通過傳遞在前面的步驟中創建的類PdfDocument的對象來實例化Document類,如下所示。步驟 5:關閉文檔 使用Document類的close()方法關閉文檔,如下所示。import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.layout.Document; public class create_PDF { public static void main(String args[]) throws Exception { // 1、Creating a PdfWriter String dest = "C:/itextExamples/sample.pdf"; PdfWriter writer = new PdfWriter(dest);// 2、Creating a PdfDocument PdfDocument pdfDoc = new PdfDocument(writer);// 3、Adding an empty page pdfDoc.addNewPage(); // 4、Creating a Document Document document = new Document(pdfDoc); // 5、Closing the document document.close();System.out.println("PDF Created"); } }

創建一個 AreaBreak

你可以通過實例化Document類來創建一個空的 PDF 文檔。在實例化此類時,你需要將PdfDocument對象作為參數傳遞給其構造函數。
然后,要將 areabreak 添加到文檔,你需要實例化AreaBreak類并使用add()方法將此對象添加到文檔。

創建區域中斷對象 所述AreaBreak類屬于包com.itextpdf.layout.element。在實例化這個類時,當前的上下文區域將被終止并創建一個具有相同大小的新區域(如果我們使用默認構造函數)。 實例化AreaBreak類,如下所示。import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.layout.Document; import com.itextpdf.layout.element.AreaBreak; public class AddingAreaBreak { public static void main(String args[]) throws Exception { // Creating a PdfWriter String dest = "C:/itextExamples/addingAreaBreak.pdf"; PdfWriter writer = new PdfWriter(dest);// Creating a PdfDocument PdfDocument pdf = new PdfDocument(writer); // Creating a Document by passing PdfDocument object to its constructor Document document = new Document(pdf); // Creating an Area Break AreaBreak aB = new AreaBreak(); // Adding area break to the PDF document.add(aB); // Closing the document document.close(); System.out.println("Pdf created"); } }

創建段落

你可以通過實例化Document類來創建一個空的 PDF 文檔。
在實例化此類時,你需要將PdfDocument對象作為參數傳遞給其構造函數。
然后,要將段落添加到文檔中,你需要實例化Paragraph類并使用add()方法將此對象添加到文檔中。

創建一個段落對象 的段落類表示的文本和圖形信息的自包含塊。它屬于com.itextpdf.layout.element包。 通過將文本內容作為字符串傳遞給其構造函數來實例化Paragraph類,如下所示。import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.layout.Document; import com.itextpdf.layout.element.Paragraph; public class AddingParagraph { public static void main(String args[]) throws Exception {// Creating a PdfWriter String dest = "C:/itextExamples/addingParagraph.pdf"; PdfWriter writer = new PdfWriter(dest); // Creating a PdfDocument PdfDocument pdf = new PdfDocument(writer); // Creating a Document Document document = new Document(pdf); String para1 = "Tutorials Point originated from the idea that there exists a class of readers who respond better to online content and prefer to learn new skills at their own pace from the comforts of their drawing rooms."; String para2 = "The journey commenced with a single tutorial on HTML in 2006 and elated by the response it generated, we worked our way to adding fresh tutorials to our repository which now proudly flaunts a wealth of tutorials and allied articles on topics ranging from programming languages to web designing to academics and much more."; // Creating Paragraphs Paragraph paragraph1 = new Paragraph(para1); Paragraph paragraph2 = new Paragraph(para2); // Adding paragraphs to document document.add(paragraph1); document.add(paragraph2); // Closing the document document.close(); System.out.println("Paragraph added"); } }

創建列表

你可以通過實例化Document類來創建一個空的 PDF 文檔。
在實例化此類時,你需要將PdfDocument對象作為參數傳遞給其構造函數。
然后,要將列表添加到文檔中,你需要實例化List類并使用add()方法將此對象添加到文檔中。

創建一個 List 對象 該目錄類表示一系列垂直列出的對象。它屬于com.itextpdf.layout.element包。 實例化List類,如下所示。import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.layout.Document; import com.itextpdf.layout.element.List; import com.itextpdf.layout.element.Paragraph; public class AddingList { public static void main(String args[]) throws Exception { // Creating a PdfWriterString dest = "C:/itextExamples/addngList.pdf"; PdfWriter writer = new PdfWriter(dest); // Creating a PdfDocument PdfDocument pdf = new PdfDocument(writer); // Creating a Document Document document = new Document(pdf); // Creating a Paragraph Paragraph paragraph = new Paragraph("Tutorials Point provides the following tutorials");// Creating a listList list = new List(); // Add elements to the list list.add("Java"); list.add("JavaFX"); list.add("Apache Tika"); list.add("OpenCV"); list.add("WebGL"); list.add("Coffee Script"); list.add("Java RMI"); list.add("Apache Pig"); // Adding paragraph to the document document.add(paragraph); // Adding list to the document document.add(list);// Closing the document document.close(); System.out.println("List added"); } }

將表格添加到 Pdf

你可以通過實例化Document類來創建一個空的 PDF 文檔。
在實例化此類時,你需要將PdfDocument對象作為參數傳遞給其構造函數。
然后,要將表格添加到文檔中,你需要實例化Table類并使用add()方法將此對象添加到文檔中。

創建一個 Table 對象 該表類表示填充有以行和列排列的細胞的二維網格。它屬于com.itextpdf.layout.element包。 實例化Table類,如下所示。import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.layout.Document; import com.itextpdf.layout.element.Cell; import com.itextpdf.layout.element.Table; public class AddingTable { public static void main(String args[]) throws Exception { // Creating a PdfDocument object String dest = "C:/itextExamples/addingTable.pdf"; PdfWriter writer = new PdfWriter(dest); // Creating a PdfDocument object PdfDocument pdf = new PdfDocument(writer); // Creating a Document object Document doc = new Document(pdf); // Creating a table float [] pointColumnWidths = {150F, 150F, 150F}; Table table = new Table(pointColumnWidths); // Adding cells to the table table.addCell(new Cell().add("Name")); table.addCell(new Cell().add("Raju")); table.addCell(new Cell().add("Id")); table.addCell(new Cell().add("1001")); table.addCell(new Cell().add("Designation")); table.addCell(new Cell().add("Programmer")); // Adding Table to document doc.add(table); // Closing the document doc.close();System.out.println("Table created successfully.."); } }

格式化表格中的單元格

你可以通過實例化 Document 類來創建一個空的 PDF文檔。
在實例化此類時,你需要將PdfDocument對象作為參數傳遞給其構造函數。
然后,要將表格添加到文檔中,你需要實例化Table類并使用add()方法將此對象添加到文檔中。
你可以使用Cell類的方法格式化表格中單元格的內容。

為單元格添加背景 創建單元格并向其中添加內容后,可以設置單元格的格式。 例如,可以設置其背景,對齊單元格內的文本,更改文本顏色等,使用單元格類的不同方法, 例如setBackgroundColor()、setBorder()、setTextAlignment()。import com.itextpdf.kernel.color.Color; import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.layout.Document; import com.itextpdf.layout.border.Border; import com.itextpdf.layout.element.Cell; import com.itextpdf.layout.element.Table; import com.itextpdf.layout.property.TextAlignment; public class BackgroundToTable { public static void main(String args[]) throws Exception { // Creating a PdfWriter object String dest = "C:/itextExamples/addingBackground.pdf"; PdfWriter writer = new PdfWriter(dest); // Creating a PdfDocument object PdfDocument pdfDoc = new PdfDocument(writer); // Creating a Document object Document doc = new Document(pdfDoc); // Creating a table float [] pointColumnWidths = {200F, 200F}; Table table = new Table(pointColumnWidths);// Populating row 1 and adding it to the table Cell c1 = new Cell(); // Creating cell 1 c1.add("Name"); // Adding name to cell 1 c1.setBackgroundColor(Color.DARK_GRAY); // Setting background colorc1.setBorder(Border.NO_BORDER); // Setting borderc1.setTextAlignment(TextAlignment.CENTER); // Setting text alignment table.addCell(c1); // Adding cell 1 to the table Cell c2 = new Cell(); c2.add("Raju"); c2.setBackgroundColor(Color.GRAY); c2.setBorder(Border.NO_BORDER); c2.setTextAlignment(TextAlignment.CENTER); table.addCell(c2); // Populating row 2 and adding it to the table Cell c3 = new Cell(); c3.add("Id"); c3.setBackgroundColor(Color.WHITE); c3.setBorder(Border.NO_BORDER); c3.setTextAlignment(TextAlignment.CENTER); table.addCell(c3); Cell c4 = new Cell(); c4.add("001"); c4.setBackgroundColor(Color.WHITE); c4.setBorder(Border.NO_BORDER); c4.setTextAlignment(TextAlignment.CENTER); table.addCell(c4); // Populating row 3 and adding it to the table Cell c5 = new Cell(); c5.add("Designation"); c5.setBackgroundColor(Color.DARK_GRAY); c5.setBorder(Border.NO_BORDER); c5.setTextAlignment(TextAlignment.CENTER); table.addCell(c5); Cell c6 = new Cell(); c6.add("Programmer"); c6.setBackgroundColor(Color.GRAY); c6.setBorder(Border.NO_BORDER); c6.setTextAlignment(TextAlignment.CENTER); table.addCell(c6); // Adding Table to document doc.add(table); // Closing the document doc.close(); System.out.println("Background added successfully.."); } }

格式化單元格的邊框

可以通過實例化Document類來創建一個空的 PDF 文檔。
在實例化此類時,需要將PdfDocument對象作為參數傳遞給其構造函數。

格式化單元格的邊框 iText 庫提供了各種表示邊框的類,例如DashedBorder、SolidBorder、DottedBorder、DoubleBorder、RoundDotsBorder等。 這些類的構造函數接受兩個參數:一個表示邊框顏色的顏色對象和一個表示邊框寬度的整數。 選擇其中一種邊框類型并通過傳遞顏色對象和一個表示寬度的整數來實例化相應的邊框,如下所示。import com.itextpdf.kernel.color.Color; import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.layout.Document; import com.itextpdf.layout.border.Border; import com.itextpdf.layout.border.DashedBorder; import com.itextpdf.layout.border.DottedBorder; import com.itextpdf.layout.border.DoubleBorder; import com.itextpdf.layout.border.RoundDotsBorder; import com.itextpdf.layout.border.SolidBorder; import com.itextpdf.layout.element.Cell; import com.itextpdf.layout.element.Table; import com.itextpdf.layout.property.TextAlignment; public class FormatedBorders { public static void main(String args[]) throws Exception {// Creating a PdfWriter object String dest = "C:/itextExamples/coloredBorders.pdf"; PdfWriter writer = new PdfWriter(dest); // Creating a PdfDocument object PdfDocument pdfDoc = new PdfDocument(writer); // Creating a Document object Document doc = new Document(pdfDoc); // Creating a table float [] pointColumnWidths = {200F, 200F}; Table table = new Table(pointColumnWidths); // Adding row 1 to the tableCell c1 = new Cell();// Adding the contents of the cellc1.add("Name");// Setting the back ground color of the cellc1.setBackgroundColor(Color.DARK_GRAY); // Instantiating the Border class Border b1 = new DashedBorder(Color.RED, 3);// Setting the border of the cellc1.setBorder(b1);// Setting the text alignment c1.setTextAlignment(TextAlignment.CENTER);// Adding the cell to the table table.addCell(c1); Cell c2 = new Cell(); c2.add("Raju"); c1.setBorder(new SolidBorder(Color.RED, 3)); c2.setTextAlignment(TextAlignment.CENTER); table.addCell(c2);// Adding row 2 to the table Cell c3 = new Cell(); c3.add("Id"); c3.setBorder(new DottedBorder(Color.DARK_GRAY, 3)); c3.setTextAlignment(TextAlignment.CENTER); table.addCell(c3); Cell c4 = new Cell(); c4.add("001"); c4.setBorder(new DoubleBorder(Color.DARK_GRAY, 3)); c4.setTextAlignment(TextAlignment.CENTER); table.addCell(c4); // Adding row 3 to the table Cell c5 = new Cell(); c5.add("Designation"); c5.setBorder(new RoundDotsBorder(Color.RED, 3)); c5.setTextAlignment(TextAlignment.CENTER); table.addCell(c5); Cell c6 = new Cell(); c6.add("Programmer"); c6.setBorder(new RoundDotsBorder(Color.RED, 3)); c6.setTextAlignment(TextAlignment.CENTER); table.addCell(c6); // Adding Table to document doc.add(table); // Closing the document doc.close(); System.out.println("Borders added successfully.."); } }

將圖像添加到表格

可以通過實例化Document類來創建一個空的 PDF 文檔。
在實例化此類時,需要將PdfDocument對象作為參數傳遞給其構造函數。
然后,要將表格添加到文檔中,需要實例化Table類并使用add()方法將此對象添加到文檔中。

創建圖像 要創建圖像對象,首先要使用ImageDataFactory類的create()方法創建一個ImageData對象。 作為該方法的參數,傳入一個代表圖片路徑的字符串參數,如下。import com.itextpdf.io.image.ImageData; import com.itextpdf.io.image.ImageDataFactory; import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.layout.Document; import com.itextpdf.layout.element.Cell; import com.itextpdf.layout.element.Image; import com.itextpdf.layout.element.Table; public class a3AddingImageToTable {public static void main(String args[]) throws Exception {// Creating a PdfWriter object String dest = "C:/itextExamples/addingImage.pdf";PdfWriter writer = new PdfWriter(dest); // Creating a PdfDocument object PdfDocument pdfDoc = new PdfDocument(writer);// Creating a Document objectDocument doc = new Document(pdfDoc);// Creating a tablefloat [] pointColumnWidths = {150f, 150f};Table table = new Table(pointColumnWidths);// Populating row 1 and adding it to the tableCell cell1 = new Cell();cell1.add("Tutorial ID");table.addCell(cell1);Cell cell2 = new Cell();cell2.add("1");table.addCell(cell2);// Populating row 2 and adding it to the tableCell cell3 = new Cell();cell3.add("Tutorial Title");table.addCell(cell3); Cell cell4 = new Cell(); cell4.add("JavaFX"); table.addCell(cell4);// Populating row 3 and adding it to the tableCell cell5 = new Cell();cell5.add("Tutorial Author");table.addCell(cell5); Cell cell6 = new Cell();cell6.add("Krishna Kasyap");table.addCell(cell6);// Populating row 4 and adding it to the tableCell cell7 = new Cell();cell7.add("Submission date");table.addCell(cell7);Cell cell8 = new Cell();cell8.add("2016-07-06");table.addCell(cell8); // Populating row 5 and adding it to the tableCell cell9 = new Cell();cell9.add("Tutorial Icon");table.addCell(cell9); // Creating the cell10 Cell cell10 = new Cell(); // Creating an ImageData object String imageFile = "C:/itextExamples/javafxLogo.jpg"; ImageData data = ImageDataFactory.create(imageFile); // Creating the image Image img = new Image(data); // Adding image to the cell10 cell10.add(img.setAutoScale(true)); // Adding cell110 to the table table.addCell(cell10); // Adding Table to document doc.add(table); // Closing the document doc.close(); System.out.println("Image added to table successfully.."); } }

在PDF中添加嵌套表

可以通過實例化Document類來創建一個空的 PDF 文檔。
在實例化此類時,需要將PdfDocument對象作為參數傳遞給其構造函數。
然后,要將表格添加到文檔中,需要實例化Table類并使用add()方法將此對象添加到文檔中。
要將表添加到該表中,需要創建另一個表(嵌套表),并使用Cell類的add()方法將其傳遞給單元對象。

import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.layout.Document; import com.itextpdf.layout.element.Cell; import com.itextpdf.layout.element.Table; public class a4AddNestedTablesPdf { public static void main(String args[]) throws Exception { // Creating a PdfWriter object String dest = "C:/itextExamples/addingNestedTable.pdf"; PdfWriter writer = new PdfWriter(dest); // Creating a PdfDocument object PdfDocument pdfDoc = new PdfDocument(writer); // Creating a Document object Document doc = new Document(pdfDoc); // Creating a table float [] pointColumnWidths1 = {150f, 150f}; Table table = new Table(pointColumnWidths1); // Populating row 1 and adding it to the table Cell cell1 = new Cell(); cell1.add("Name"); table.addCell(cell1); Cell cell2 = new Cell(); cell2.add("Raju"); table.addCell(cell2); // Populating row 2 and adding it to the table Cell cell3 = new Cell(); cell3.add("Id"); table.addCell(cell3); Cell cell4 = new Cell(); cell4.add("1001"); table.addCell(cell4); // Populating row 3 and adding it to the table Cell cell5 = new Cell(); cell5.add("Designation"); table.addCell(cell5); Cell cell6 = new Cell(); cell6.add("Programmer"); table.addCell(cell6); // Creating nested table for contact float [] pointColumnWidths2 = {150f, 150f}; Table nestedTable = new Table(pointColumnWidths2); // Populating row 1 and adding it to the nested table Cell nested1 = new Cell(); nested1.add("Phone"); nestedTable.addCell(nested1); Cell nested2 = new Cell(); nested2.add("9848022338"); nestedTable.addCell(nested2); // Populating row 2 and adding it to the nested table Cell nested3 = new Cell(); nested3.add("email"); nestedTable.addCell(nested3); Cell nested4 = new Cell(); nested4.add("Raju123@gmail.com"); nestedTable.addCell(nested4); // Populating row 3 and adding it to the nested table Cell nested5 = new Cell(); nested5.add("Address"); nestedTable.addCell(nested5); Cell nested6 = new Cell(); nested6.add("Hyderabad"); nestedTable.addCell(nested6); // Adding table to the cell Cell cell7 = new Cell(); cell7.add("Contact"); table.addCell(cell7); Cell cell8 = new Cell(); cell8.add(nestedTable); table.addCell(cell8);// Adding table to the document doc.add(table); // Closing the document doc.close(); System.out.println("Nested Table Added successfully.."); } }

將列表添加到 PDF 中的表格

可以通過實例化Document類來創建一個空的 PDF 文檔。
在實例化此類時,需要將PdfDocument對象作為參數傳遞給其構造函數。
然后,要將表格添加到文檔中,需要實例化Table類并使用add()方法將此對象添加到文檔中。

將列表添加到表格的單元格 現在,使用Cell 類的add()方法將上面創建的列表添加到表格的單元格中。 然后,使用Table類的addCell()方法將此單元格添加到表格中,如下所示import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.layout.Document; import com.itextpdf.layout.element.Cell; import com.itextpdf.layout.element.List; import com.itextpdf.layout.element.ListItem; import com.itextpdf.layout.element.Table; import com.itextpdf.layout.property.TextAlignment; public class AddingListsToTable { public static void main(String args[]) throws Exception { // Creating a PdfWriter objectString file = "C:/itextExamples/addingObjects.pdf"; PdfDocument pdfDoc = new PdfDocument(new PdfWriter(file)); // Creating a Document object Document doc = new Document(pdfDoc); // Creating a table float [] pointColumnWidths = {300F, 300F}; Table table = new Table(pointColumnWidths); // Adding row 1 to the table Cell c1 = new Cell(); c1.add("Java Related Tutorials"); c1.setTextAlignment(TextAlignment.LEFT); table.addCell(c1); List list1 = new List(); ListItem item1 = new ListItem("JavaFX");ListItem item2 = new ListItem("Java"); ListItem item3 = new ListItem("Java Servlets"); list1.add(item1); list1.add(item2); list1.add(item3); Cell c2 = new Cell(); c2.add(list1); c2.setTextAlignment(TextAlignment.LEFT); table.addCell(c2); // Adding row 2 to the table Cell c3 = new Cell(); c3.add("No SQL Databases"); c3.setTextAlignment(TextAlignment.LEFT); table.addCell(c3); List list2 = new List(); list2.add(new ListItem("HBase")); list2.add(new ListItem("Neo4j")); list2.add(new ListItem("MongoDB")); Cell c4 = new Cell(); c4.add(list2); c4.setTextAlignment(TextAlignment.LEFT); table.addCell(c4); // Adding Table to document doc.add(table); // Closing the document doc.close(); System.out.println("Lists added to table successfully.."); } }

將圖像添加到 Pdf

可以通過實例化Document類來創建一個空的 PDF 文檔。
在實例化此類時,需要將PdfDocument對象作為參數傳遞給其構造函數。
要將圖像添加到 PDF,請創建需要添加的圖像對象,并使用Document類的add()方法添加它

創建一個 Image 對象 要創建圖像對象,首先要使用ImageDataFactory類的create()方法創建一個ImageData對象。 作為該方法的參數,傳入一個代表圖片路徑的字符串參數,如下import com.itextpdf.io.image.ImageData; import com.itextpdf.io.image.ImageDataFactory; import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfWriter;import com.itextpdf.layout.Document; import com.itextpdf.layout.element.Image; public class AddingImage { public static void main(String args[]) throws Exception { // Creating a PdfWriter String dest = "C:/itextExamples/addingImage.pdf"; PdfWriter writer = new PdfWriter(dest); // Creating a PdfDocument PdfDocument pdf = new PdfDocument(writer); // Creating a Document Document document = new Document(pdf); // Creating an ImageData object String imFile = "C:/itextExamples/logo.jpg"; ImageData data = ImageDataFactory.create(imFile); // Creating an Image object Image image = new Image(data); // Adding image to the document document.add(image); // Closing the document document.close(); System.out.println("Image added"); } }

設置圖像的位置

可以通過實例化Document類來創建一個空的 PDF 文檔。
在實例化此類時,需要將PdfDocument對象作為參數傳遞給其構造函數。

設置圖片的位置 可以使用Image的setFixedPosition()方法設置圖像在 PDF 文檔中的位置。 使用此方法將圖像的位置設置為文檔上的坐標(100, 250),如下所示import com.itextpdf.io.image.ImageData; import com.itextpdf.io.image.ImageDataFactory; import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.layout.Document; import com.itextpdf.layout.element.Image; public class SettingPosition { public static void main(String args[]) throws Exception { // Creating a PdfWriter String dest = "C:/EXAMPLES/itextExamples/3images/positionOfImage.pdf"; PdfWriter writer = new PdfWriter(dest); // Creating a PdfDocument PdfDocument pdfDoc = new PdfDocument(writer); // Creating a Document Document document = new Document(pdfDoc); // Creating an ImageData object String imFile = "C:/EXAMPLES/itextExamples/3images/logo.jpg"; ImageData data = ImageDataFactory.create(imFile); // Creating an Image object Image image = new Image(data); // Setting the position of the image to the center of the page image.setFixedPosition(100, 250); // Adding image to the document document.add(image); // Closing the document document.close();System.out.println("Image added"); } }

縮放PDF中的圖像

可以通過實例化Document類來創建一個空的 PDF 文檔。
在實例化此類時,需要將PdfDocument對象作為參數傳遞給其構造函數。

縮放圖像 您可以使用setAutoScale()方法縮放圖像。import com.itextpdf.io.image.ImageData; import com.itextpdf.io.image.ImageDataFactory; import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.layout.Document; import com.itextpdf.layout.element.Image; public class SettingAutoScale { public static void main(String args[]) throws Exception{ // Creating a PdfWriter String dest = "C:/itextExamples/positionOfImage.pdf"; PdfWriter writer = new PdfWriter(dest); // Creating a PdfDocument PdfDocument pdfDoc = new PdfDocument(writer); // Creating a Document Document document = new Document(pdfDoc); // Creating an ImageData object String imFile = "C:/itextExamples/logo.jpg"; ImageData data = ImageDataFactory.create(imFile); // Creating an Image object Image image = new Image(data); // Setting the position of the image to the center of the page image.setFixedPosition(100,250); // Adding image to the document document.add(image); // Closing the document document.close();System.out.println("Image Scaled"); } }

旋轉PDF中的圖像

可以通過實例化Document類來創建一個空的 PDF 文檔。
在實例化此類時,需要將PdfDocument對象作為參數傳遞給其構造函數。

旋轉圖像 可以使用setRotationAngle()方法旋轉圖像。 對于此方法,需要傳遞一個整數,該整數表示要旋轉圖像的旋轉角度。import com.itextpdf.io.image.ImageData; import com.itextpdf.io.image.ImageDataFactory; import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.layout.Document; import com.itextpdf.layout.element.Image; public class RotatingImage { public static void main(String args[]) throws Exception { // Creating a PdfWriter String dest = "C:/itextExamples/rotatingImage.pdf"; PdfWriter writer = new PdfWriter(dest); // Creating a PdfDocument PdfDocument pdfDoc = new PdfDocument(writer); // Creating a Document Document document = new Document(pdfDoc); // Creating an ImageData object String imFile = "C:/itextExamples/logo.jpg"; ImageData data = ImageDataFactory.create(imFile); // Creating an Image object Image image = new Image(data); // Rotating the image image.setRotationAngle(45); // Adding image to the document document.add(image); // Closing the document document.close(); System.out.println("Image rotated"); } }

在PDF中創建文本注釋

在PDF中創建鏈接注釋

可以通過實例化Document類來創建一個空的 PDF 文檔。
在實例化此類時,需要將PdfDocument對象作為參數傳遞給其構造函數。

創建 PdfAnnotation 對象 該PdfAnnotation類的包com.itextpdf.kernel.pdf.annot代表所有注釋的超類。 在其派生類中,PdfTextAnnotation類表示文本注釋。創建此類的對象,如下所示。 設置注釋的顏色 使用PdfAnnotation類的setColor()方法為注釋設置顏色。import com.itextpdf.kernel.color.Color; import com.itextpdf.kernel.geom.Rectangle; import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfPage; import com.itextpdf.kernel.pdf.PdfString; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.kernel.pdf.annot.PdfAnnotation; import com.itextpdf.kernel.pdf.annot.PdfTextAnnotation; import com.itextpdf.layout.Document; public class TextAnnotation { public static void main(String args[]) throws Exception { // Creating a PdfWriter String dest = "C:/itextExamples/textAnnotation.pdf"; PdfWriter writer = new PdfWriter(dest); // Creating a PdfDocument PdfDocument pdf = new PdfDocument(writer); // Creating a Document Document document = new Document(pdf); // Creating PdfTextAnnotation objectRectangle rect = new Rectangle(20, 800, 0, 0); PdfAnnotation ann = new PdfTextAnnotation(rect); // Setting color to the annotationann.setColor(Color.GREEN); // Setting title to the annotation ann.setTitle(new PdfString("Hello")); // Setting contents of the annotation ann.setContents("Hi welcome to Tutorialspoint."); // Creating a new page PdfPage page = pdf.addNewPage(); // Adding annotation to a page in a PDFpage.addAnnotation(ann);// Closing the document document.close(); System.out.println("Annotation added successfully"); } }

在PDF中創建線注釋

可以通過實例化Document類來創建一個空的 PDF 文檔。
在實例化此類時,需要將PdfDocument對象作為參數傳遞給其構造函數。

創建 PdfAnnotation 對象 該PdfAnnotation類的包com.itextpdf.kernel.pdf.annot代表的是所有注釋的超類。 在其派生類中,PdfLineAnnotation類表示線注釋。創建此類的對象,如下所示 設置注釋的標題和內容 分別使用PdfAnnotation類的setTitle()和setContents()方法設置注釋的標題和內容,如下所示。import com.itextpdf.kernel.color.Color; import com.itextpdf.kernel.geom.Rectangle; import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfPage; import com.itextpdf.kernel.pdf.PdfString; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.kernel.pdf.annot.PdfAnnotation; import com.itextpdf.kernel.pdf.annot.PdfLineAnnotation; import com.itextpdf.layout.Document; public class LineAnnotation {public static void main(String args[]) throws Exception { // Creating a PdfWriter String dest = "C:/itextExamples/lineAnnotations.pdf"; PdfWriter writer = new PdfWriter(dest); // Creating a PdfDocument PdfDocument pdf = new PdfDocument(writer); // Creating a Document Document document = new Document(pdf); // Creating a PdfPage PdfPage page = pdf.addNewPage(); // creating PdfLineAnnotation object Rectangle rect = new Rectangle(0, 0);float[] floatArray = new float[]{20, 790, page.getPageSize().getWidth() - 20, 790};PdfAnnotation annotation = new PdfLineAnnotation(rect, floatArray); // Setting color of the PdfLineAnnotation annotation.setColor(Color.BLUE); // Setting title to the PdfLineAnnotation annotation.setTitle(new PdfString("iText")); // Setting contents of the PdfLineAnnotation annotation.setContents("Hi welcome to Tutorialspoint"); // Adding annotation to the page page.addAnnotation(annotation); // Closing the document document.close(); System.out.println("Annotation added successfully"); } }

在PDF中創建標記注釋

可以通過實例化Document類來創建一個空的 PDF 文檔。
在實例化此類時,需要將PdfDocument對象作為參數傳遞給其構造函數。
要在 PDF 文檔中使用文本注釋,需要創建PdfTextAnnotation類的對象并將其添加到PdfPage。

創建 PdfAnnotation 對象 該PdfAnnotation類的包com.itextpdf.kernel.pdf.annot代表所有注釋的超類。 在其派生類中,PdfTextMarkupAnnotation類表示文本標記注釋。創建此類的對象,如下所示。 設置注釋的標題和內容 分別使用PdfAnnotation類的setTitle()和setContents()方法設置注釋的標題和內容。import com.itextpdf.kernel.color.Color; import com.itextpdf.kernel.geom.Rectangle; import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfPage; import com.itextpdf.kernel.pdf.PdfString; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.kernel.pdf.annot.PdfAnnotation; import com.itextpdf.kernel.pdf.annot.PdfTextMarkupAnnotation; import com.itextpdf.layout.Document; public class MarkupAnnotation { public static void main(String args[]) throws Exception { // Creating a PdfDocument object String file = "C:/itextExamples/markupAnnotation.pdf"; PdfDocument pdfDoc = new PdfDocument(new PdfWriter(file)); // Creating a Document object Document doc = new Document(pdfDoc); // Creating a PdfTextMarkupAnnotation object Rectangle rect = new Rectangle(105, 790, 64, 10); float[] floatArray = new float[]{169, 790, 105, 790, 169, 800, 105, 800};PdfAnnotation annotation = PdfTextMarkupAnnotation.createHighLight(rect,floatArray);// Setting color to the annotation annotation.setColor(Color.YELLOW); // Setting title to the annotation annotation.setTitle(new PdfString("Hello!"));// Setting contents to the annotation annotation.setContents(new PdfString("Hi welcome to Tutorialspoint"));// Creating a new PdfpagePdfPage pdfPage = pdfDoc.addNewPage();// Adding annotation to a page in a PDF pdfPage.addAnnotation(annotation);// Closing the documentdoc.close(); System.out.println("Annotation added successfully"); } }

在PDF中創建圓形注釋

可以通過實例化Document類來創建一個空的 PDF 文檔。
在實例化此類時,需要將PdfDocument對象作為參數傳遞給其構造函數。
要在 PDF 文檔中使用文本注釋,您需要創建 PdfTextAnnotation 類的對象并將其添加到Pdfpage。

import com.itextpdf.kernel.color.Color; import com.itextpdf.kernel.geom.Rectangle; import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfPage; import com.itextpdf.kernel.pdf.PdfString; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.kernel.pdf.annot.PdfAnnotation; import com.itextpdf.kernel.pdf.annot.PdfCircleAnnotation; import com.itextpdf.layout.Document; public class CircleAnnotation { public static void main(String args[]) throws Exception { // Creating a PdfDocument object String file = "C:/itextExamples// circleAnnotation.pdf"; PdfDocument pdf = new PdfDocument(new PdfWriter(file)); // Creating a Document object Document doc = new Document(pdf); // Creating a PdfCircleAnnotation object Rectangle rect = new Rectangle(150, 770, 50, 50); PdfAnnotation annotation = new PdfCircleAnnotation(rect); // Setting color to the annotation annotation.setColor(Color.YELLOW); // Setting title to the annotation annotation.setTitle(new PdfString("circle annotation")); // Setting contents of the annotation annotation.setContents(new PdfString("Hi welcome to Tutorialspoint")); // Creating a new page PdfPage page = pdf.addNewPage(); // Adding annotation to a page in a PDF page.addAnnotation(annotation); // Closing the document doc.close(); System.out.println("Annotation added successfully"); } }

在PDF上繪制圓弧

可以通過實例化Document類來創建一個空的 PDF 文檔。
在實例化此類時,需要將PdfDocument對象作為參數傳遞給其構造函數。
上繪制一個PdfDocument電弧,實例化PdfCanvas類的包的com.itextpdf.kernel.pdf .canvas和創建使用電弧弧()此類的方法

創建一個 PdfCanvas 對象 使用PdfDocument類的addNewPage()方法創建一個新的PdfPage類。 實例化PdfCanvas封裝的對象com.itextpdf.kernel.pdf.canvas通過將上面創建PdfPage目的是這個類的構造函數,如下所示。 繪制圓弧 使用Canvas類的arc()方法繪制圓弧,使用fill()方法填充import com.itextpdf.kernel.color.Color; import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfPage; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.kernel.pdf.canvas.PdfCanvas; import com.itextpdf.layout.Document; public class DrawingArc {public static void main(String args[]) throws Exception {// Creating a PdfWriterString dest = "C:/itextExamples/drawingArc.pdf";PdfWriter writer = new PdfWriter(dest); // Creating a PdfDocument objectPdfDocument pdfDoc = new PdfDocument(writer);// Creating a Document objectDocument doc = new Document(pdfDoc);// Creating a new pagePdfPage pdfPage = pdfDoc.addNewPage();// Creating a PdfCanvas objectPdfCanvas canvas = new PdfCanvas(pdfPage);// Drawing an arccanvas.arc(50, 50, 300, 545, 0, 360);// Filling the arccanvas.fill(); // Closing the documentdoc.close();System.out.println("Object drawn on pdf successfully"); } }

在PDF上畫線

可以通過實例化Document類來創建一個空的 PDF 文檔。
在實例化此類時,需要將PdfDocument對象作為參數傳遞給其構造函數。
在 PdfDocument 上畫一條線 實例化包com.itextpdf.kernel.pdf.canvas的PdfCanvas類,并使用該類的moveTo()和lineTO()方法創建一條線

創建一個 PdfCanvas 對象 使用PdfDocument類的addNewPage()方法創建一個新的PdfPage類。 實例化PdfCanvas封裝的對象com.itextpdf.kernel.pdf.canvas通過將上面創建PdfPage目的是這個類的構造函數,如下所示。 畫線 使用Canvas類的moveTO()方法設置線的初始點,如下所示。 // Initial point of the line canvas.moveTo(100, 300); 現在,使用lineTo()方法繪制一條從該點到另一點的線,如下所示。 // Drawing the line canvas.lineTo(500, 300); import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfPage; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.kernel.pdf.canvas.PdfCanvas; import com.itextpdf.layout.Document; public class DrawingLine { public static void main(String args[]) throws Exception { // Creating a PdfWriter String dest = "C:/itextExamples/drawingLine.pdf"; PdfWriter writer = new PdfWriter(dest); // Creating a PdfDocument object PdfDocument pdfDoc = new PdfDocument(writer); // Creating a Document object Document doc = new Document(pdfDoc); // Creating a new page PdfPage pdfPage = pdfDoc.addNewPage(); // Creating a PdfCanvas object PdfCanvas canvas = new PdfCanvas(pdfPage); // Initial point of the line canvas.moveTo(100, 300); // Drawing the line canvas.lineTo(500, 300); // Closing the path stroke canvas.closePathStroke(); // Closing the document doc.close(); System.out.println("Object drawn on pdf successfully"); } }

在PDF上畫圓

可以通過實例化Document類來創建一個空的 PDF 文檔。
在實例化此類時,需要將PdfDocument對象作為參數傳遞給其構造函數。
要在 PdfDocument 上繪制圓,請實例化包com.itextpdf.kernel.pdf .canvas的PdfCanvas類并調用該類的circle()方法

創建一個 PdfCanvas 對象 使用PdfDocument類的addNewPage()方法創建一個新的PdfPage類。實例化PdfCanvas封裝的對象com.itextpdf.kernel.pdf.canvas通過將PdfPage對象這一類的構造函數,如下所示。 設置顏色使用Canvas類的setColor()方法設置圓圈的顏色,如下所示。 // Setting color to the circle Color color = Color.GREEN; canvas.setColor(color, true); 繪制圓圈 通過調用Canvas的circle()方法繪制一個圓,如下所示 // creating a circle canvas.circle(300, 400, 200);import com.itextpdf.kernel.color.Color; import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfPage; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.kernel.pdf.canvas.PdfCanvas; import com.itextpdf.layout.Document; public class DrawingCircle { public static void main(String args[]) throws Exception { // Creating a PdfWriter String dest = "C:/itextExamples/drawingCircle.pdf"; PdfWriter writer = new PdfWriter(dest); // Creating a PdfDocument object PdfDocument pdfDoc = new PdfDocument(writer);// Creating a Document objectDocument doc = new Document(pdfDoc);// Creating a new pagePdfPage pdfPage = pdfDoc.addNewPage();// Creating a PdfCanvas objectPdfCanvas canvas = new PdfCanvas(pdfPage); // Setting color to the circleColor color = Color.GREEN; canvas.setColor(color, true); // creating a circlecanvas.circle(300, 400, 200);// Filling the circle canvas.fill(); // Closing the document doc.close(); System.out.println("Object drawn on pdf successfully");} }

設置PDF中文本的字體

可以通過實例化Document類來創建一個空的 PDF 文檔。
在實例化此類時,需要將PdfDocument對象作為參數傳遞給其構造函數。
要將段落添加到文檔中,需要實例化Paragraph類并使用add()方法將此對象添加到文檔中。可以分別使用setFontColor()和setFont()方法為文本設置顏色和字體。

創建文本,通過實例化包com.itextpdf.layout.element的Text類來創建文本,如下所示 設置文字的字體和顏色: 創建PdfFont使用對象的createFont()之類的方法PdfFontFactory封裝com.itextpdf.kernel.font如下所示 // Setting font of the text PdfFont font = PdfFontFactory.createFont(FontConstants.HELVETICA_BOLD); 現在,使用Text類的setFont()方法將字體設置為該方法。將PdfFont對象作為參數傳遞,如下所示。 text1.setFont(font); 要為文本設置顏色,請調用Text 類的setFontColor()方法,如下所示。 // Setting font color text.setFontColor(Color.GREEN) import com.itextpdf.io.font.FontConstants; import com.itextpdf.kernel.color.Color; import com.itextpdf.kernel.font.PdfFontFactory; import com.itextpdf.kernel.font.PdfFont; import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.layout.Document; import com.itextpdf.layout.element.Paragraph; import com.itextpdf.layout.element.Text; public class FormatingTheText { public static void main(String args[]) throws Exception { // Creating a PdfWriter object String dest = "C:/itextExamples/fonts.pdf"; PdfWriter writer = new PdfWriter(dest); // Creating a PdfDocument object PdfDocument pdf = new PdfDocument(writer); // Creating a Document object Document doc = new Document(pdf);// Creating text object Text text1 = new Text("Tutorialspoint"); // Setting font of the text PdfFont font = PdfFontFactory.createFont(FontConstants.HELVETICA_BOLD); text1.setFont(font); // Setting font colortext1.setFontColor(Color.GREEN);// Creating text objectText text2 = new Text("Simply Easy Learning");text2.setFont(PdfFontFactory.createFont(FontConstants.HELVETICA)); // Setting font colortext2.setFontColor(Color.BLUE);// Creating ParagraphParagraph paragraph1 = new Paragraph();// Adding text1 to the paragraphparagraph1.add(text1);paragraph1.add(text2);// Adding paragraphs to the documentdoc.add(paragraph1);doc.close(); System.out.println("Text added to pdf .."); } }

縮小PDF中的內容

使用AffineTransform類的getScaleInstance()方法,縮小源文檔頁面的內容,如下所示。 // Shrink original page content using transformation matrix AffineTransform transformationMatrix = AffineTransform.getScaleInstance( page.getPageSize().getWidth()/ orig.getWidth()/2, page.getPageSize().getHeight()/ orig.getHeight()/2); 復制頁面 將上一步中創建的仿射變換矩陣連接到目標 PDF 文檔的畫布對象的矩陣,如下所示。 // Concatenating the affine transform matrix to the current matrix PdfCanvas canvas = new PdfCanvas(page); canvas.concatMatrix(transformationMatrix); 現在,將頁面副本添加到源文檔的目標 PDF的畫布對象中,如下所示。 // Add the object to the canvas PdfFormXObject pageCopy = origPage.copyAsFormXObject(destpdf); canvas.addXObject(pageCopy, 0, 0); import com.itextpdf.kernel.geom.AffineTransform; import com.itextpdf.kernel.geom.Rectangle; import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfPage; import com.itextpdf.kernel.pdf.PdfReader; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.kernel.pdf.canvas.PdfCanvas; import com.itextpdf.kernel.pdf.xobject.PdfFormXObject; import com.itextpdf.layout.Document; public class ShrinkPDF { public static void main(String args[]) throws Exception {// Creating a PdfWriter objectString dest = "C:/itextExamples/shrinking.pdf";PdfWriter writer = new PdfWriter(dest);// Creating a PdfReaderString src = "C:/itextExamples/pdfWithImage.pdf";PdfReader reader = new PdfReader(src);// Creating a PdfDocument objectsPdfDocument destpdf = new PdfDocument(writer);PdfDocument srcPdf = new PdfDocument(reader);// Opening a page from the existing PDF PdfPage origPage = srcPdf.getPage(1);// Getting the page sizeRectangle orig = origPage.getPageSizeWithRotation();// Adding a page to destination PdfPdfPage page = destpdf.addNewPage();// Scaling the image in a Pdf page AffineTransform transformationMatrix = AffineTransform.getScaleInstance(page.getPageSize().getWidth()/orig.getWidth()/2,page.getPageSize().getHeight()/ orig.getHeight()/2);// Shrink original page content using transformation matrixPdfCanvas canvas = new PdfCanvas(page);canvas.concatMatrix(transformationMatrix);// Add the object to the canvasPdfFormXObject pageCopy = origPage.copyAsFormXObject(destpdf);canvas.addXObject(pageCopy, 0, 0);// Creating a Document objectDocument doc = new Document(destpdf);// Closing the documentdoc.close();System.out.println("Table created successfully..");} }

平鋪PDF頁面

以下 Java 程序演示了如何使用 iText 庫將 PDF 頁面的內容平鋪到不同的頁面。
它創建一個名為tilingPdfPages.pdf的 PDF 文檔并將其保存在路徑C:/itextExamples/ 中。

import com.itextpdf.kernel.geom.AffineTransform; import com.itextpdf.kernel.geom.PageSize; import com.itextpdf.kernel.geom.Rectangle; import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfPage; import com.itextpdf.kernel.pdf.PdfReader; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.kernel.pdf.canvas.PdfCanvas; import com.itextpdf.kernel.pdf.xobject.PdfFormXObject; public class TilingPDFPages { public static void main(String args[]) throws Exception { // Creating a PdfWriter object String dest = "C:/itextExamples/tilingPdfPages.pdf"; PdfWriter writer = new PdfWriter(dest); // Creating a PdfReader String src = "C:/itextExamples/pdfWithImage.pdf"; PdfReader reader = new PdfReader(src); // Creating a PdfDocument objects PdfDocument destpdf = new PdfDocument(writer); PdfDocument srcPdf = new PdfDocument(reader); // Opening a page from the existing PDF PdfPage origPage = srcPdf.getPage(1); // Getting the page size Rectangle orig = origPage.getPageSizeWithRotation(); // Getting the size of the page PdfFormXObject pageCopy = origPage.copyAsFormXObject(destpdf); // Tile size Rectangle tileSize = PageSize.A4.rotate(); AffineTransform transformationMatrix = AffineTransform.getScaleInstance(tileSize.getWidth() / orig.getWidth() * 2f, tileSize.getHeight() / orig.getHeight() * 2f); // The first tile PdfPage page = destpdf.addNewPage(PageSize.A4.rotate()); PdfCanvas canvas = new PdfCanvas(page); canvas.concatMatrix(transformationMatrix); canvas.addXObject(pageCopy, 0, -orig.getHeight() / 2f); // The second tile page = destpdf.addNewPage(PageSize.A4.rotate()); canvas = new PdfCanvas(page); canvas.concatMatrix(transformationMatrix); canvas.addXObject(pageCopy, -orig.getWidth() / 2f, -orig.getHeight() / 2f);// The third tilepage = destpdf.addNewPage(PageSize.A4.rotate());canvas = new PdfCanvas(page);canvas.concatMatrix(transformationMatrix);canvas.addXObject(pageCopy, 0, 0); // The fourth tilepage = destpdf.addNewPage(PageSize.A4.rotate());canvas = new PdfCanvas(page);canvas.concatMatrix(transformationMatrix);canvas.addXObject(pageCopy, -orig.getWidth() / 2f, 0);// closing the documentsdestpdf.close();srcPdf.close();System.out.println("PDF created successfully..");} }

動態添加表格且自動換頁

package com.example.itext;import com.example.utile.ItextPdfUtil; import com.itextpdf.text.*; import com.itextpdf.text.Font; import com.itextpdf.text.Rectangle; import com.itextpdf.text.pdf.*;import java.io.*; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.Arrays;public class Testone {public static void main(String[] args)throws Exception {File file = new File("C:/itextExamples/tilingPdfPages.pdf");byte[] fileContent = Files.readAllBytes(file.toPath());byte[] bytes = fill_patient_info(fileContent).toByteArray();Path path = Paths.get("C:/itextExamples/tilingPdfPages.pdf");Files.write(path, bytes);}public static ByteArrayOutputStream fill_patient_info(byte[] file_data) throws IOException, DocumentException {ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();PdfReader reader = new PdfReader(file_data);Rectangle pagesize = reader.getPageSize(1);int elementType = Element.ALIGN_LEFT;Font tableContent = new Font(com.itextpdf.text.Font.FontFamily.COURIER, 9, Font.BOLD);PdfStamper stamper = new PdfStamper(reader, byteArrayOutputStream);// CREATE TABLEPdfPTable table = new PdfPTable(3);for (String s : Arrays.asList("TableColumn1", "TableColumn2", "TableColumn3")) {table.addCell(ItextPdfUtil.getTableHeaderCell(s));}table.setHeaderRows(1);// SET TABLE COLUMN WIDTHtable.setWidths(new int[]{100,100,100});// ADD TABLE DATAfor (int i = 1; i <= 150; i++) {table.addCell(new PdfPCell(new Phrase(elementType,"Test" + i,tableContent)));table.addCell(new PdfPCell(new Phrase(elementType,"Test" + i,tableContent)));table.addCell(new PdfPCell(new Phrase(elementType,"Test" + i,tableContent)));}ColumnText column = new ColumnText(stamper.getOverContent(1));column.setSimpleColumn(ItextPdfUtil.tableHeaderRectPage);column.addElement(table);int pagecount = 1;int status = column.go();while (ColumnText.hasMoreText(status)) {status = triggerNewPage(stamper, pagesize, column, ItextPdfUtil.tableContentRectPage, ++pagecount);}stamper.setFormFlattening(true);stamper.close();reader.close();return byteArrayOutputStream;}public static int triggerNewPage(PdfStamper stamper, Rectangle pageSize,ColumnText column, Rectangle rect,int pageCount) throws DocumentException {stamper.insertPage(pageCount, pageSize);PdfContentByte canvas = stamper.getOverContent(pageCount);column.setCanvas(canvas);column.setSimpleColumn(rect);return column.go();}}

Merger兩個PDF

/** * merger all pdf * @param readers all pdf reader * @param outputStream out stream * @return */ public static ByteArrayOutputStream mergerPdf(List<PdfReader> readers, ByteArrayOutputStream outputStream){Document document = new Document();try{PdfCopy copy = new PdfCopy(document, outputStream);document.open();int n;for(int i = 0 ; i < readers.size(); i++){PdfReader reader = readers.get(i);n = reader.getNumberOfPages();for(int page = 0; page < n;){copy.addPage(copy.getImportedPage(reader, ++page));}copy.freeReader(reader);reader.close();}document.close();}catch (Exception e){e.printStackTrace();}return outputStream;}

總結

以上是生活随笔為你收集整理的iText使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

色国产精品一区在线观看 | 久操久| 日韩高清不卡在线 | 国产不卡在线视频 | 久久性生活片 | 天天插狠狠干 | 久久久鲁 | 超碰免费成人 | 美女性爽视频国产免费app | 久草视频看看 | 免费看污片 | 波多野结衣一区二区 | 99久久99久久免费精品蜜臀 | www久久九 | 免费在线观看亚洲视频 | 91中文在线视频 | 国产精品国产三级在线专区 | 婷婷丁香在线 | 国产黄色av网站 | 四虎国产免费 | 午夜久久福利 | 99精品视频一区 | 欧美a级片网站 | 欧美一区日韩精品 | 天天伊人狠狠 | 日韩一区二区三区观看 | 99久久国产免费看 | 五月婷婷伊人网 | 精品国产一区二区三区久久久 | 最近日本中文字幕 | 亚a在线| 亚洲电影网站 | 天天干夜夜 | 激情丁香 | 免费看国产精品 | 黄色在线观看免费网站 | 激情五月视频 | 在线播放91 | 在线日韩视频 | 手机av网站 | 国产精品第54页 | 草久电影 | 日韩在线观看视频中文字幕 | 午夜精品一区二区三区在线播放 | 99久久久久国产精品免费 | 久久福利在线 | 国产精品一区在线播放 | 国产午夜精品一区二区三区 | 午夜精品久久一牛影视 | 黄色影院在线观看 | 中文字幕在线观看网址 | 精品国产免费久久 | 九草视频在线 | 亚洲日本在线一区 | 久久久精品视频成人 | 婷婷视频在线 | av成人免费在线看 | 国产区网址 | 国产在线p | 中文资源在线播放 | 丝袜网站在线观看 | 国产精品18久久久久久久久 | 免费看亚洲毛片 | 久久久久久久久综合 | 国产午夜精品免费一区二区三区视频 | 亚洲国内精品视频 | 亚洲综合狠狠干 | 色插综合| 久久免费视频3 | 国产小视频在线免费观看 | 国产精品va最新国产精品视频 | 色网站在线免费观看 | 中文字幕免费高清在线观看 | 三级av在线免费观看 | 欧美精品网站 | 欧美日韩伦理一区 | 久久黄色a级片 | 国产午夜三级 | 玖玖视频免费在线 | 九九久久视频 | 欧美网址在线观看 | av丝袜在线| 丁香视频在线观看 | 在线观看www视频 | 五月综合久久 | 超级av在线 | 天天色天天艹 | 成人av电影免费在线观看 | 91av看片| 国产精品成人a免费观看 | 国产精品久久久久久欧美 | 久久久96| av午夜电影| 亚洲国产伊人 | 蜜臀av一区二区 | 久久精品一区二区三区视频 | 久久视频在线免费观看 | 亚洲精品资源在线观看 | 97国产超碰 | 日韩在线观看网址 | 91九色蝌蚪视频网站 | 在线观看视频一区二区三区 | 久久精品三级 | 国产亚洲在线观看 | 日日夜夜操av | 精品国产乱码久久久久久三级人 | www.888av| 国产在线高清视频 | 97人人澡人人添人人爽超碰 | 欧美高清视频不卡网 | 欧美激情操 | 国内精品视频免费 | 九九精品无码 | 欧美激情第一页xxx 午夜性福利 | 国产精品网在线观看 | 国产精品一区二区电影 | 成人午夜免费福利 | 97超碰人人看 | 亚洲精品视频在线观看免费视频 | 天堂成人在线 | 国产视频日韩视频欧美视频 | 91日韩精品一区 | 91成人精品一区在线播放 | 日本护士撒尿xxxx18 | 啪啪资源| 麻豆国产精品va在线观看不卡 | 夜色成人av | 黄色免费高清视频 | 欧美坐爱视频 | 成人精品99 | 综合色中色 | 免费成人av网站 | 98精品国产自产在线观看 | 久久人人爽人人人人片 | 精品久久久久一区二区国产 | 182午夜在线观看 | 在线高清av | 国产精品成久久久久三级 | 亚洲精品综合久久 | 久久久免费观看完整版 | 久久色亚洲 | 女人高潮一级片 | 日日射av | 婷婷深爱 | 亚洲视频每日更新 | 天天干,天天射,天天操,天天摸 | 日韩av不卡播放 | 亚洲精品动漫久久久久 | 欧美日韩在线精品一区二区 | 成人在线观看免费视频 | 国产亚洲成av片在线观看 | 婷婷色 亚洲 | 久久全国免费视频 | 日本精品视频免费观看 | 国产精品精品久久久久久 | 精品久久久久久久久久久院品网 | 精品在线小视频 | 久在线观看视频 | 久久人人爽人人爽人人片av软件 | 97在线观看视频 | 99操视频| 麻豆成人网 | 中文字幕欲求不满 | 色99色| 99热在线网站 | 色射爱 | 婷婷国产一区二区三区 | 成人91av| 丁香五月亚洲综合在线 | 久久精品精品 | 国产精品专区h在线观看 | 伊人视频| 久久久久久久久久久久影院 | 国产免费一区二区三区最新6 | 中文电影网 | 波多野结衣理论片 | 久久精品男人的天堂 | 国产精品女同一区二区三区久久夜 | 狠狠躁夜夜躁人人爽视频 | 日韩久久精品 | 欧美日韩国产一区二 | 日本动漫做毛片一区二区 | 7777精品伊人久久久大香线蕉 | 女人18片 | 精品国产乱子伦一区二区 | 久草在线资源免费 | 欧美极品在线播放 | 丝袜精品视频 | 中文字幕丝袜美腿 | 欧美激情综合五月色丁香小说 | 激情欧美一区二区三区免费看 | 91亚洲精品国偷拍自产在线观看 | 国产一级在线观看 | 毛片随便看 | 亚洲色图色 | 国产一区二区视频在线播放 | 久久久久久久久久久久影院 | 99视屏 | 成人亚洲综合 | 免费日韩av片 | 欧美日韩国产精品一区二区三区 | 激情网综合| 超碰97人人干 | 亚洲天堂网在线播放 | 草免费视频 | 中文字幕免费观看视频 | 五月婷婷色 | 在线观看不卡的av | 黄色毛片视频免费 | 人人玩人人添人人澡超碰 | 99在线播放 | av在线日韩 | 国产精品精品视频 | 日韩va欧美va亚洲va久久 | 成片免费 | 免费看的黄色的网站 | 一区二区三区在线播放 | 国产99在线免费 | 国产在线精品二区 | www.久热| 久久精品波多野结衣 | 日韩欧美精品一区二区 | 欧美在线视频一区二区三区 | 国精产品永久999 | 精品理论片 | 嫩嫩影院理论片 | 天天av在线播放 | 国产探花视频在线播放 | 精品黄色视 | 亚洲精品乱码 | 日韩免费看的电影 | 久久精品这里精品 | 五月天色婷婷丁香 | 精品视频久久久 | 精品一区二区综合 | 日韩在线网址 | 久久在线播放 | 成人三级网站在线观看 | 国产精品一区二区三区免费视频 | www.伊人网 | 精品一区二区三区电影 | 国产爽视频 | 精品久久久免费视频 | 可以免费观看的av片 | 伊人小视频| 日本精品在线看 | 日本中文字幕电影在线免费观看 | 激情av网 | 六月丁香激情网 | 99爱视频在线观看 | 成人毛片在线观看 | 日本中文字幕在线一区 | 六月丁香综合 | 九九影视理伦片 | 国产精品欧美日韩 | 欧美一区二区三区在线观看 | 免费黄色av片 | 最新中文字幕在线资源 | 国产高清精品在线 | 91色一区二区三区 | 久久国产露脸精品国产 | 美女国产精品 | 国产精品亚 | 最新国产精品亚洲 | 美女网站色免费 | 国产麻豆电影 | 国产一级免费电影 | 91视频麻豆| 久久深夜福利免费观看 | av黄色国产 | 国产黄色特级片 | 99久久婷婷国产 | 国产一区二区精品久久91 | 在线免费观看视频一区二区三区 | 97精品在线观看 | 精品久久一区二区 | 天天天天天天天操 | www色片| 波多野结衣在线观看视频 | 美女视频黄是免费的 | 九九视频网站 | 日韩精品在线视频免费观看 | 亚洲国产成人久久 | 91视视频在线直接观看在线看网页在线看 | 国产一二区免费视频 | 精选久久 | 欧美日韩不卡在线观看 | 精品一区欧美 | 在线观看一区二区精品 | 欧美在线观看视频一区二区三区 | 欧美日韩在线电影 | 欧美va天堂va视频va在线 | 日韩a在线观看 | 久99久视频| 免费在线黄色av | 成人av免费网站 | 欧美日韩免费视频 | 黄色avwww | 久草在线资源网 | 一级淫片a| 91免费高清观看 | 国产亚洲视频在线免费观看 | 久久久久久久久久久精 | 久久开心激情 | 91看片淫黄大片在线播放 | 91免费黄视频 | 国产精品久久久久久久久久久久久久 | 欧美日韩在线播放一区 | 国产日韩视频在线播放 | 欧美一级在线观看视频 | 国产伦理久久精品久久久久_ | 精品国内自产拍在线观看视频 | 天天操欧美 | 精品视频国产 | 中文有码在线视频 | 久久五月天综合 | 日韩久久一区 | 久久久成人精品 | 性色av免费在线观看 | www.天天射 | 97人人添人澡人人爽超碰动图 | 蜜臀精品久久久久久蜜臀 | 中文字幕五区 | 在线视频免费观看 | 久久免费黄色网址 | 91在线观看黄 | 99色婷婷| 91漂亮少妇露脸在线播放 | 黄色app网站在线观看 | 可以免费观看的av片 | 成年人黄色在线观看 | 日韩av影视在线观看 | 九九久久电影 | 精品高清美女精品国产区 | 国产高清成人av | 日日天天av | 日韩精品一区二区三区免费视频观看 | 色天天天 | 国产成人黄色 | 日本中文字幕久久 | 亚洲色图av | 久草久草视频 | 久久精品久久久久 | 亚洲国产精品女人久久久 | 日韩成人黄色av | 97夜夜澡人人双人人人喊 | 日本黄色免费播放 | 人人干人人做 | 日韩成人在线一区二区 | 美女网站视频久久 | 91丨九色丨高潮丰满 | 99r精品视频在线观看 | 国产一卡久久电影永久 | 久久婷婷视频 | 日本精品视频免费观看 | 丁香久久综合 | 亚洲视频在线观看网站 | 日韩午夜一级片 | 国产手机av | 人人草在线视频 | 成人动态视频 | 亚洲国产wwwccc36天堂 | 亚洲黄在线观看 | 中文在线免费一区三区 | 麻花豆传媒mv在线观看网站 | 国产精品一二三 | 亚洲另类xxxx | 亚洲伊人网在线观看 | 久久精久久精 | 亚洲综合色站 | 久久综合五月婷婷 | 美女黄频视频大全 | 日韩v欧美v日本v亚洲v国产v | 深爱婷婷久久综合 | 国产一区久久久 | 久久天堂影院 | 午夜丰满寂寞少妇精品 | 99在线免费观看视频 | 中文在线天堂资源 | 97精品在线观看 | 在线小视频你懂得 | 国产手机在线播放 | 99精品电影 | 深夜精品福利 | 国产精品久久久久影院日本 | 国产在线观看国语版免费 | 在线观看麻豆av | 国内外激情视频 | 日韩电影在线观看中文字幕 | 久久久免费精品国产一区二区 | 国产高清在线观看 | 久草剧场 | 中文字幕欧美激情 | 五月天堂网| 亚洲免费精品视频 | 欧美日韩视频在线观看免费 | 久久精品中文字幕一区二区三区 | 国产一级精品视频 | 欧美大片第1页 | 国产精品一区二区三区四区在线观看 | 在线不卡视频 | 国产亚洲精品xxoo | www.888.av| 天天干天天拍天天操天天拍 | 激情久久伊人 | 久久精品国产精品亚洲精品 | 中文字幕在线久一本久 | 欧美精品做受xxx性少妇 | 午夜精品影院 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 国产又粗又长又硬免费视频 | 亚洲国产高清在线 | 黄色国产成人 | 97精品超碰一区二区三区 | 国产精品大尺度 | 国产毛片久久久 | 射射射av| 成人黄色av免费在线观看 | 久久99久久久久 | 色欧美日韩| 波多野结衣视频一区二区 | 999国产| 成人免费中文字幕 | 亚洲欧美综合精品久久成人 | 狠狠操操操 | 国产精品成人品 | www.神马久久 | 91人人澡| 欧美日韩视频在线播放 | 成人久久久精品国产乱码一区二区 | 顶级欧美色妇4khd | 国产精品99久久久久久有的能看 | 中文字幕一区二区三 | 免费看三级黄色片 | 国产成人一区二区三区在线观看 | 亚洲黄色在线播放 | 黄色成年网站 | 成人黄色在线电影 | 国产小视频在线免费观看视频 | 人人干在线 | 国产精品久一 | 亚洲婷婷免费 | 国产精品免费观看国产网曝瓜 | 国产精品成人一区二区 | 成人午夜片av在线看 | 亚洲国产中文字幕在线观看 | 婷婷夜夜 | 久久不卡av| 国产免费a | 国产精彩视频一区二区 | 日日夜夜狠狠操 | 国产精品资源在线 | 国内免费的中文字幕 | 99精品欧美一区二区三区黑人哦 | 久久99亚洲精品久久 | 国产一区福利 | 在线免费观看视频a | 国产日韩av在线 | 国产色啪 | 五月天中文字幕mv在线 | 国产成人免费在线观看 | 欧美成人理伦片 | 欧美精品一区二区在线播放 | 夜色资源网| 国产欧美三级 | 国产午夜精品一区二区三区 | 欧美极品在线播放 | 天天曰天天爽 | 国产精品久久久久亚洲影视 | 国产成人精品av在线观 | 亚洲激情校园春色 | 婷婷五综合 | 天天躁日日躁狠狠躁av麻豆 | 国产精品视频免费在线观看 | 黄色小说在线免费观看 | 亚洲精品久久久久久久不卡四虎 | 精品国产一区二区三区四区在线观看 | 日本久久久久久 | 欧美色图亚洲图片 | 在线午夜电影神马影院 | 一区二区三区四区五区在线 | 欧美一级视频在线观看 | 欧美 激情 国产 91 在线 | 在线观看视频免费大全 | 在线观看v片 | 麻豆mv在线观看 | 在线视频成人 | 91九色porny蝌蚪主页 | 日韩欧美成 | 亚洲男人天堂2018 | 国产99re| 中文字幕丝袜美腿 | 精品久久久久久国产偷窥 | 国内精品久久久久影院优 | 奇米7777狠狠狠琪琪视频 | 久久精品久久久久电影 | 色网站免费在线看 | 久久天天躁夜夜躁狠狠85麻豆 | 色天堂在线视频 | 日韩肉感妇bbwbbwbbw | 三级黄在线 | 91精品国自产在线观看 | 午夜美女福利直播 | 中文字幕a∨在线乱码免费看 | 91麻豆精品国产午夜天堂 | 国产剧情在线一区 | 中文字幕在线影院 | 色综合网 | 99精品视频在线观看免费 | 久久久三级视频 | 99精品免费在线 | 91一区啪爱嗯打偷拍欧美 | 欧美日韩精品二区第二页 | 成人小电影在线看 | 日韩精品影视 | 国产色一区| 国产成人在线播放 | 91av视频导航 | 亚洲最大av | 97久久精品午夜一区二区 | 久久av在线播放 | 国产网站在线免费观看 | 五月综合激情 | 久久午夜国产 | 五月婷婷丁香综合 | 91网站在线视频 | 免费看黄色大全 | 精品国产一区在线观看 | 日本在线视频网址 | 一区二区三区免费看 | 97超碰人人澡人人爱 | 国产专区一 | 欧美a免费 | 操操操人人人 | 国产男女爽爽爽免费视频 | 国产精品电影一区二区 | 四虎在线免费观看视频 | 亚洲国产精品成人av | 国产精品成人免费一区久久羞羞 | av成人在线看 | 国产 欧美 日韩 | 日韩欧美视频免费观看 | 91视频久久久久久 | 99精品视频观看 | 国产视频久久久久 | 狠狠网 | 久久久久国产成人精品亚洲午夜 | 999在线视频 | 亚洲精品影视 | 丁香花中文在线免费观看 | 欧美成人黄色片 | 久久久久久久久久久久久久免费看 | 深爱激情五月综合 | 日韩精品免费一区二区三区 | 亚洲精品白浆高清久久久久久 | 二区三区在线观看 | 中文字幕999 | 91丨九色丨国产在线 | 免费福利视频网 | 天天曰天天 | 91视频高清完整版 | www日韩视频 | 91插插视频 | 国产精品18久久久 | 欧美精品久久久久性色 | 亚洲国产精品电影在线观看 | 国产区欧美 | 91观看视频| 国产成人综合在线观看 | 日韩成人高清在线 | 午夜视频福利 | 亚洲国产精品第一区二区 | 性色大片在线观看 | 中文字幕在线国产 | 欧美少妇xx | 丁香婷婷网| 中文字幕一区在线观看视频 | 高清av中文在线字幕观看1 | 国产成人精品一区二区三区福利 | 99色在线| 久久午夜鲁丝片 | av中文字幕日韩 | 亚洲丝袜一区 | 欧美日韩国产三级 | 日韩免费网址 | 日韩有码网站 | 黄色毛片视频 | 99这里只有精品视频 | 免费国产一区二区视频 | 天天天射 | 九九九在线观看 | 天天操操操操操 | 日本精品视频免费 | 日躁夜躁狠狠躁2001 | 香蕉视频在线网站 | 久久99国产综合精品 | 亚洲闷骚少妇在线观看网站 | 亚洲视频 中文字幕 | 国产录像在线观看 | 精品人人爽 | 午夜精品视频免费在线观看 | www.天天综合 | 久久精品中文字幕少妇 | 中文字幕91在线 | 91资源在线视频 | 成人免费观看视频大全 | 久久经典国产 | 亚洲综合一区二区精品导航 | 亚洲欧美少妇 | 在线观看视频日韩 | 国产精品国产三级国产 | 99热这里是精品 | 欧洲在线免费视频 | 亚洲黄色av | 亚洲综合成人在线 | 激情亚洲综合在线 | 国产精品美女视频 | 日韩精品免费在线观看视频 | 国内外激情视频 | 成人在线一区二区 | 96久久精品 | 久久96 | 超碰在线国产 | 丰满少妇麻豆av | av黄色免费看 | 亚洲精品在线视频播放 | 福利网址在线观看 | 婷婷色在线播放 | 少妇av片 | 国产精品都在这里 | 97爱| 国产黄色一级片 | 国产大陆亚洲精品国产 | 国产精品一区二区在线免费观看 | 91综合在线| 亚洲精品黄色 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 国产精品一区二区三区久久久 | 天天操天天能 | 日韩三级免费观看 | 激情婷婷综合网 | 成人黄大片视频在线观看 | 精品视频中文字幕 | 国产精品 中文在线 | 五月婷婷激情网 | 日韩精品最新在线观看 | 欧美亚洲一级片 | 激情小说 五月 | 久久手机免费视频 | 欧美精彩视频在线观看 | 亚洲免费色 | www.色就是色 | 婷婷av色综合 | 91视频电影| 一级片视频免费观看 | 精品福利网 | 国产亚洲在 | 国产精品亚洲精品 | 精品高清美女精品国产区 | 精品国产片 | 精品久久视频 | 国产婷婷一区二区 | 久久人人爽视频 | 日韩二区在线观看 | 免费日韩av电影 | 成人av在线亚洲 | 国产精品人人做人人爽人人添 | 色欲综合视频天天天 | av电影亚洲| 亚洲电影久久 | 精品99久久久久久 | 好看的国产精品视频 | 久久不见久久见免费影院 | 国产精品都在这里 | 欧美精品久久人人躁人人爽 | 99久高清在线观看视频99精品热在线观看视频 | 国产在线观看高清视频 | 久久久久久久久久久久久久av | 国产精品第一视频 | 91九色在线 | 久久在线视频精品 | 久草电影网 | 香蕉视频在线视频 | 黄a网| 中文字幕色站 | 激情五月开心 | 在线观看久 | 国产日韩在线一区 | 国产一区麻豆 | 国产精品久久精品国产 | 在线观看成人小视频 | 四虎影视成人永久免费观看视频 | 欧美另类xxxxx | 国产精品乱码久久久久 | 十八岁以下禁止观看的1000个网站 | 91漂亮少妇露脸在线播放 | 久久久久久视频 | 中文字幕有码在线观看 | 国产精品资源网 | 制服丝袜在线91 | 91九色视频在线观看 | 久草com| 成人国产综合 | 国产成人在线观看免费 | 中文字幕久久精品一区 | 国产在线a视频 | 亚洲欧洲一区二区在线观看 | 亚洲国产97在线精品一区 | 日本精品一区二区三区在线观看 | 日韩一区正在播放 | 欧美国产日韩一区 | 91黄视频在线观看 | 日操操 | 在线免费黄色毛片 | 日韩在线观看网址 | 人人爱人人爽 | 少妇搡bbbb搡bbb搡69 | 超碰人人草人人 | 麻豆国产精品永久免费视频 | 狠狠色香婷婷久久亚洲精品 | 久久99热久久99精品 | 91av精品 | 五月婷婷综合激情 | 成人影片免费 | 美女免费av | 国产69久久久欧美一级 | 激情综合中文娱乐网 | 久99精品| 国产日韩精品一区二区在线观看播放 | 天天干天天操天天搞 | 国产97免费| 天天干.com| 月丁香婷婷 | 99视频在线免费观看 | 国产精品片 | 日本三级吹潮在线 | 黄色成人av网址 | 一级黄色免费 | av手机版 | 区一区二在线 | 国产粉嫩在线观看 | 最新av网址大全 | 中文日韩在线视频 | av免费观看网站 | 久久综合久色欧美综合狠狠 | 草久在线 | 日日爱网站 | 国产一区二区三区高清播放 | 欧美一二区视频 | 免费三级骚| 日韩欧美高清不卡 | 国产精品色婷婷 | 国产精品久久久久久久久毛片 | 亚洲欧洲成人精品av97 | 久久精品直播 | 欧美国产91 | 日韩欧美极品 | 欧美日韩国产在线精品 | 福利在线看片 | a级片网站 | 婷婷六月中文字幕 | 高清中文字幕 | 日韩欧美一二三 | 激情久久伊人 | 日韩欧美电影在线 | 一区二区三区 中文字幕 | 国产亚洲视频中文字幕视频 | 国产成人精品一区一区一区 | 亚洲精品中文字幕在线 | 久久国产欧美日韩精品 | 国产精品久久久久四虎 | 日本资源中文字幕在线 | 久操操 | 久久精品成人热国产成 | a久久久久 | 免费国产一区二区视频 | 国产精品成人av久久 | 91看片淫黄大片一级在线观看 | 天天爱天天插 | 天天碰天天操视频 | 久久99久久99久久 | 在线播放 一区 | 国产在线永久 | www免费看片com| 日韩精品免费在线播放 | 91自拍视频在线 | 天天干天天射天天操 | 久久久国产日韩 | 中国精品少妇 | 欧美a视频 | 81国产精品久久久久久久久久 | 亚洲黄色av一区 | 99产精品成人啪免费网站 | 欧美一级片在线播放 | 国产精品国产三级国产aⅴ入口 | 天天·日日日干 | 最新国产精品视频 | 天天色成人 | 91精品久久久久久综合五月天 | 黄色三级免费片 | 天天干天天天天 | 成人黄色片免费 | 国产成人免费观看久久久 | 婷婷激情综合 | 欧美性受极品xxxx喷水 | 激情久久影院 | 91精品国 | 久久毛片网 | 国产中文自拍 | 99精品在线视频播放 | 欧美色图p | 91高清视频免费 | 亚洲精品国产精品国自产在线 | 日韩av电影免费观看 | 国产区欧美| 亚洲国产精品人久久电影 | 高清av中文在线字幕观看1 | 免费福利在线 | 丝袜美腿在线视频 | 亚洲精品大全 | 免费黄色网止 | 日韩欧美成 | 国产1区2区3区在线 亚洲自拍偷拍色图 | 夜色资源站wwwcom | 五月天国产精品 | 久久99精品国产99久久6尤 | 天天操夜操视频 | 天天射天天干 | 国产+日韩欧美 | 91精品久久久久久综合五月天 | 这里只有精品视频在线观看 | 欧美 日韩 久久 | 一级黄色片在线免费看 | 亚洲资源网 | 特级xxxxx欧美 | 狠狠色噜噜狠狠狠 | 97超碰在线人人 | 久久伊人综合 | 97av视频在线| 日日爽天天爽 | av字幕在线 | 一级片黄色片网站 | 高清久久久 | 中文字幕在线免费播放 | 久久综合五月天婷婷伊人 | 91久久国产自产拍夜夜嗨 | 国产福利资源 | 1000部18岁以下禁看视频 | 色的网站在线观看 | 一区二区三区电影在线播 | 国产99区 | 国产精品一级在线 | 日韩在线观看 | 欧美视频www| 国产人成在线观看 | 久久国精品 | 中文字幕丝袜制服 | 国产一区在线看 | 日本久久91| 91亚色视频在线观看 | 欧美亚洲一区二区在线 | 日本黄色免费观看 | 久久精品视频观看 | 91av在线免费播放 | 97国产精品亚洲精品 | 免费观看的av网站 | 伊人网综合在线观看 | 91视频免费网站 | 97精品国产aⅴ | 久久视精品 | 91av大全 | 另类老妇性bbwbbw高清 | 国产精彩在线视频 | 日韩精品视频免费在线观看 | 97视频在线观看网址 | 国产黄色片在线 | 99久久精品国产亚洲 | 免费看污在线观看 | 亚洲综合在线五月 | 精品嫩模福利一区二区蜜臀 | 国产成人精品综合 | 国产成人一区二区三区在线观看 | a v在线视频| 日韩精品在线视频 | 亚洲精品日韩av | 国产精品大片免费观看 | 91传媒在线播放 | 日韩三级中文字幕 | 黄色中文字幕在线 | 色99中文字幕| 天天做夜夜做 | 久草在线一免费新视频 | 六月丁香色婷婷 | 国产精品美女免费视频 | 亚洲精品视频久久 | 99精品色 | 在线电影日韩 | 久久国产精品精品国产色婷婷 | 亚洲精品婷婷 | 午夜精品999 | 久久久久久中文字幕 | 亚洲最大av在线播放 | 99re久久资源最新地址 | av中文字幕电影 | 一本—道久久a久久精品蜜桃 | 天天操天天是 | 亚洲电影免费 | 国产精品午夜在线 | 久久国产一区二区三区 | 久草在线观看 | 99热播精品 | 久久精品人人做人人综合老师 | 久久免费看毛片 | 亚洲精品xx | 五月天亚洲综合小说网 | 亚洲干视频在线观看 | av线上看 | 久久99九九99精品 | 色99导航 | 欧美激情视频在线免费观看 | 亚洲午夜电影网 | 国产色一区 | 黄色毛片大全 | 欧美a级片网站 | 91麻豆精品国产91久久久无限制版 | 久久久久久久久久影院 | 久久免费a | 国产剧情在线一区 | 92中文资源在线 | 91在线视频| 国产精品国内免费一区二区三区 | av在线一| 婷婷综合久久 | 国产最新精品视频 | 超碰97网站| 日韩欧美在线高清 | 天天躁日日躁狠狠躁av中文 | 久久字幕网 | 亚洲成人精品在线观看 | 国产伦理剧 | 在线免费亚洲 | 天堂中文在线视频 | 99视频免费 | 91亚洲精品久久久蜜桃借种 | 天天干天天操天天 | 色www精品视频在线观看 | 婷婷色资源 | 国产一线在线 | 久久97久久97精品免视看 | 国产一二三四在线视频 | 久久a级片 | 日韩精品一区二区三区在线播放 | www狠狠 | 国产一区播放 | 精品国产成人av在线免 | 免费日韩一区二区三区 | 国产亚洲精品久久19p | 国精产品一二三线999 | 丁香九月激情 | 女人魂免费观看 | 精品一区二区免费视频 | 91精品国产乱码久久 | 天天干天天插 | 日韩电影精品 | 一区二区三区动漫 | 麻豆视频大全 | 日本中文字幕电影在线免费观看 | 人人插人人澡 | 午夜久久视频 | 精品91在线 | 国产网红在线观看 | www激情网 | 中文字幕日本在线观看 | 免费在线激情电影 | 99在线视频观看 | 国产精品手机看片 | 久久精品国产一区 | 欧美综合在线观看 | 在线电影播放 | 在线观看免费成人av | 日本久久久久 | 国产一级在线播放 | 不卡的av电影在线观看 | 国产精品入口麻豆 | 亚洲成人免费 | 国产分类视频 | 亚洲一区视频免费观看 | 婷香五月 | 国产精品久久久久久久久久免费 | 四虎国产精品免费观看视频优播 | 九九有精品 | 日韩激情第一页 | 国产一级二级三级在线观看 | 日韩精品亚洲专区在线观看 | 欧美日本在线视频 | 中文字幕av电影下载 | 最新日韩在线 | 4438全国亚洲精品在线观看视频 |