1. 程式人生 > >java 程式碼生成PDF檔案

java 程式碼生成PDF檔案

package com.qhdstar.java.pdf;

import java.awt.Color;
import java.io.FileOutputStream;

import com.lowagie.text.Chapter;
import com.lowagie.text.Document;
import com.lowagie.text.Font;
import com.lowagie.text.FontFactory;
import com.lowagie.text.PageSize;
import com.lowagie.text.Paragraph;
import com.lowagie.text.Section;
import com.lowagie.text.pdf.PdfWriter;

/**
 * 描述:TODO 【JAVA生成PDF】
 * <p>
 * 
 * @title GeneratePDF
 * @author SYJ
 * @email [email protected]
 * @date 2013-4-6
 * @version V1.0
 */
public class GeneratePDF {

 public static void main(String[] args) {

  //呼叫第一個方法,向C盤生成一個名字為ITextTest.pdf 的檔案
  try {
   writeSimplePdf();
  } 
  catch (Exception e) { e.printStackTrace(); }

  
  //呼叫第二個方法,向C盤名字為ITextTest.pdf的檔案,新增章節。
  try {
   writeCharpter();
  } 
  catch (Exception e) { e.printStackTrace(); }

  
 }
 

 public static void writeSimplePdf() throws Exception {

  // 1.新建document物件
  // 第一個引數是頁面大小。接下來的引數分別是左、右、上和下頁邊距。
  Document document = new Document(PageSize.A4, 50, 50, 50, 50);

  // 2.建立一個書寫器(Writer)與document物件關聯,通過書寫器(Writer)可以將文件寫入到磁碟中。
  // 建立 PdfWriter 物件 第一個引數是對文件物件的引用,第二個引數是檔案的實際名稱,在該名稱中還會給出其輸出路徑。
  PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("C:\\ITextTest.pdf"));

  // 3.開啟文件
  document.open();

  // 4.向文件中新增內容
  // 通過 com.lowagie.text.Paragraph 來新增文字。可以用文字及其預設的字型、顏色、大小等等設定來建立一個預設段落
  document.add(new Paragraph("First page of the document."));
  document.add(new Paragraph("Some more text on the  first page with different color and font type.", FontFactory.getFont(FontFactory.COURIER, 14, Font.BOLD, new Color(255, 150, 200))));

  // 5.關閉文件
  document.close();
 }


 /**
  * 新增含有章節的pdf檔案
  * 
  * @throws Exception
  */
 public static void writeCharpter() throws Exception {

  // 新建document物件 第一個引數是頁面大小。接下來的引數分別是左、右、上和下頁邊距。
  Document document = new Document(PageSize.A4, 20, 20, 20, 20);

  // 建立一個書寫器(Writer)與document物件關聯,通過書寫器(Writer)可以將文件寫入到磁碟中。
  PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("c:\\ITextTest.pdf"));

  // 開啟檔案
  document.open();

  // 標題
  document.addTitle("Hello mingri example");

  // 作者
  document.addAuthor("wolf");

  // 主題
  document.addSubject("This example explains how to add metadata.");
  document.addKeywords("iText, Hello mingri");
  document.addCreator("My program using iText");

  // document.newPage();
  // 向文件中新增內容
  document.add(new Paragraph("\n"));
  document.add(new Paragraph("\n"));
  document.add(new Paragraph("\n"));
  document.add(new Paragraph("\n"));
  document.add(new Paragraph("\n"));
  document.add(new Paragraph("First page of the document."));
  document.add(new Paragraph("First page of the document."));
  document.add(new Paragraph("First page of the document."));
  document.add(new Paragraph("First page of the document."));
  document.add(new Paragraph("Some more text on the first page with different color and font type.", FontFactory.getFont(FontFactory.defaultEncoding, 10, Font.BOLD, new Color(0, 0, 0))));
  Paragraph title1 = new Paragraph("Chapter 1", FontFactory.getFont(FontFactory.HELVETICA, 18, Font.BOLDITALIC, new Color(0, 0, 255)));

  // 新建章節
  Chapter chapter1 = new Chapter(title1, 1);
  chapter1.setNumberDepth(0);
  Paragraph title11 = new Paragraph("This is Section 1 in Chapter 1", FontFactory.getFont(FontFactory.HELVETICA, 16, Font.BOLD, new Color(255, 0, 0)));
  Section section1 = chapter1.addSection(title11);
  Paragraph someSectionText = new Paragraph("This text comes as part of section 1 of chapter 1.");
  section1.add(someSectionText);
  someSectionText = new Paragraph("Following is a 3 X 2 table.");
  section1.add(someSectionText);
  document.add(chapter1);

  // 關閉文件
  document.close();
 }
 

相關推薦

java 程式碼生成PDF檔案

package com.qhdstar.java.pdf;import java.awt.Color;import java.io.FileOutputStream;import com.lowagie.text.Chapter;import com.lowagie.text

ASP. NET MVC專案 使用iTextSharp將網頁程式碼生成PDF檔案

/// <summary> /// 獲取MVC檢視Html /// </summary> /// <param name="context">控制器上下文</param> ///

使用ABAP和JavaScript程式碼生成PDF檔案的幾種方式

ABAP 方法1:使用ABAP + Adobe Lifecycle Enterprise Service 方法2:使用ABAP Webdynpro裡的InteravtiveForm控制元件 + Adobe Form Template

SpringMVC例項-HTML程式碼生成PDF檔案並下載

前段時間公司的專案,有一個需求是拼接HTML程式碼,然後轉化成PDF供客戶下載,本來以為是個挺簡單的事,就從網上找了個flying saucer在本地生成的Demo,結果在本地生成是成功的,結果在做專案時,發現不可用,後來也是費了很多時間,試了很多方法,最後終於搞定。 說一

