使用itextpdf操作pdf的實(shí)例講解
使用maven引入jar
<dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.2.0</version> </dependency> <dependency> <groupId>com.itextpdf</groupId> <artifactId>itext-asian</artifactId> <version>5.2.0</version> </dependency>
創(chuàng)建exportToPDF工具類
package com.os.core.util.file.exportPdf;
import com.itextpdf.text.*;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.FontSelector;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
/**
* Created by PengSongHe on 2016/10/20 0020.
*/
public class exportToPDF {
public static void main(String[] args) {
try {
Document document = new Document();//默認(rèn)A4
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("d:/HelloWorld.pdf"));
writer.setPdfVersion(PdfWriter.PDF_VERSION_1_7);
document.addCreationDate();
document.addCreator("飛翔家族");
document.addTitle("export pdf");
document.addKeywords("export");
document.addSubject("飛翔家族 export pdf");
document.open();
//處理中文,需要itextasian.jar支持
FontSelector selector = new FontSelector();
selector.addFont(FontFactory.getFont(FontFactory.TIMES_ROMAN, 12));
selector.addFont(FontFactory.getFont("STSongStd-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED));
Phrase phrase = selector.process("HelloWord!你好。\u4fdd\u5b58");
document.add(new Paragraph(phrase));
//添加新頁(yè)
//document.newPage();
//writer.setPageEmpty(false);
//document.add(new Paragraph("New page"));
document.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
}
}
}
以上這篇使用itextpdf操作pdf的實(shí)例講解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
RocketMQ?NameServer架構(gòu)設(shè)計(jì)啟動(dòng)流程
這篇文章主要為大家介紹了RocketMQ?NameServer架構(gòu)設(shè)計(jì)啟動(dòng)流程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
Json 自定義使用函數(shù)的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇Json 自定義使用函數(shù)的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-10-10
詳解JAVA如何實(shí)現(xiàn)樂(lè)觀鎖以及CAS機(jī)制
悲觀鎖和樂(lè)觀鎖其實(shí)本質(zhì)都是一種思想,在JAVA中對(duì)于悲觀鎖的實(shí)現(xiàn)大家可能都很了解,可以通過(guò)synchronized、ReentrantLock加鎖實(shí)現(xiàn),本文不展開(kāi)講解了。那么樂(lè)觀鎖在JAVA中是如何實(shí)現(xiàn)的呢?底層的實(shí)現(xiàn)機(jī)制又是什么呢?本文就來(lái)和大家詳細(xì)講講2022-12-12
SpringBoot整合Flink CDC實(shí)現(xiàn)實(shí)時(shí)追蹤mysql數(shù)據(jù)變動(dòng)
我們將整合Spring Boot和Apache Flink CDC(Change Data Capture)來(lái)實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)追蹤,下面是一個(gè)基本的實(shí)踐流程代碼,包括搭建Spring Boot項(xiàng)目、整合Flink CDC以及實(shí)現(xiàn)數(shù)據(jù)變動(dòng)的實(shí)時(shí)追蹤,需要的朋友可以參考下2024-07-07
java開(kāi)發(fā)gui教程之jframe監(jiān)聽(tīng)窗體大小變化事件和jframe創(chuàng)建窗體
這篇文章主要介紹了java開(kāi)發(fā)gui教程中jframe監(jiān)聽(tīng)窗體大小變化事件和jframe創(chuàng)建窗體的示例,需要的朋友可以參考下2014-03-03
springboot集成mybatis-plus全過(guò)程
本文詳細(xì)介紹了如何在SpringBoot環(huán)境下集成MyBatis-Plus,包括配置maven依賴、application.yaml文件、創(chuàng)建數(shù)據(jù)庫(kù)和Java實(shí)體類、Mapper層、Service層和Controller層的設(shè)置,同時(shí),還涵蓋了時(shí)間自動(dòng)填充、分頁(yè)查詢、多對(duì)一和一對(duì)多的數(shù)據(jù)庫(kù)映射關(guān)系設(shè)置2024-09-09
使用Servlet Filter實(shí)現(xiàn)系統(tǒng)登錄權(quán)限
這篇文章主要為大家詳細(xì)介紹了使用Servlet Filter實(shí)現(xiàn)系統(tǒng)登錄權(quán)限,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10
使用Java第三方實(shí)現(xiàn)發(fā)送短信功能
這篇文章主要介紹了使用Java第三方實(shí)現(xiàn)發(fā)送短信功能,在一些開(kāi)發(fā)中,經(jīng)常需要有給用戶發(fā)送短信接收驗(yàn)證碼的功能,那么在Java中該如何實(shí)現(xiàn)呢,今天我們就一起來(lái)看一看2023-03-03

