C#代码实现将Markdown转换为Word和PDF

 更新时间:2026年04月03日 08:33:30   作者:2501_93070778  
本文将介绍如何使用 Spire.Doc for .NET 将 Markdown 内容转换为 Word 或 PDF 格式,以满足不同场景下的文档处理需求,文中的示例代码讲解详细,有需要的可以了解下

Markdown 作为一种轻量级标记语言,因其语法简洁、结构清晰、易读性强,广受开发者和技术文档编写者的青睐。然而,在实际应用中,常常需要将 Markdown 文档转换为具备丰富排版能力的 Word 文档,或生成便于阅读和打印的 PDF 文件。

本文将介绍如何使用 Spire.Doc for .NET 将 Markdown 内容转换为 Word 或 PDF 格式,以满足不同场景下的文档处理需求。

安装 Spire.Doc for .NET

首先,需要在 .NET 项目中引用 Spire.Doc for .NET 包中的 DLL 文件。您可以通过下载安装包获取这些 DLL 文件,或直接通过 NuGet 进行安装。

PM> Install-Package Spire.Doc

使用 C# 将 Markdown 文件转换为 Word 文档

借助 Spire.Doc for .NET,可以通过 Document.LoadFromFile(string fileName, FileFormat.Markdown) 方法加载 Markdown 文件,再使用 Document.SaveToFile(string fileName, FileFormat) 方法将其转换为其他格式。

需要注意的是,Markdown 文件中的图片通常以链接形式存在,因此直接转换更适用于不包含图片的 Markdown 文件。如果文件中包含图片,则在转换完成后还需要对图片进行进一步处理。

将 Markdown 文件转换为 Word 文档的基本步骤如下:

  • 创建 Document 类的实例
  • 使用 Document.LoadFromFile(string fileName, FileFormat.Markdown) 方法加载 Markdown 文件
  • 使用 Document.SaveToFile(string fileName, FileFormat.Docx) 方法将其转换并保存为 Word 文档

示例代码如下:

using Spire.Doc;

namespace MdToDocx
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建 Document 类的实例
            Document doc = new Document();

            // 加载 Markdown 文件
            doc.LoadFromFile("Sample.md", FileFormat.Markdown);

            // 将 Markdown 文件转换为 Word 文档
            doc.SaveToFile("MarkdownToWord.docx", FileFormat.Docx);
            doc.Close();
        }
    }
}

使用 C# 将 Markdown 文件转换为 PDF 文件

通过将 FileFormat.PDF 枚举作为参数,也可以直接将 Markdown 文件转换为 PDF 文件。具体步骤如下:

  • 创建 Document 类的实例
  • 使用 Document.LoadFromFile(string fileName, FileFormat.Markdown) 方法加载 Markdown 文件
  • 使用 Document.SaveToFile(string fileName, FileFormat.PDF) 方法将其转换并保存为 PDF 文件

示例代码如下:

using Spire.Doc;

namespace MdToDocx
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建 Document 类的实例
            Document doc = new Document();

            // 加载 Markdown 文件
            doc.LoadFromFile("Sample.md", FileFormat.Markdown);

            // 将 Markdown 文件转换为 PDF 文件
            doc.SaveToFile("MarkdownToPDF.pdf", FileFormat.PDF);
            doc.Close();
        }
    }
}

知识扩展

1.C#将Markdown转换为Word或PDF

环境准备

首先,你需要在你的C#项目中安装Spire.Doc for .NET。最简单的方法是通过NuGet包管理器:

  • 在Visual Studio中,右键点击你的项目 -> 管理NuGet程序包。
  • 在“浏览”选项卡中搜索 Spire.Doc。
  • 点击“安装”按钮,将库添加到你的项目中。

核心转换代码示例

以下是实现Markdown到Word和PDF转换的核心C#代码:

using Spire.Doc;
using Spire.Doc.Documents;
using System; // 引入System命名空间以使用Console.WriteLine
public class MarkdownConverter
{
    public static void ConvertMarkdownToWordAndPdf(string markdownFilePath, string wordOutputPath, string pdfOutputPath)
    {
        // 1. 创建 Document 对象
        // Document类是Spire.Doc的核心,代表一个Word文档实例。
        Document doc = new Document();
        // 2. 加载 Markdown 文件
        // LoadFromFile方法用于从指定路径加载文档。
        // FileFormat.Markdown参数明确告诉Spire.Doc这是一个Markdown格式的文件,以便正确解析。
        doc.LoadFromFile(markdownFilePath, FileFormat.Markdown);
        // 3. 保存为 Word (DOCX) 格式
        // SaveToFile方法用于将当前Document对象保存为指定格式的文件。
        // FileFormat.Docx参数表示将文档保存为Office Open XML (Word 2007及更高版本) 格式。
        doc.SaveToFile(wordOutputPath, FileFormat.Docx);
        Console.WriteLine($"Markdown successfully converted to Word: {wordOutputPath}");
        // 4. 保存为 PDF 格式
        // 同样使用SaveToFile方法,但指定FileFormat.PDF参数,即可将其保存为PDF文件。
        // Spire.Doc会自动处理Word文档到PDF的渲染和转换。
        doc.SaveToFile(pdfOutputPath, FileFormat.PDF);
        Console.WriteLine($"Markdown successfully converted to PDF: {pdfOutputPath}");
    }
}

