Java 将Markdown文件转换为Word和PDF文档
Markdown 凭借其简洁易用的特性,成为创建和编辑纯文本文档的常用选择。但某些时候我们需要更加精致的展示效果,例如在专业分享文档或打印成离线使用的纸质版时,就需要将Markdown文件以其他固定的文档格式呈现。通过将 Markdown 转换为 Word 和 PDF 格式,可以得到更多的格式设置,确保跨平台的兼容性,并能够创建出专业的文档。本文将探讨如何使用 Java 将 Markdown 格式转换为 Word 和 PDF 格式。
- 使用 Java 将 Markdown 文件转换为 Word 文档
- 使用 Java 将 Markdown 文件转换为 PDF 文件
- 自定义生成文档的页面设置
本文采用的方法需要 Spire.Doc for Java 库的支持。
使用 Java 将 Markdown 文件转换为 Word 文档
Markdown 格式转换为 Word 或 PDF 文档格式,可以通过调用 Document.loadFromFile(String: fileName, FileFormat.Markdown) 方法加载 Markdown 文件,以及使用 Document.saveToFile(String: fileName, FileFormat: fileFormat) 方法保存为 Word 或 PDF 文档来简单完成。需要注意的是,由于 Markdown 文件中的图片是以链接形式存储的,如果希望在转换后保留图片,还需进行额外处理。
Markdown 文件转换为 Word 文档的具体步骤如下:
- 导入必要的模块。
- 创建 Document 类的实例。
- 使用 Document.loadFromFile(String: fileName, FileFormat.Markdown) 方法加载 Markdown 文件。
- 通过 Document.saveToFile(String: fileName, FileFormat.Docx) 方法将 Markdown 文件保存为 Word 文档。
- 释放资源。
代码示例:
import com.spire.doc.Document;
import com.spire.doc.FileFormat; public class MarkdownToWord {
public static void main(String[] args) {
// 创建一个 Document 实例
Document doc = new Document(); // 加载 Markdown 文件
doc.loadFromFile("示例.md", FileFormat.Markdown); // 将 Markdown 文件保存为 Word 文档
doc.saveToFile("output/Markdown转Word.docx", FileFormat.Docx);
doc.dispose();
}
}
原Markdown文件:

转换结果:

使用 Java 将 Markdown 文件转换为 PDF 文件
只需在 Document.saveToFile() 方法的格式参数中使用 FileFormat.PDF 枚举,即可直接将 Markdown 文件转换为 PDF 文档。
Markdown 文件转换为 PDF 文档的步骤如下:
- 导入必要的模块。
- 创建 Document 类的实例。
- 使用 Document.loadFromFile(String: fileName, FileFormat.Markdown) 方法加载 Markdown 文件。
- 利用 Document.saveToFile(String: fileName, FileFormat.PDF) 方法将 Markdown 文件保存为 PDF 文档。
- 释放资源。
代码示例:
import com.spire.doc.Document;
import com.spire.doc.FileFormat; public class MarkdownToPDF {
public static void main(String[] args) {
// 创建一个 Document 实例
Document doc = new Document(); // 加载 Markdown 文件
doc.loadFromFile("示例.md"); // 将 Markdown 文件保存为 PDF 文件
doc.saveToFile("output/Markdown转PDF.pdf", FileFormat.PDF);
doc.dispose();
}
}
转换结果:

