SpringBoot集成MD2File实现Markdown转PDF的示例代码

 更新时间:2025年06月12日 11:09:46   作者:不愿放下技术的小赵  
MD2File是一种与Markdown文件格式相关的工具或库,主要用于将Markdown格式的文本转换为其他文件类型,Markdown是一种轻量级标记语言,广泛用于编写易于阅读和书写的结构化文档,本文给大家讲解了SpringBoot集成MD2File实现Markdown转PDF的示例,需要的朋友可以参考下

Gitee 地址: https://gitee.com/cevin15/MD2File

一、MD2File简介

MD2File 实现了 Markdown 文档导出为 wordpdfhtml 等格式文件。

优点:

  • 代码非常简洁,引入 Maven 依赖之后,通过一行代码就可以实现 Markdown 文件的转换。
  • 支持大部分 Markdown 的基础语法(包括表格等)。

缺点:

  • 暂不支持多级列表、图片、下划线。
  • 暂不支持多个空行,如果需要可以使用全角空格 “ ” 来实现。
  • 小编亲测,2800 字的 Markdown 转 PDF 耗时在 1s 左右,速度没有达到毫秒级。

二、代码实现

2.1 Maven依赖

<dependency>
    <groupId>com.youbenzi</groupId>
    <artifactId>MD2File</artifactId>
    <version>1.0.2</version>
</dependency>

2.2 Java代码

public static void main(String[] args) {
    try {
        // 导出文本
        long start = System.currentTimeMillis();
        System.out.println("开始执行。。。");
        FileFactory.produce(new File("D:\\test.md"), "D:\\test.docx");
        FileFactory.produce(new File("D:\\test.md"), "D:\\test.pdf");
        FileFactory.produce(new File("D:\\test.md"), "D:\\test.html");
        long end = System.currentTimeMillis();
        System.out.println("耗时:" + 1.0 * (end - start) / 1000 + " s");
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (UnsupportedEncodingException e) {
        throw new RuntimeException(e);
    }
    //markdown转html
    System.out.println(MDUtil.markdown2Html("执行结束"));
}

执行结果如下所示:

2.3 转换结果

转换前:

# 标题一

## 标题二

### 标题三

> 引用内容测试

**加粗内容测试**

*斜体内容测试*

<u>下划线内容测试</u>

无序列表测试:

* 无序列表测试1
* 无序列表测试2
* 无序列表测试3

有序列表测试:

1. 有序列表测试1
2. 有序列表测试2
3. 有序列表测试3

```java
// 代码块测试
public static void main(String[] args) {
    System.out.println("Hello World.");
}
```

转换后:

到此这篇关于SpringBoot集成MD2File实现Markdown转PDF的示例代码的文章就介绍到这了,更多相关SpringBoot MD2File实现Markdown转PDF内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java邮件发送的实现

    java邮件发送的实现

    本篇是用于java来实现邮件的发送的实例代码,基于smtp服务,有需要的可以参考一下。
    2016-10-10
  • mybatisFlex各种链式sql写法小结

    mybatisFlex各种链式sql写法小结

    本文主要介绍了mybatisFlex各种链式sql写法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-04-04
  • 深入探讨Java应用性能监控与调优的工具链构建

    深入探讨Java应用性能监控与调优的工具链构建

    这篇文章主要来和大家将深入探讨Java应用性能监控与调优的完整工具链,从传统的单机分析工具JProfiler到现代化的分布式监控系统Prometheus,希望能帮助开发者和运维人员构建全方位的性能监控体系
    2025-06-06
  • idea新窗口打开工程不生效问题及解决

    idea新窗口打开工程不生效问题及解决

    文章提供了解决在Macos系统中,使用某些浏览器打开链接时无法新窗口打开的解决方案,包括设置OpenProjectInNewWindow和将首选打开方式设置为“永不”
    2026-04-04
  • lazy init控制加载在Spring中如何实现源码分析

    lazy init控制加载在Spring中如何实现源码分析

    这篇文章主要为大家介绍了lazy init控制加载在Spring中如何实现源码分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • Springboot使用@WebListener 作为web监听器的过程解析

    Springboot使用@WebListener 作为web监听器的过程解析

    这篇文章主要介绍了Springboot使用@WebListener作为web监听器的过程,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • java中的常见几种发送http请求实例

    java中的常见几种发送http请求实例

    在Java编程中,发送HTTP请求是一个常见需求,常用的方法有四种:HttpURLConnection、URLConnection、HttpClient以及Socket,其中,使用HttpClient方式时,需要添加额外的库支持
    2024-11-11
  • Java设计模式之访问模式(Visitor者模式)介绍

    Java设计模式之访问模式(Visitor者模式)介绍

    这篇文章主要介绍了Java设计模式之访问模式(Visitor者模式)介绍,本文讲解了为何使用Visitor模式、如何使用Visitor模式、使用Visitor模式的前提等内容,需要的朋友可以参考下
    2015-03-03
  • Spring中Bean的命名方式代码详解

    Spring中Bean的命名方式代码详解

    这篇文章主要介绍了Spring中Bean的命名方式代码详解,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • Java中EasyPoi导出复杂合并单元格的方法

    Java中EasyPoi导出复杂合并单元格的方法

    这篇文章主要介绍了Java中EasyPoi导出复杂合并单元格的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01

最新评论