Java:iText生成pdf文档

简介: Java:iText生成pdf文档

依赖


<!-- pdf:start -->
<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itextpdf</artifactId>
    <version>5.5.11</version>
</dependency>
<dependency>
    <groupId>com.itextpdf.tool</groupId>
    <artifactId>xmlworker</artifactId>
    <version>5.5.11</version>
</dependency>
<!-- 支持中文 -->
<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itext-asian</artifactId>
    <version>5.2.0</version>
</dependency>
<!-- 支持css样式渲染 -->
<dependency>
    <groupId>org.xhtmlrenderer</groupId>
    <artifactId>flying-saucer-pdf-itext5</artifactId>
    <version>9.1.16</version>
</dependency>
<!-- 转换html为标准xhtml包 -->
<dependency>
    <groupId>net.sf.jtidy</groupId>
    <artifactId>jtidy</artifactId>
    <version>r938</version>
</dependency>
<!-- pdf:end -->

使用示例

1、简单使用

package com.pengshiyu;
import com.itextpdf.text.Document;
import com.itextpdf.text.Font;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.FileOutputStream;
/**
 * Hello world!
 */
public class PdfDemo {
    public static void main(String[] args) throws Exception {
  // 新建文档
        Document document = new Document(PageSize.A4);
        // 如果输出中文,需要设置中文字体
        BaseFont chineseFont = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
        Font font = new Font(chineseFont, 12, Font.NORMAL);
        PdfWriter.getInstance(document, new FileOutputStream("hello.pdf"));
        // 打开文档
        document.open();
        // 写入内容
        Paragraph paragraph = new Paragraph("hello world 你好世界", font);
        document.add(paragraph);
        // 关闭文档
        document.close();
    }
}
相关文章
|
12月前
|
XML 人工智能 Java
java实现PDF 电子签章
本文介绍了使用Java将Word文档转换为PDF并添加水印、签名和盖章的方法。通过Apache POI读取Word内容,结合OpenPDF生成PDF文件,并利用PdfPageEvent接口实现页面水印与签名功能。代码示例清晰展示了转换流程及关键实现细节。
797 0
|
存储 安全 算法
Java 集合面试题 PDF 下载及高频考点解析
本文围绕Java集合面试题展开,详细解析了集合框架的基本概念、常见集合类的特点与应用场景。内容涵盖`ArrayList`与`LinkedList`的区别、`HashSet`与`TreeSet`的对比、`HashMap`与`ConcurrentHashMap`的线程安全性分析等。通过技术方案与应用实例,帮助读者深入理解集合类的特性和使用场景,提升解决实际开发问题的能力。文末附带资源链接,供进一步学习参考。
326 4
|
Java Apache Maven
Java将word文档转换成pdf文件的方法?
【10月更文挑战第13天】Java将word文档转换成pdf文件的方法?
5782 1
|
存储 Java API
如何使用 Java 中的 API 更改 PDF 纸张大小
如何使用 Java 中的 API 更改 PDF 纸张大小
438 11
|
Java
Java PDF模板生成PDF
Java PDF模板生成PDF
455 1
|
消息中间件 缓存 运维
憋了半个月的 PDF:精通 Java(七)
真诚的和大家说一句抱歉,因为最近家庭原因 + 我自己思想的懒惰,所以导致有一段时间没有更新技术文章,一直都在憋这一篇关于学习 Java 如何从入门到精通的文章,在没有发文的这段时间很煎熬,甚至无数次的想放弃写这篇文章,因为这篇文章不是很好写,我付出大量的时间和心血来收集大量的素材、研究大量的书本进而熔铸成这篇文章,希望对你有所帮助。
憋了半个月的 PDF:精通 Java(七)
|
缓存 NoSQL Java
憋了半个月的 PDF:精通 Java(六)
真诚的和大家说一句抱歉,因为最近家庭原因 + 我自己思想的懒惰,所以导致有一段时间没有更新技术文章,一直都在憋这一篇关于学习 Java 如何从入门到精通的文章,在没有发文的这段时间很煎熬,甚至无数次的想放弃写这篇文章,因为这篇文章不是很好写,我付出大量的时间和心血来收集大量的素材、研究大量的书本进而熔铸成这篇文章,希望对你有所帮助。
憋了半个月的 PDF:精通 Java(六)
|
SQL 监控 Oracle
憋了半个月的 PDF:精通 Java(三)
真诚的和大家说一句抱歉,因为最近家庭原因 + 我自己思想的懒惰,所以导致有一段时间没有更新技术文章,一直都在憋这一篇关于学习 Java 如何从入门到精通的文章,在没有发文的这段时间很煎熬,甚至无数次的想放弃写这篇文章,因为这篇文章不是很好写,我付出大量的时间和心血来收集大量的素材、研究大量的书本进而熔铸成这篇文章,希望对你有所帮助。
憋了半个月的 PDF:精通 Java(三)
|
设计模式 IDE Java
憋了半个月的 PDF:精通 Java(一)
真诚的和大家说一句抱歉,因为最近家庭原因 + 我自己思想的懒惰,所以导致有一段时间没有更新技术文章,一直都在憋这一篇关于学习 Java 如何从入门到精通的文章,在没有发文的这段时间很煎熬,甚至无数次的想放弃写这篇文章,因为这篇文章不是很好写,我付出大量的时间和心血来收集大量的素材、研究大量的书本进而熔铸成这篇文章,希望对你有所帮助。
憋了半个月的 PDF:精通 Java(一)
|
9月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
419 1

热门文章

最新文章