如何调用:

假设你有一个名为 MyDocument.md 的Markdown文件,你想将其转换为 Output.docx 和 Output.pdf。你可以这样调用上述方法:

public class Program
{
    public static void Main(string[] args)
    {
        string markdownFile = "MyDocument.md"; // 确保此文件存在于应用程序运行目录或指定完整路径
        string wordFile = "Output.docx";
        string pdfFile = "Output.pdf";
        // 创建一个示例Markdown文件,以便测试
        System.IO.File.WriteAllText(markdownFile, "# 这是一个标题\n\n- 列表项1\n- 列表项2\n\n**加粗文本**和*斜体文本*。");
        MarkdownConverter.ConvertMarkdownToWordAndPdf(markdownFile, wordFile, pdfFile);
        Console.WriteLine("转换完成,请检查输出文件。");
        Console.ReadKey();
    }
}

2.C# 中将 Markdown 转换为 PDF

Aspose.Words API 可以轻松打开 Markdown 文件并将其保存为 PDF。在本节中,我们将了解如何使用 C# 将 Markdown 文件简单地转换为 PDF。

按照以下步骤在 C# 中将 Markdown 转换为 PDF:

  • 使用该类加载 Markdown 文件Document。
  • 使用 指定 PDF 格式SaveFormat.Pdf。
  • 保存输出文件。
using Aspose.Words;
// Step 1: Load the Markdown document
Document doc = new Document("markdown-sample.md");
// Step 2: Save the document as PDF
doc.Save("output.pdf", SaveFormat.Pdf);

到此这篇关于C#代码实现将Markdown转换为Word和PDF的文章就介绍到这了,更多相关C# Markdown转换为Word和PDF内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C# 检索不区分大小写并高亮显示实例详解

    C# 检索不区分大小写并高亮显示实例详解

    这篇文章主要介绍了C# 检索不区分大小写并高亮显示实例详解的相关资料,需要的朋友可以参考下
    2017-01-01
  • C#端口扫描器的编写方法

    C#端口扫描器的编写方法

    这篇文章主要为大家详细介绍了C#端口扫描器的编写方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • C# 三种序列化方法分享

    C# 三种序列化方法分享

    这篇文章主要介绍了C# 三种序列化方法,需要的朋友可以参考下
    2014-02-02
  • C#使用正则表达式抓取网站信息示例

    C#使用正则表达式抓取网站信息示例

    这篇文章主要介绍了C#使用正则表达式抓取网站信息,结合实例形式分析了C#针对网页信息的正则抓取操作相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2017-01-01
  • C#传递参数到线程的方法汇总

    C#传递参数到线程的方法汇总

    这篇文章主要介绍了C#传递参数到线程的方法,非常实用,需要的朋友可以参考下
    2014-08-08
  • C#中计数排序算法的原理及实现

    C#中计数排序算法的原理及实现

    计数排序是一种线性时间复杂度的排序方法,主要通过统计元素出现的次数实现排序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-10-10
  • C#删除文件目录或文件的解决方法

    C#删除文件目录或文件的解决方法

    本篇文章是对C#中如何删除文件目录或文件的解决方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C#窗体读取EXCEL并存入SQL数据库的方法

    C#窗体读取EXCEL并存入SQL数据库的方法

    这篇文章主要介绍了C#窗体读取EXCEL并存入SQL数据库的方法,实例简述了实现读取excel及写入SQL数据库的原理与技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-01-01
  • C#将图片和字节流互相转换并显示到页面上

    C#将图片和字节流互相转换并显示到页面上

    本文主要介绍用C#实现图片转换成字节流,字节流转换成图片,并根据图片路径返回图片的字节流,有需要的朋友可以参考下
    2015-08-08
  • C#编程自学之流程控制语句

    C#编程自学之流程控制语句

    本文主要介绍流程控制语句,主要包括条件控制语句和循环控制语句的使用。读者学习本文后,应该熟练掌握C#控制语句的主要用途和使用方法,了解这些控制语句的区别。
    2015-10-10

最新评论