用 Java 将 Markdown 转换为 PDF

Markdown 是一种轻量级标记语言,虽然 Markdown 是编写和结构化内容的绝佳工具,但它的格式化选项有限,而且没有针对打印进行优化等。将 Markdown 转换为 PDF 可以让您利用 PDF 格式的优势。PDF 有许多优点,将 Markdown 转换为 PDF 可用于共享、格式化、存档或打印网页。在本文中,你将找到有关MarkdownPDF转换场景的信息,并学习如何使用 PdfSaveOptions

注: 任何从 Markdown 到其他格式的转换都要经过Markdown 到 HTML 的转换阶段。

将 Markdown 转换为 PDF

Converter 类的静态方法主要用于将 Markdown 文件转换为各种格式的最简单方法。让我们一步步来了解一下简单的 Markdown 到 PDF 的转换过程:

  1. 加载 Markdown 文件您可以从文件或数据流中加载 Markdown。在下面的示例中,我们将从头开始创建 Markdown。
  2. 使用 convertMarkdown(sourcePath) 方法将 Markdown 转换为 HTML 文档。
  3. 创建一个新的 PdfSaveOptions 对象。
  4. 使用 Converter 类的 сonvertHTML(document, options, savePath) 方法将中间 HTML 文档保存为 PDF 文件。该方法将 documentoptionssavePath 作为参数,并执行转换。

请查看以下 Java 代码片段,其中显示了 Markdown 到 PDF 的转换过程,并附有逐步说明:

 1// Convert Markdown to PDF using Aspose.HTML for Java
 2
 3// Prepare a simple Markdown example
 4String code = "### Hello, World! \n\n" +
 5        "[visit applications](https://products.aspose.app/html/applications)";
 6
 7// Create a Markdown file
 8FileHelper.writeAllText("document.md", code);
 9
10// Convert Markdown to HTML
11HTMLDocument document = Converter.convertMarkdown("document.md");
12
13// Convert the HTML document to PDF file format
14Converter.convertHTML(document, new PdfSaveOptions(), "document-output.pdf");

您可以从 GitHub 下载完整的示例和数据文件。

保存选项 - PdfSaveOptions 类

Aspose.HTML for Java 允许使用默认或自定义保存选项将 Markdown 转换为 PDF。通过 PdfSaveOptions,您可以自定义渲染过程。您可以指定 page sizemarginsfile permissionsmedia type等。

MetodDescription
setJpegQuality(value)Specifies the quality of JPEG compression for images. The default value is 95.
getCss()Gets a CssOptions object which is used for configuration of CSS properties processing.
setBackgroundColor(value)Sets the color that will fill the background of every page. By default, this property is Transparent.
setPageSetup(value)This method sets a page setup object and uses it for configuration output page-set.
setHorizontalResolution(value)Sets horizontal resolution for internal images, in pixels per inch. By default this property is 300 dpi.
setVerticalResolution(value)Sets vertical resolution for output images in pixels per inch. The default value is 300 dpi.
setEncryptionThis method gets or sets encryption details. If it is not set, then no encryption will be performed.

有关如何使用 PdfSaveOptions自定义转换过程的详细信息,请参阅 Fine-Tuning Converters 一文。

使用 PdfSaveOptions 将 Markdown 转换为 PDF

使用 Aspose.HTML for Java,您可以通过编程转换文件,并完全控制各种转换参数。下面的 Java 示例展示了如何使用 PdfSaveOptions,创建具有自定义分辨率、背景颜色和 JpegQuality 的 PDF 文件:

  1. 加载 Markdown 文件。
  2. 使用 convertMarkdown() 方法之一将 Markdown 转换为 HTML。
  3. 创建一个新的 PdfSaveOptions 对象,并指定所需的属性。在下面的示例中,我们将为生成的 PDF 文档应用自定义分辨率、JpegQuality 和背景颜色:
    • Use the setHorizontalResolution() and VerticalResolution() methods to set horizontal and vertical resolutions for output PDF file.
    • Use the setBackgroundColor() method to set the color that fills the background.
    • Use the setJpegQuality method to specify the quality of JPEG compression for images.
  4. 调用 Converter 类的 сonvertHTML(document, options, savePath) 方法。
 1// Convert Markdown to PDF in Java with custom settings
 2
 3// Convert Markdown to HTML
 4HTMLDocument document = Converter.convertMarkdown("nature.md");
 5
 6// Initialize PdfSaveOptions. Set up the resolutions, JpegQuality and change the background color to AliceBlue
 7PdfSaveOptions options = new PdfSaveOptions();
 8options.setHorizontalResolution(Resolution.to_Resolution(200));
 9options.setVerticalResolution(Resolution.to_Resolution(200));
10options.setBackgroundColor(Color.getAliceBlue());
11options.setJpegQuality(100);
12
13// Convert the HTML document to PDF file format
14Converter.convertHTML(document, options, "nature-output.pdf");

结论

Markdown 是一种简单而有效的标记语言,但它在格式化和优化打印方面存在局限性,因此需要将 Markdown 转换为 PDF 等更通用的格式。Aspose.HTML for Java 提供了一个强大的解决方案,可使用 Markdown 到 HTML 的中间处理步骤将 Markdown 转换为 PDF。通过 Converter类上的静态方法和可配置的 PdfSaveOptions,开发人员可以完全控制页面设置、图像质量、背景颜色、分辨率等转换选项。

Aspose.HTML 提供免费的在线 Markdown 到 PDF 转换器,可将 Markdown 高质量、方便快捷地转换为 PDF。只需上传、转换文件,几秒钟就能得到结果!

文本 “Markdown 到 PDF 转换器”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.