169 Star 1K Fork 222

dromara / x-easypdf

Create your Gitee Account
Explore and code with more than 8 million developers,Free private repositories !:)
Sign up
Clone or Download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

一个用搭积木的方式构建pdf的框架(基于pdfbox/fop)

更新说明

master分支将作为稳定版本发布,develop分支将会不定期进行更新,欢迎大家提供宝贵意见,QQ交流群:15018726


项目主页

https://www.x-easypdf.cn


项目概述

x-easypdf基于pdfbox/fop二次封装,拥有两大模块:pdfbox模块极大降低pdfbox的使用门槛,以组件化的形式进行pdf的构建;fop模块采用数据源的方式对xsl-fo模板进行转换。两个模块均可单独使用,也可以结合使用,帮助开发者快速生成pdf文档。


当前版本

v2.10.0


使用环境

jdk 1.8+


项目特性

  • pdfbox模块
    • 简单智能

    自动换行与分页

    • 表单填写

    内置文档表单填写器(可填写表单中的文本域)

    • 图像转换

    内置文档图像器(可将文档整个转换为图片,或将文档中的某几页转换为图片)

    • 文档提取

    内置文档提取器(可提取文档中的文本与图片)

    • 文档替换

    内置文档替换器(可替换文档中的文本与图片)

    • 文档分析

    内置文档分析器(可分析文档中的文本与图片信息,包含坐标、内容、字体大小等)

    • 文档拆分

    内置文档拆分器(可将文档按照页码拆分成一个或多个文档)

    • 数字签名

    内置文档签名器(可对文档进行数字签名)

    • 内置字体

    内置细体 | 正常 | 粗体三种开源中文字体(华为鸿蒙字体)

    • 组件丰富

    内置水印、页眉、页脚、文本、图片、表格、矩形、圆形、线条、布局、条形码(一维码/二维码)等组件

  • fop模块
    • 基于模板生成
    • 内置数据源(xml 数据源、thymeleaf 数据源、document 数据源)
    • 灵活的扩展性

软件架构

软件架构


代码扫描

  • SonarQube

SonarQube

  • Gitee Scan

Gitee Scan


maven坐标

  • 全功能模块(pdfbox + fop)
<dependency>
    <groupId>wiki.xsx</groupId>
    <artifactId>x-easypdf</artifactId>
    <version>2.10.0</version>
</dependency>
  • pdfbox模块
<dependency>
    <groupId>wiki.xsx</groupId>
    <artifactId>x-easypdf-pdfbox</artifactId>
    <version>2.10.0</version>
</dependency>
  • fop模块
<dependency>
    <groupId>wiki.xsx</groupId>
    <artifactId>x-easypdf-fop</artifactId>
    <version>2.10.0</version>
</dependency>

安装教程

mvn clean install

快速体验

  • pdfbox模块
XEasyPdfHandler.Document.build(XEasyPdfHandler.Page.build(XEasyPdfHandler.Text.build("Hello World"))).save("E:\pdf\hello-world.pdf").close();
  • fop模块(使用document数据源)
XEasyPdfTemplateHandler.Document.build().addPage(XEasyPdfTemplateHandler.Page.build().addBodyComponent(XEasyPdfTemplateHandler.Text.build().setText("hello world"))).transform("E:\pdf\hello-world.pdf");

更多教程,请查看文档


Dromara 成员项目

为往圣继绝学,一个人或许能走的更快,但一群人会走的更远。

Repository Comments ( 433 )

Sign in to post a comment

About

一个用搭积木的方式构建pdf的框架(基于pdfbox) expand collapse
Cancel

Releases (32)

All

x-easypdf

Contributors

All

Activities

Load More
can not load any more
Java
1
https://gitee.com/dromara/x-easypdf.git
git@gitee.com:dromara/x-easypdf.git
dromara
x-easypdf
x-easypdf
master

Search