使用依赖
pom.xml
<dependency>
<groupId>org.commonmark</groupId>
<artifactId>commonmark</artifactId>
<version>0.21.0</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>html2pdf</artifactId>
<version>4.0.2</version>
</dependency>
- 使用 commonmark 将markdown转html
- 使用 html2pdf 将html转pdf
代码
// 定义待转化的 markdown 文本
String markdownText = textBuilder.toString();
// 先转化为 html
Parser parser = Parser.builder().build();
Node node = parser.parse(markdownText );
HtmlRenderer renderer = HtmlRenderer.builder().build();
String html = renderer.render(node);
// 转化后的 pdf 输出位置
String outputPath = "C:/Users/jenson/Downloads/output/" + (new Date().getTime()) + ".pdf";
File file = new File(outputPath);
// 定义文件输出流
FileOutputStream outputStream = new FileOutputStream(file);
// 定义默认字体
ConverterProperties converterProperties = new ConverterProperties();
FontProvider fontProvider = new DefaultFontProvider(true, true, true);
converterProperties.setFontProvider(fontProvider);
// Html 转化为 pdf
HtmlConverter.convertToPdf(html, outputStream, converterProperties);