Convert Markdown to PDF – C#

Markdown is a markup language with a plain-text-formatting syntax. Markdown is often used as a format for documentation and readme files since it allows writing in an easy-to-read and easy-to-write style. Its design allows it to be easily converted to many output formats, but initially, it was created to convert only to HTML. Using the Aspose.HTML class library in your C# application, you can easily convert Markdown into a PDF file with just a few lines of code!

This article provides information on how to convert Markdown to PDF using the Aspose.HTML for .NET API. You will learn about the supported Markdown to PDF conversion scenarios and consider C# examples to illustrate them. Also, you can try an Online Markdown Converter to test the Aspose.HTML API functionality and convert Markdown on the fly.

Online Markdown Converter

You can convert Markdown to other formats with Aspose.HTML for .NET API in real time. Please load a Markdown file from the local file system, select the output format and run the example. The save options are set by default. You will immediately receive the conversion result as a separate file.

                
            

If you want to convert Markdown to PDF programmatically, please see the following C# code examples.

Note: Conversions from Markdown to formats such as PDF, XPS, DOCX, and image formats go through the Markdown to HTML conversion stage.

Convert Markdown to PDF in C#

If your scenario is required rendering Markdown document, for instance, to the PDF file format, the following example demonstrates how that is simple:

  1. Prepare a source Markdown document. In the example, we create a Markdown file from code.
  2. Prepare a path for converted file saving.
  3. Convert Markdown to HTML. Use the ConvertMarkdown(sourcePath) method to save Markdown as an HTML document.
  4. Use the ConvertHTML() method to render the intermediary HTML document to PDF format. You need to pass the HTMLDocument, PdfSaveOptions, and output file path to the ConvertHTML() method for HTML to PDF conversion.

If your case is to create a Markdown document from a user string directly in your code and convert it to a PDF file, the following example could help you:

 1// Prepare a path to a source Markdown file
 2string sourcePath = Path.Combine(OutputDir, "document.md");
 3
 4// Prepare a simple Markdown example
 5var code = "### Hello, World!" +
 6           "\r\n" +
 7           "[visit applications](https://products.aspose.app/html/applications)";
 8// Create a Markdown file
 9File.WriteAllText(sourcePath, code);
10
11// Convert Markdown to HTML 
12using var document = Converter.ConvertMarkdown(sourcePath);
13
14// Prepare a path for converted PDF file saving 
15string savePath = Path.Combine(OutputDir, "document-output.pdf");
16
17// Convert the HTML document to PDF file format
18Converter.ConvertHTML(document, new PdfSaveOptions(), savePath);

Convert Markdown to PDF using PdfSaveOptions

If your case is to convert an existing Markdown document from a local file system, the following example could help you. You need to follow a few steps:

  1. Open an existing Markdown document. In the example, we load a Markdown file from a local file system ( nature.md).
  2. Prepare a path for converted PDF file saving.
  3. Convert Markdown to HTML. Use the ConvertMarkdown(sourcePath) method of the Converter class to save Markdown as an HTML document.
  4. Create a new PdfSaveOptions object and specify the required properties.
  5. Use the ConvertHTML() method to render the intermediary HTML document to PDF format. You need to pass the HTMLDocument, PdfSaveOptions, and output file path to the ConvertHTML() method.

The following code snippet shows how to convert Markdown to PDF using Aspose.HTML for .NET.

 1// Prepare a path to a source Markdown file
 2string sourcePath = Path.Combine(DataDir, "nature.md");
 3
 4// Prepare a path to save the converted file
 5string savePath = Path.Combine(OutputDir, "nature-output.pdf");
 6
 7// Convert Markdown to HTML
 8using var document = Converter.ConvertMarkdown(sourcePath);
 9
10// Initialize PdfSaveOptions. Set up the resolutions, JpegQuality and change the background color to AliceBlue 
11var options = new PdfSaveOptions()
12{
13    HorizontalResolution = 200,
14    VerticalResolution = 200,
15    BackgroundColor = System.Drawing.Color.AliceBlue,
16    JpegQuality = 100
17};            
18
19// Convert the HTML document to PDF file format
20Converter.ConvertHTML(document, options, savePath);

The PdfSaveOptions class provides numerous properties that give you full control over a wide range of parameters and improve the process of converting Markdown to PDF format. To learn more about PdfSaveOptions, please read the Fine-Tuning Converters article.

In the above example, we use:

Download our Aspose.HTML for .NET library allows you to successfully, quickly, and easily convert your HTML, MHTML, EPUB, SVG, and Markdown documents to the most popular formats.

You can check the quality of Markdown to PDF conversion with our online MD to PDF Converter. Upload, convert your files and get results in a few seconds. Try our forceful Markdown to PDF Converter for free now!

Text “MD to PDF Converter”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.