iText操作PDF檔案的方法及程式碼
iText簡介
iText是著名的開放原始碼的站點sourceforge一個專案,是用於生成PDF文件的一個java類庫。通過iText不僅可以生成PDF或rtf的文件,而且可以將XML、Html檔案轉化為PDF檔案。 iText的安裝非常方便,下載iText.jar檔案後,只需要在系統的CLASSPATH中加入iText.jar的路徑,在程式中就可以使用iText類庫了。
iText使用方法
iTextAsian.jar (亞洲語言包,可以使用中文) 需要新增到工程中 使用時需要在系統的環境變數Path中加入iText的路勁,在程式中就可以使用了 用iText生成PDF文件需要5個步驟:
1)建立com.lowagie.text.Doucment物件的例項 Document document = new Document();
2)建立一個書寫器(Writer)與document物件關聯,通過書寫器(Writer)可以將文件寫入磁碟中PDFWriter.getInstance(document,new FileOutputStream(“要存放的檔案路徑名”));
3)開啟文件document.open();
4)向文件中新增內容
所有向文件新增的內容都是以物件為單位 如:Phrase(短語)、Paragraph(段落)、Chunk(文字塊)、Table、Graphic
比較常用的為Paragraph物件,用於向文件中新增一段文字。Chunk(文字塊)是處理文字的最小單位,由一串帶格式(包括字型、顏色、大小) 的字串組成。 Phrase(短語)由一個或多個Chunk(文字塊)組成,Phrase(短語)也可以設定字型, 但對於其中以設定過字型的Chunk(文字塊)無效。通過Phrase(短語)成員函式 Add可以將一個Chunk(文字塊)加入到Phrase(短語)中。
如:phrase.add(chunk); Paragraph(段落)由一個或多個Chunk(文字塊)或Phrase(短語)組成,相當於Word文件中的段落概念,同樣可以設定段落的字型大小、顏色等屬性。
另外也可以設定段落的首行縮排、對齊方式(左對齊、右對齊、居中對齊)。通過函式SetAlignment()可以設定段落的對齊方式
如:Paragraph.setAlignment(int age); 引數有1(居中對齊)、2(右對齊)、3(左對齊);不設定預設左對齊。
Chunk chunk1 = new Chunk(“ceshi1″);
Chunk chunk2 = new Chunk(“ceshi2″);
Phrase phrase = new Phrase();
Phrase.add(chunk1);
Phrase.add(chunk2);
Paragraph paragraph1 = new Paragraph(“ceshizhi”);
第一種,直接傳值進去
Paragraph paragraph2 = new Paragraph (chunk2);
paragraph2.setAlignment(1); 居中對齊
第二種,傳一個文字塊物件進去
Paragraph paragraph2 = new Paragraph (phrase);
第三種,傳一個短語物件進去
Document.add(paragraph1);
Document.add(paragraph2);
Document.add(paragraph3); 把段落寫入文件中
5) 關閉文件
Document.close();
其他: 換頁 Document.newPage();
中文處理 當有中文的時候使用上面的方法則中文不會被寫入,
因此需要用到:
BaseFont bfChinese = BaseFont.createFont(“STSong-Light”,”UniGB-UCS2-H”, BaseFont.NOT_EMBEDDED);
Font fontChinese = new Font(bfChinese, 12, Font.NORMAL,Color.GREEN);
然後開啟文件寫入的時候,就應該按照下面的寫法:
Paragraph paragraph1 = new Paragraph(“測試”, fontChinese);
同上面一樣”測試”可以用文字塊或短語替換;
圖片處理 iText中處理影像的類為com.lowagie.text.Image 目前iText支援的影像格式有:、GIF、JPG、PNG等格式 iText用同樣的建構函式自動識別影像格式: //引數為gif、jpg、png格式的圖片都可以
Image image = Image.getInstance(“引數”); //定義一個圖片資訊,可以是絕對路徑,也可以是
URL Image img = Image.getInstance(“D:\\4.jpg”);
img = Image.getInstance(new URL(http://xxx.com/logo.jpg)); //新增到document中 document.add(img);
影像的位置 影像的位置主要是指影像在文件中的對齊方式、影像和文字的位置關係。
IText中通過函式public void setAlignment(int alignment)進行處理, 引數alignment為Image.RIGHT、Image.MIDDLE、Image.LEFT分別指右對齊、居中、左對齊;
當引數alignment為Image.TEXTWRAP、Image.UNDERLYING分別 指文字繞圖形顯示、圖形作為文字的背景顯示。
這兩種引數可以結合以達到預期的效果, 如
setAlignment(Image.RIGHT|Image.TEXTWRAP) 顯示的效果為影像右對齊,文字圍繞影像顯示。 影像的尺寸和旋轉 //設定影像的寬和高
image.scaleAbsolute(int newWidth, int newHeight); //設定影像比例,表示顯示的大小為原始大小的多少比例
image.scalePercent(int percent); //設定影像的高寬比例
image.scalePercent(int percentX,int percentY); //設定影像旋轉一定的角度;
引數arg為弧度,而不是角度 image.setRotation(float arg);
相關文章
- Java操作PDF檔案之ITextJava
- PDF檔案轉HTML方法HTML
- caj轉pdf檔案怎麼操作?
- java-pdf-itext7、itextpdf 生成pdf 文件Java
- pdf檔案太大如何變小 減小pdf檔案大小最簡單的方法
- 如何將html程式碼儲存為Pdf檔案HTML
- 一款免費使用的PDF檔案批次合併工具,可操作pdf檔案順序,按順序合併pdf檔案。
- 一款免費使用的PDF檔案批量合併工具,可操作pdf檔案順序,按順序合併pdf檔案。
- java IO流 對檔案操作的程式碼集合Java
- PDF轉文字檔案的最簡單方法
- Java 建立 PDF 檔案包的兩種方法Java
- Java 建立PDF檔案包的2種方法Java
- win10系統下PDF檔案亂碼的解決方法Win10
- python對檔案的操作方法Python
- Java對檔案的操作及UDP,TCPJavaUDPTCP
- C# iText 7 切分PDF,處理PDF頁面大小C#
- pdf轉換成wps檔案需要怎麼操作?
- 教你Python使用shutil操作檔案、subprocess執行子程式的方法Python
- PDF檔案有限制密碼,該如何編輯檔案?密碼
- 手機將PDF檔案壓縮的簡單方法
- 三種簡單的PDF檔案快速壓縮方法
- Java使用iText7生成PDFJava
- caj檔案怎麼轉換成pdf,這個操作方法能夠實現
- 如何給PDF檔案設定密碼?密碼
- Spring原始碼:使用Thymeleaf生成PDF檔案Spring原始碼
- python程式碼讀取遠端檔案的方法--paramikoPython
- PDF多檔案合併怎麼完成?PDF合併的簡單方法分享
- 合併PDF檔案怎樣做?分享兩種PDF合併方法
- windows10快速批量刪檔案及子檔案的方法Windows
- Java 透過aspose.words 把docx檔案轉成pdf檔案後中文變成小方塊,aspose轉pdf亂碼問題的解決方法Java
- 如何壓縮PDF檔案大小?兩種好用方法
- 如何使用預覽程式編輯PDF檔案?
- Python程式碼打包成可執行檔案的常用方法!Python
- C檔案與檔案的操作
- Linux 檔案屬性及詳細操作Linux
- 怎麼把pdf檔案縮小?如何使用PDF Expert壓縮pdf檔案大小?
- PDF檔案轉換為DWF檔案
- VUE打包後配置配置檔案修改請求url方法及webpack打包的檔案生成同名檔案方法VueWeb
- PDF Squeezer - PDF Toolbox for Mac(PDF檔案工具箱)Mac