java將資料庫資料轉換成word文件並且生成pdf檔案最後轉換成對應的圖片

目的:將資料轉換成word圖片的方式展現給使用者 工具:openoffice +java程式碼 +資料庫,其中openoffice有windows版本的和Linux版本的。 其中openoffice的下載地址為:連結:https://pan.baidu.com/s/1Y5Ra3TfNCc

Java應用iText動態生成PDF檔案

{             /** */ /**              * 例項化文件物件 第一個引數是頁面大小。接下來的引數分別是左、右、上和下頁邊距。但是還沒有定義該文件的型別。             * 它取決於所建立的寫入器的型別。對於我們的示例,選擇了com.lowagie.text.pdf.

Java實現HTML程式碼生成PDF文件

1、IText實現html2pdf,速度快,糾錯能力差,支援中文(要求HTML使用unicode編碼),但中支援一種中文字型,開源。 2、Flying Sauser實現html2pdf,糾錯能力差,支援多種中文字型(部分樣式不能識別),開源。 3、PD4ML實現h

學習如何使用Mybatis-generator 自動生成java程式碼以及Mapper檔案

      今天用到了mybatis 中 自動生成程式碼的外掛即 mybatis-generator 來生成程式碼。具體步驟如下。 首先建立一個資料夾這裡命名為 generator (這裡使用的是sqlserver 資料庫) 接著新建xml檔案進行配置 最後以命令列的

Java】maven工程使用iText生成PDF檔案

iText介紹   iText是著名的開放原始碼的站點sourceforge一個專案,是用於生成PDF文件的一個java類庫。通過iText不僅可以生成PDF或rtf的文件,而且可以將XML、Html檔案轉化為PDF檔案。   專案要使用iText,必須引入jar包。

java生成pdf檔案的說明

 一、前言   前幾天,做ASN條碼收貨模組,需要實現列印下載收貨報表,經一番查詢,選定iText--用於生成PDF文件的一個Java類庫。廢話不多說,進入正題。   二、iText簡介   iText是著名的開放原始碼的站點sourceforge一個專案,是用於生

java根據模板生成pdf檔案並匯出(轉)

import java.io.ByteArrayOutputStream; import java.io.FileOutputStream; import java.io.IOException; import com.itextpdf.text.Document; import com.itextpdf.

java通過xml配置屬性用iText包生成pdf檔案

總共步驟為:1、提供一個需要替換引數傳入類;2、解析xml檔案,替換xml檔案中的特定引數(寫死格式);3、解析xml檔案中的pdf檔案佈局(包括表、段落、文字、換行等); 4、生成pdf檔案。 第一步:引數可以用map存放,根據相應的key可以取到對應的值,如果值為Lis

Java Itext 生成PDF文件

ftp 設置 通過 tty sna 總計 aof scale AD 利用Java Itext生成PDF文件並導出,實現效果如下: PDFUtil.java package com.jeeplus.modules.order.util; import java.io

Java生成Pdf並對Pdf內容操作

enc images sub als tar 應用 throw mave add 雖說網上有很多可以在線導出Pdf或者word或者轉成png等格式的工具,但是我覺得還是得了解知道是怎麽實現的。一來,在線免費轉換工具,是有容量限制的,達到一定的容量時,是不能成功導出的;二來,

java程式碼生成相容openssl可用的rsa公私鑰,pkcs8轉換pkcs1,

java預設的KeyPairGenerator生成的rsa 公私鑰不能直接被openssl來使用 java生成的私鑰是pkcs8 格式 公鑰是x.509格式 openssl生成和使用的是pkcs1格式,pem公私鑰檔案,所以需要轉換 本專案可以動態生成openssl相容的,o

福利!NodeJs爬取網路教程並生成PDF檔案,以阮一峰JavaScript教程和ES6教程為例(附原始碼和PDF檔案

前言 你想一夜暴富嗎?你想一夜成名嗎?你想開蘭博基尼泡妞嗎?你想拿鈔票點菸嗎?你想成為世界主宰嗎?那麼,趕緊往下看吧,雖然它不能達成前面所說的任 何一個夢想,但是,你將獲得: 通過命令列將某網站的內容轉成PDF檔案 通過NodeJS爬蟲將某網路教程(例如阮一峰的JavaScript教程和ES6教

eclipse mavenWeb專案真正實現熱部署(修改java程式碼和頁面檔案不用重啟tomcat)

        1.前言   先說熱部署的含義:   熱部署原來被定義為:tomcat啟動後,如果你往webapps目錄下,新增新的專案,tomcat會實現自動將其釋出的功能,這時,就叫做熱部署。   網上所實現的熱部署

生成PDF檔案方案--學習中

PDF檔案是目前比較流行的電子文件格式,在辦公自動化(OA)等軟體的開發中,經常要用到該格式,但介紹如何製作PDF格式檔案的資料非常少,在網上搜來搜去,都轉貼的是同一段“暴力”破解的方法,程式碼片斷如下: StreamWriter pPDF=new StreamWriter(filePath);

Java 程式碼生成

瞭解更多請訪問 http://blog.csdn.net/lpy3654321/article/details/31841573 Java web 程式碼生成          Java Web版,程式碼生成 專案設想

Java工具推薦】Generator:Java程式碼生成工具

歡迎來到 Generator 寫這個程式碼生成器工具的想法源自2018年3月份,當時專案組剛完成一個Java Web專案的研發工作,在整個專案過程中耗費了不少的時間來構建SpringMVC的重複性程式碼和Mybatis的對映檔案,同時我也越來越覺得這些重複且難度不大的工作不