自定义生成文档的页面设置
除了默认样式转换外,我们还可以在转换前利用 PageSetup 类下的方法进行页面设置,从而控制生成文档的页面边距、页面大小等属性。
自定义生成文档页面设置的步骤如下:
- 导入必要的模块。
- 创建 Document 类的实例。
- 使用 Document.loadFromFile(String: fileName, FileFormat.Markdown) 方法加载 Markdown 文件。
- 通过 Document.getSections().get(0) 方法获取第一章节。
- 使用 PageSetup 类下的方法设定页面大小、方向及边距。
- 通过 Document.saveToFile(String: fileName, FileFormat.PDF) 方法将 Markdown 文件保存为 PDF 文档。
- 释放资源。
代码示例:
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.PageSetup;
import com.spire.doc.Section;
import com.spire.doc.documents.MarginsF;
import com.spire.doc.documents.PageOrientation;
import com.spire.doc.documents.PageSize; public class PageSettingMarkdown {
public static void main(String[] args) {
// 创建一个 Document 实例
Document doc = new Document(); // 加载 Markdown 文件
doc.loadFromFile("示例.md"); // 获取第一个节
Section section = doc.getSections().get(0); // 设置页面尺寸、方向和边距
PageSetup pageSetup = section.getPageSetup();
pageSetup.setPageSize(PageSize.Letter);
pageSetup.setOrientation(PageOrientation.Landscape);
pageSetup.setMargins(new MarginsF(100, 100, 100, 100)); // 将 Markdown 文件保存为 PDF 文件
doc.saveToFile("output/Markdown转PDF.pdf", FileFormat.PDF);
doc.dispose();
}
}
本文通过分步指南及代码示例展示了如何将 Markdown 文件转换为 Word 文档和 PDF 文件。
欲了解更多文档处理与转换技巧,请前往 Spire.Doc for Java 教程。
Java 将Markdown文件转换为Word和PDF文档的更多相关文章
- Aspose.Words操作word生成PDF文档
Aspose.Words操作word生成PDF文档 using Aspose.Words; using System; using System.Collections.Generic; using ...
- ABBYY PDF Transformer+从文件选项中创建PDF文档的教程
可使用OCR文字识别软件ABBYY PDF Transformer+从Microsoft Word.Microsoft Excel.Microsoft PowerPoint.HTML.RTF.Micr ...
- 程序生成word与PDF文档的方法(python)
程序导出word文档的方法 将web/html内容导出为world文档,再java中有很多解决方案,比如使用Jacob.Apache POI.Java2Word.iText等各种方式,以及使用free ...
- Qt 生成word、pdf文档
需求:将软件处理的结果保存为一个报告文档,文档中包含表格.图片.文字,格式为word的.doc和.pdf.生成word是为了便于用户编辑. 开发环境:qt4.8.4+vs2010 在qt的官网上对于p ...
- Java使用Flying Saucer实现HTML代码生成PDF文档
1.需要的jar包:org.xhtmlrenderer.flying-saucer-pdf-itext5,Maven依赖如下: <dependency> <groupId>or ...
- java实现从url路径中下载pdf文档到本地
package com.cellstrain.icell.util; import java.io.*;import java.net.*; public class DownloadPdf { /* ...
- Java实现在线预览Word,Excel,Ppt文档
效果图:
- 使用 VS Code + Markdown 编写 PDF 文档
背景介绍 作为一个技术人员,基本都需要编写技术相关文档,而且大部分技术人员都应该掌握 markdown 这个技能,使用 markdown 来编写并生成 PDF 文档将会是一个不错的体验,以下就介绍下如 ...
- 如何通过Java应用程序压缩PDF文档
PDF文档是我们日常办公中使用最频繁的文档格式.但因为大多数PDF文档都包含很多页面图像或大量图片,这就导致PDF文档过大,处理起来较为麻烦.PDF文件过大,就会导致传输或者下载的速度变慢,也会增加传 ...
- 常用PDF文档开发库
C++库: 1,PDF类库 PoDoFo http://podofo.sourceforge.net/ PoDoFo 是一个用来操作 PDF 文件格式的 C++ 类库.它还包含一些小工具用来解析 ...
随机推荐
- WPF-dataGrid动态更新
简介: 问题:在WPF中,使用了ObservableCollection<T>作为dataGrid的数据源,发现更新数据的时候不会触发dataGrid的更新 By MaQaQ 2023-1 ...
- 提交项目到git远程仓库
提交项目到github远程仓库 点击VCS-->Share project on Github 相关信息配置:修改完,点击share 点击add等待完成. 打开浏览器查看,可以发现我们的仓库里出 ...
- postgresql建表空间、建库、建模式、建用户的规范
一.官方概念说明 1.表空间(表空间位置不应该位于数据目录内) 性能优化:您可以将高I/O的表和索引放在高速磁盘上,而将不经常访问的表放在普通的磁盘上. 管理磁盘空间:当数据库存储空间不足时,可以通过 ...
- Seata原理浅析
前言 Seata是阿里开源的分布式事务解决方案,本文将详细介绍 Seata 的事务模式.原理以及使用.了解之前需清楚什么是分布式事务. 一.什么是 Seata Seata 是一款开源的分布式事务解决方 ...
- 10分钟了解Flink SQL使用
Flink 是一个流处理和批处理统一的大数据框架,专门为高吞吐量和低延迟而设计.开发者可以使用SQL进行流批统一处理,大大简化了数据处理的复杂性.本文将介绍Flink SQL的基本原理.使用方法.流批 ...
- C语言:顺序存储循环队列#保存文件中单词的最后三个字母
目录 前言 全局变量和结构体代码 四个任务 ①计算文件中的单词数量 ②保存单词最后三个字母到链表中 ③将链表的内容导出到另一个文件中 ④将新文件的内容打印到屏幕中 @完整代码@ 前言 本博客最终会完成 ...
- ansible使用详解
ansible执行,用户主机配置 免密同一个同一个用户执行命令 1 能免密登录的[root@mcw1 ~]$ ansible 10.0.0.132 -m shell -a "hostname ...
- Istio(三):服务网格istio可观察性:Prometheus,Grafana,Zipkin,Kiali
目录 一.模块概览 二.系统环境 三.可观察性 四.指标 4.1 代理级指标 4.2 服务级指标 4.3 控制平面度量 五.Prometheus 5.1 安装Prometheus 5.2 部署示例应用 ...
- 【C#】预处理指令的学习 条件编译
预处理指令,我的理解是,编译器在编译过程中所做的指令,能根据用户定义的条件选择性的编译代码. 比如在debug下要打印些信息,然而release之后,不能出现debug的信息,这个时候就能用预处理指令 ...
- 不使用循环语句用if和else实现循环
如果不使用循环语句,可以使用递归函数来实现循环的效果.递归函数是指在函数内部调用自身的函数.下面是一个使用递归函数来实现循环的示例: (初学者记得写include,这里是个普通函数,所以我没写) de ...