SpringBoot集成MD2File實現(xiàn)Markdown轉(zhuǎn)PDF的示例代碼
Gitee 地址: https://gitee.com/cevin15/MD2File
一、MD2File簡介
MD2File 實現(xiàn)了 Markdown 文檔導(dǎo)出為 word、pdf、html 等格式文件。
優(yōu)點:
- 代碼非常簡潔,引入 Maven 依賴之后,通過一行代碼就可以實現(xiàn) Markdown 文件的轉(zhuǎn)換。
- 支持大部分 Markdown 的基礎(chǔ)語法(包括表格等)。
缺點:
- 暫不支持多級列表、圖片、下劃線。
- 暫不支持多個空行,如果需要可以使用全角空格 “ ” 來實現(xiàn)。
- 小編親測,2800 字的 Markdown 轉(zhuǎn) PDF 耗時在 1s 左右,速度沒有達到毫秒級。
二、代碼實現(xiàn)
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 {
// 導(dǎo)出文本
long start = System.currentTimeMillis();
System.out.println("開始執(zhí)行。。。");
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轉(zhuǎn)html
System.out.println(MDUtil.markdown2Html("執(zhí)行結(jié)束"));
}
執(zhí)行結(jié)果如下所示:

2.3 轉(zhuǎn)換結(jié)果
轉(zhuǎn)換前:
# 標題一
## 標題二
### 標題三
> 引用內(nèi)容測試
**加粗內(nèi)容測試**
*斜體內(nèi)容測試*
<u>下劃線內(nèi)容測試</u>
無序列表測試:
* 無序列表測試1
* 無序列表測試2
* 無序列表測試3
有序列表測試:
1. 有序列表測試1
2. 有序列表測試2
3. 有序列表測試3
```java
// 代碼塊測試
public static void main(String[] args) {
System.out.println("Hello World.");
}
```

轉(zhuǎn)換后:

到此這篇關(guān)于SpringBoot集成MD2File實現(xiàn)Markdown轉(zhuǎn)PDF的示例代碼的文章就介紹到這了,更多相關(guān)SpringBoot MD2File實現(xiàn)Markdown轉(zhuǎn)PDF內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
深入探討Java應(yīng)用性能監(jiān)控與調(diào)優(yōu)的工具鏈構(gòu)建
這篇文章主要來和大家將深入探討Java應(yīng)用性能監(jiān)控與調(diào)優(yōu)的完整工具鏈,從傳統(tǒng)的單機分析工具JProfiler到現(xiàn)代化的分布式監(jiān)控系統(tǒng)Prometheus,希望能幫助開發(fā)者和運維人員構(gòu)建全方位的性能監(jiān)控體系2025-06-06
lazy?init控制加載在Spring中如何實現(xiàn)源碼分析
這篇文章主要為大家介紹了lazy?init控制加載在Spring中如何實現(xiàn)源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09
Springboot使用@WebListener?作為web監(jiān)聽器的過程解析
這篇文章主要介紹了Springboot使用@WebListener作為web監(jiān)聽器的過程,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-08-08
Java設(shè)計模式之訪問模式(Visitor者模式)介紹
這篇文章主要介紹了Java設(shè)計模式之訪問模式(Visitor者模式)介紹,本文講解了為何使用Visitor模式、如何使用Visitor模式、使用Visitor模式的前提等內(nèi)容,需要的朋友可以參考下2015-03-03
Java中EasyPoi導(dǎo)出復(fù)雜合并單元格的方法
這篇文章主要介紹了Java中EasyPoi導(dǎo)出復(fù)雜合并單元格的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01

