OpenPDF的学习文档(第二章·搭建学习项目)
搭建学习项目
请小伙伴自己安装好JDK21 + Maven3 + IntelliJ IDEA
![image]()
- 对应的groupId和artifactId请自定义
- 完善项目骨架 (这一大步是非必须的,但是对于学习组件有益,建议加上)
![image]()
- 创建对应的
z.z.opdf包,simplelogger.properties日志配置,以及z.z.opdf.OpenPDFTests测试类 -
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>z.z</groupId> <artifactId>opdf</artifactId> <version>1.0</version> <name>opdf</name> <properties> <java.version>21</java.version> <maven.compiler.source>21</maven.compiler.source> <maven.compiler.target>21</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <!--基本依赖--> <lombok.version>1.18.46</lombok.version> <slf4j.version>2.0.18</slf4j.version> <junit.version>6.1.1</junit.version> <!--关键依赖--> <openpdf.version>3.0.5</openpdf.version> </properties> <dependencies> <!--Lombok--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> <scope>provided</scope> </dependency> <!--Slf4j + simple--> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>${slf4j.version}</version> </dependency> <!--Junit Jupiter API--> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> <!--librepdf openpdf--> <dependency> <groupId>com.github.librepdf</groupId> <artifactId>openpdf</artifactId> <version>${openpdf.version}</version> </dependency> </dependencies> <build> <!--项目打包名称--> <finalName>opdf</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.13.0</version> <configuration> <source>${java.version}</source> <target>${java.version}</target> <annotationProcessorPaths> <path> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> </path> </annotationProcessorPaths> </configuration> </plugin> </plugins> </build> </project> -
# simplelogger.properties org.slf4j.simpleLogger.logFile=System.out org.slf4j.simpleLogger.dateTimeFormat=yyyy-MM-dd HH:mm:ss:SSS org.slf4j.simpleLogger.showDateTime=true org.slf4j.simpleLogger.defaultLogLevel=debug -
package z.z.opdf; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; @Slf4j public class OpenPDFTests { @Test public void contextLoads() { log.info("输出Info 信息!"); log.debug("输出Debug 信息!"); } } - 严重警告!!!,如果是Windows系统,建议对
OpenPDFTests测试类做以下配置,防止出现问题!!!- 原因: Windows的命令行有最大字符数限制。
- 处理方法:
![image]()
- 在缩短命令行中,只要不选择“无”即可,其他两个都能选择。
- 测试
contextLoads()方法,看是否能够正常输出。 ![image]()
- 添加测试方法:
-
@Test public void createPDF() throws IOException { Document document = new Document(); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); PdfWriter.getInstance(document, outputStream); document.open(); document.add(new Paragraph("Hello World")); document.close(); Files.write(Paths.get("C:/TMP/123.pdf"), outputStream.toByteArray()); log.info("PDF创建成功!"); } - 查看日志是否报错,文件是否生成,能否正常打开。
- 大功告成!








浙公网安备 33010602011771号