利用Java 程式動態產生 PDF 文件

 
今天在研究 Java 相關技術的時候, 突然發現了一個好東西 iText ,
這個函式庫主要是用於 產生 PDF 文件,
這使得 動態產生文件變的很容易,
經過測試, 竟然連中文也可以正確無誤的被顯示!!…
最最重要的一點, 這個 Java 的函式庫竟然還是 GPL 的 License !!….
真是令人訝異!!
 
以下是我寫了一個Demo  小程式 :
 
import java.io.FileOutputStream;
import java.io.IOException;
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Font;
import com.lowagie.text.Image;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PdfWriter;
public class PDF4Image {
 public static void main(String[] args) {
  Document document = new Document();
  try {
     PdfWriter.getInstance(document, new FileOutputStream("PDF4Image.pdf"));
     document.open();
 
        Image jpg = Image.getInstance("Java-logo.jpg");
        // 圖片靠右, 文繞圖
        // jpg.setAlignment(Image.RIGHT | Image.TEXTWRAP);
        // 圖片置中
        // jpg.setAlignment(Image.MIDDLE);
        // 圖片靠左, 文字穿透圖
        // jpg.setAlignment(Image.LEFT | Image.UNDERLYING);
        jpg.setAlignment(Image.RIGHT | Image.TEXTWRAP);
        document.add(jpg);
 
        // 新細明體
        BaseFont bf = BaseFont.createFont("c:\\windows\\fonts\\mingliu.ttc,1", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
        // 標楷體
        // BaseFont bf = BaseFont.createFont("c:\\windows\\fonts\\kaiu.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
        // 0是正常, 1是粗體, 2是斜體, 3是粗斜體 , 4是底線, 5是粗體+底線, 6是斜體+底線, 7是粗斜體+底線
        // 8是刪除線,9是粗體+刪除線 ,10是斜體+刪除線,11是粗斜體 + 刪除線 , 12是 底刪線 13是 粗體+底刪線 14是斜體+底刪線 15 是粗斜體+底刪線
 
        // Font font = new Font(bf, 16, 0);
      // document.add(new Paragraph("人類成功完成基因解碼!!",font));
        for (int i = 0;i<16;i++){
            Font font = new Font(bf, 16, i);
         document.add(new Paragraph("人類成功完成基因解碼!!",font));
        }
  } catch (DocumentException de) {
     System.err.println(de.getMessage());
  } catch (IOException ioe) {
     System.err.println(ioe.getMessage());
  }
  document.close();
 }
}
廣告

About fenjj

Perfect !!??...
本篇發表於 Uncategorized。將永久鏈結加入書籤。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s