Aspose.HTML for Java 是一种高级 HTML 操作 API,用于在 Java 应用程序中操作和生成 HTML。 API 允许添加、删除、替换节点、提取 CSS 以及通过多种方式浏览文档。此外,API 提供了加载 EPUB 和 MHTML 的能力,并提供了允许通过 JavaScript 操作 DOM 的脚本。
Aspose.HTML for Java 支持文件间格式转换以加载 HTML 文档并以 XPS、PDF 和光栅图像(包括 JPEG、PNG、BMP 等)保存输出,并为 PDF 文件提供加密。

高级 Java HTML 处理 API 特性

 

文档中的 API 功能

您可以在我们的文档中查看 Aspose.HTML 功能的完整列表。在您的项目中使用 Aspose.HTML for Java 库允许您执行以下任务:

  • 创建或打开来自不同来源的现有 HTML 文档。
  • HTML 操作:通过 API 创建、编辑、删除和替换 HTML 节点。
  • 保存 HTML 文档。
  • 为特定的 HTML 节点提取 CSS 样式。
  • 配置影响 HTML 文档处理的文档沙箱。
  • 以不同方式浏览 HTML 文档。
  • 将 HTML 文档转换为各种支持的格式:JPEG、PNG、BMP、TIFF、PDF、XPS 等。

将 HTML 转换为 PDF 和 XPS 格式

API 支持将 HTML 渲染为最常用的光栅图像,包括 BMP、TIFF、JPEG、PNG、PDF 和 XPS 格式。开发人员可以通过为生成的固定布局格式配置 PageSetup 方面进行自定义,包括要呈现的页码、生成的页面大小或为嵌入图像设置 JPEG 压缩。

将 HTML 呈现为固定布局格式 – Java


// Load HTML document from file
HTMLDocument htmdoc = new HTMLDocument(dir + "template.html");

// Render HTML to PDF & XPS
HtmlRenderer renderer = new HtmlRenderer();

renderer.render(new PdfDevice(new PdfRenderingOptions(), dir + "output.pdf"), htmdoc);
renderer.render(new XpsDevice(new XpsRenderingOptions(), dir + "output.xps"), htmdoc);

转换为光栅图像

Aspose.HTML for Java 在其核心提供高保真渲染引擎,可以将 HTML 页面转换为最常用的光栅图像格式,包括 TIFF、BMP、PNG 和 JPEG,而无需任何额外的软件或工具。

使用 Aspose.HTML for Java 将 HTML 转换为 PNG


// Initialize an HTML document from a file
HTMLDocument document = new HTMLDocument("document.html");

// Initialize ImageSaveOptions
ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Png);

// Convert HTML to PNG
Converter.convertHTML(document, options, "document-output.png");

您可以尝试在线 HTML 转换器。

您还可以将 HTML、XHTML、MHTML、Markdown、EPUB 或 SVG 转换为许多其他文件格式,包括下面列出的几种:


处理 EPUB 和 MHTML 文件

该库能够加载 EPUB 和 MHTML 文件以执行各种操作,包括转换为固定布局和光栅图像格式。

使用 Aspose.HTML for Java 将 MHTML 转换为 PDF


// Open an existing MHTML file for reading
java.io.FileInputStream fileInputStream = new java.io.FileInputStream("sample.mht");

// Create an instance of the PdfSaveOptions class
PdfSaveOptions options = new PdfSaveOptions();

// Call the convertMHTML() method to convert MHTML to PDF
Converter.convertMHTML(fileInputStream, options, "sample-output.pdf");

HTML 节点导航

API 支持通过 XPath、元素或 CSS 选择器查询在 HTML 文件中导航,并且可以轻松地插入、提取、删除或替换节点。

提取锚点类型的所有节点 – Java


// Instance creation of HTMLDocument and loading HTML from URL
HTMLDocument dct = new HTMLDocument("https://www.aspose.com");

// Get all anchor type nodes
NodeList nodelist = dct.getDocumentElement().querySelectorAll("a");

// Display anchor text & href values for all nodes
for (Node node : nodelist){

    HTMLAnchorElement anchor = (HTMLAnchorElement)node;
    System.out.println("Text: " + node.getTextContent() + " Href: " + anchor.getHref());
}

配置沙盒

HTML API 使您能够配置影响 HTML 文档处理的文档沙箱,即;在某些情况下,CSS 样式取决于屏幕尺寸。

使用 Java 禁用 HTML 到 PDF 转换的脚本


// Prepare HTML code and save it to a file
String code = "Hello, World!!\n" +
        "\n";

try (java.io.FileWriter fileWriter = new java.io.FileWriter("sandboxing.html")) {
    fileWriter.write(code);
}

// Create an instance of the Configuration class
Configuration configuration = new Configuration();

// Mark 'scripts' as an untrusted resource
configuration.setSecurity(com.aspose.html.Sandbox.Scripts);

// Initialize an HTML document with specified configuration
HTMLDocument document = new HTMLDocument("sandboxing.html", configuration);

// Convert HTML to PDF
Converter.convertHTML(document, new PdfSaveOptions(), "sandboxing_out.pdf");

FAQ

1. 什么是 Aspose.HTML for Java?

Aspose.HTML for Java 是一个类库,允许开发人员在 Java 应用程序中处理和转换 HTML 文档,而无需依赖外部工具或软件。

2. Aspose.HTML for Java 在 API 层面解决了什么问题?

Aspose.HTML for Java 提供了一个可编程的 HTML 处理引擎,使你可以在不依赖浏览器运行时的情况下加载、解析、修改、渲染和转换 HTML 文档。你可以通过 Java API 直接操作结构化 DOM、渲染管线和转换层,从而使行为具有确定性,并适用于后端系统。

3. HTML 在内部如何解析,并且是否符合现代标准?

解析器遵循 WHATWG 和 W3C 规范,这意味着它能够按照现代 Web 标准处理错误标记、隐式标签以及编码规则。生成的文档以完整可导航的 DOM 形式呈现,这对于转换、验证和渲染等任务非常重要。

4. 是否可以通过 API 从 HTML 中提取结构化数据?

可以。由于文档以完整 DOM 的形式表示,你可以使用选择器或遍历 API 查询它,并提取特定元素、属性或文本节点。当 HTML 作为数据容器而不仅仅是可视化文档时,这一点尤其有用。

5. API 是否支持 HTML 以外的格式?

支持,但并非所有格式都以相同方式处理。Aspose.HTML for Java 可以加载并处理 XHTML、MHTML、SVG、EPUB 和 Markdown 等格式,但它们并不都被视为等价的 HTML 文档。有些格式需要特定的加载方式,或者仅支持部分操作,例如转换而非完整编辑。
在实际应用中,HTML 仍然是主要的工作格式,而其他格式通常作为输入源或转换目标,存在于同一处理流程中。




  

Support and Learning Resources

  
  

Aspose.HTML 为其他流行的开发环境提供单独的 HTML 处理 API,如下所列: