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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 从dubbo源码分析qos-server端口冲突问题及解决

    从dubbo源码分析qos-server端口冲突问题及解决

    这篇文章主要介绍了从dubbo源码分析qos-server端口冲突问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • java selenium Selenium IDE介绍及用法

    java selenium Selenium IDE介绍及用法

    本文主要介绍java selenium Selenium IDE,这里整理了相关资料和介绍如何安装 Selenium IDE和使用方法,有需要的小伙伴可以参考下
    2016-08-08
  • 详解jvm双亲委派机制

    详解jvm双亲委派机制

    双亲委派机制保证了核心类的安全,确保不会被修改,也保证了不会加载到重复的字节码文件,这篇文章主要介绍了jvm双亲委派机制详解,需要的朋友可以参考下
    2022-11-11
  • Go&java算法之最大数示例详解

    Go&java算法之最大数示例详解

    这篇文章主要为大家介绍了Go&java算法之最大数示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • 单例模式的反射漏洞和反序列化漏洞代码实例

    单例模式的反射漏洞和反序列化漏洞代码实例

    这篇文章主要介绍了单例模式的反射漏洞和反序列化漏洞,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • OKHttp3(支持Retrofit)的网络数据缓存Interceptor拦截器的实现

    OKHttp3(支持Retrofit)的网络数据缓存Interceptor拦截器的实现

    本篇文章主要介绍了OKHttp3(支持Retrofit)的网络数据缓存Interceptor拦截器的实现,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • java使用OGEngine开发2048

    java使用OGEngine开发2048

    众所周知OGEngine是国人对AndEngine改进后的国产Java编程的游戏引擎,除了支持3D游戏这个鸡肋功能之外AndEngine的功能OGEngine都有,而且AndEngine缺少的多点触摸功能也被国人完善了。今天我们就尝试下使用OGEngine制作热门游戏2048.
    2015-03-03
  • Java中的Phaser并发阶段器详解

    Java中的Phaser并发阶段器详解

    这篇文章主要介绍了Java中的Phaser并发阶段器详解,Phaser由JDK1.7提出,是一个复杂强大的同步辅助类,是对同步工具类CountDownLatch和CyclicBarrier的综合升级,能够支持分阶段实现等待的业务场景,需要的朋友可以参考下
    2023-12-12
  • 详解Spring Boot Profiles 配置和使用

    详解Spring Boot Profiles 配置和使用

    本篇文章主要介绍了详解Spring Boot Profiles 配置和使用,具有一定的参考价值,有兴趣的可以了解一下
    2017-06-06
  • springboot接收http请求,解决参数中+号变成空格的问题

    springboot接收http请求,解决参数中+号变成空格的问题

    这篇文章主要介绍了springboot接收http请求,解决参数中+号变成空格的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08

最新评论