用 Java 将 Markdown 转换为 PDF
Markdown 是一种轻量级标记语言,虽然 Markdown 是编写和结构化内容的绝佳工具,但它的格式化选项有限,而且没有针对打印进行优化等。将 Markdown 转换为 PDF 可以让您利用 PDF 格式的优势。PDF 有许多优点,将 Markdown 转换为 PDF 可用于共享、格式化、存档或打印网页。在本文中,你将找到有关Markdown到PDF转换场景的信息,并学习如何使用 PdfSaveOptions。
注: 任何从 Markdown 到其他格式的转换都要经过Markdown 到 HTML 的转换阶段。
将 Markdown 转换为 PDF
Converter 类的静态方法主要用于将 Markdown 文件转换为各种格式的最简单方法。让我们一步步来了解一下简单的 Markdown 到 PDF 的转换过程:
- 加载 Markdown 文件您可以从文件或数据流中加载 Markdown。在下面的示例中,我们将从头开始创建 Markdown。
- 使用
convertMarkdown(
sourcePath) 方法将 Markdown 转换为 HTML 文档。 - 创建一个新的 PdfSaveOptions 对象。
- 使用
Converter 类的
сonvertHTML(document, options, savePath)方法将中间 HTML 文档保存为 PDF 文件。该方法将document、options和savePath作为参数,并执行转换。
请查看以下 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 size、 margins、 file permissions、 media type等。
| Metod | Description |
|---|---|
| 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. |
| setEncryption | This 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 文件:
- 加载 Markdown 文件。
- 使用 convertMarkdown() 方法之一将 Markdown 转换为 HTML。
- 创建一个新的
PdfSaveOptions 对象,并指定所需的属性。在下面的示例中,我们将为生成的 PDF 文档应用自定义分辨率、JpegQuality 和背景颜色:
- Use the
setHorizontalResolution()andVerticalResolution()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
setJpegQualitymethod to specify the quality of JPEG compression for images.
- Use the
- 调用
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。只需上传、转换文件,几秒钟就能得到结果!
