将HTML转换为PDF

概述

本文解释了如何使用PHP将HTML转换为PDF。代码非常简单,只需将HTML加载到Document类中并将其保存为输出PDF。将MHTML转换为Java中的PDF也类似。它涵盖以下主题

Java HTML到PDF转换库

Aspose.PDF for PHP via Java 是一个PDF操作API,可让您无缝地将任何现有HTML文档转换为PDF。HTML到PDF的转换过程可以灵活定制。

将HTML转换为PDF

以下Java代码示例显示了如何将HTML文档转换为PDF。

  1. 创建一个HtmlLoadOptions类的实例。

  2. 初始化 Document 对象。

  3. 通过调用 Document.save(String) 方法保存输出 PDF 文档。

    // 创建一个 HtmlLoadOptions 实例以指定 HTML 文件的加载选项
    $loadOption = new HtmlLoadOptions();

    // 创建一个新的 Document 对象并加载 HTML 文件
    $document = new Document($inputFile, $loadOption);

    // 将文档保存为 PDF 文件
    $document->save($outputFile);

从 HTML 到 PDF 的高级转换

HTML 转换引擎有多个选项,可以让我们控制转换过程。

媒体查询支持

  1. 创建一个 HTML LoadOptions

  2. 设置打印或屏幕 模式。

  3. 初始化 Document 对象

  4. 保存输出的 PDF 文档。

媒体查询是一种流行的技术,用于为不同设备提供定制的样式表。我们可以使用 HtmlMediaType 类设置设备类型。


    // 创建 HtmlLoadOptions 的实例来指定 HTML 文件的加载选项
    $htmlMediaType = new HtmlMediaType();

    // 设置打印或屏幕模式
    $loadOption->setHtmlMediaType($htmlMediaType->Print);

    // 创建一个新的 Document 对象并加载 HTML 文件
    $document = new Document($inputFile, $loadOption);

    // 将文档保存为 PDF 文件
    $document->save($outputFile);

启用(禁用)字体嵌入

  1. 添加新的 Html LoadOptions
  2. 禁用字体嵌入。
  3. 保存新的文档。

HTML 页面经常使用字体(例如。 从本地文件夹、Google Fonts 等获取字体)。我们还可以使用 setEmbedFonts 属性控制文档中字体的嵌入。


    // 创建一个 HtmlLoadOptions 实例以指定 HTML 文件的加载选项
    $loadOption = new HtmlLoadOptions();

    // 禁用字体嵌入
    $loadOption->setEmbedFonts(true);

    // 创建一个新的 Document 对象并加载 HTML 文件
    $document = new Document($inputFile, $loadOption);

    // 将文档保存为 PDF 文件
    $document->save($outputFile);

将 MHTML 转换为 PDF

MHTML,即 MIME HTML,是一种网页存档格式,用于将通常由外部链接表示的资源(如图像、Flash 动画、Java 小程序和音频文件)与 HTML 代码合并为一个文件。 The content of an MHTML file is encoded as if it were an HTML email message, using the MIME type multipart/related.

MHTML 文件的内容被编码为类似于 HTML 电子邮件消息,使用 MIME 类型 multipart/related。

Next code snippet show how to covert MHTML files to PDF format with Java:

下面的代码片段展示了如何使用 Java 将 MHTML 文件转换为 PDF 格式:


    // Create a new instance of the MhtLoadOptions class.
    // 创建 MhtLoadOptions 类的新实例。
    $loadOption = new MhtLoadOptions();

    // Create a new instance of the Document class and load the MHTML file.
    // 创建 Document 类的新实例并加载 MHTML 文件。
    $document = new Document($inputFile, $loadOption);

    // Save the document as a PDF file.
    // 将文档保存为 PDF 文件。
    $document->save($outputFile);