html 转 xps

如何在 C# .NET 中将 HTML 转换为 XPS

HTML 文件在互联网上广泛用于信息共享。由于它受到大多数平台的支持,并且几乎所有 Web 浏览器都能够加载此格式,因此它成为可接受的格式之一。然而,由于其被广泛接受,许多黑客试图在 HTML 文件中嵌入恶意脚本。近年来,恶意 HTML 和 JavaScript 代码的高调攻击在认知和利用方面都急剧增加。另一方面,XPS 文件表示基于 XML 纸张规范的页面布局文件。

  • XPS 与 PDF 文件格式类似,但在文档的布局、外观和打印信息中使用 XML。

HTML 转换 API

Aspose.HTML Cloud 专门设计用于提供处理 HTML 文件的功能。除了输入 HTML,我们还可以通过 URL 加载 XHTMLMHTMLEPUBMarkdown 或网页。结果输出可以是 PDF、XPS、DOCX 或光栅图像格式:JPEG、PNG、TIFF、BMP、GIF。由于 API 是根据 REST 架构开发的,因此它可以用于桌面、移动、Web 和混合应用程序,以及桌面或移动平台。

为了进一步方便我们的客户,我们创建了特定于编程语言的 SDK。Cloud SDK 是各种编程语言 REST API 的包装器,允许您使用您选择的语言处理文档。这样,您可以快速轻松地获得强类型和 IDE 亮点的所有好处。请查看 Aspose.HTML GitHub 存储库 以获取 SDK 以及工作示例,以便您立即开始使用。在本文中,我们将讨论 Aspose.HTML Cloud SDK for .NET 的文档转换功能。

安装

要开始使用 Cloud SDK,第一步是在系统上安装它。SDK 可通过 NuGetGitHub 获取。请在终端窗口中执行以下命令以执行 NuGet 的安装

nuget install Aspose.HTML-Cloud

另一个选项是通过 Visual Studio 中的包管理器控制台安装 SDK。请执行以下命令:

 PM> Install-Package Aspose.HTML-Cloud
程序包管理器控制台

图 1:- 已安装 Aspose.HTML NuGet 包。

NuGet 包管理器

另一种最简单的方法是通过 Visual Studio IDE 中的 NuGet 包管理器安装 SDK。

  1. 打开解决方案资源管理器。
  2. 展开项目并右键单击解决方案中的“包”文件夹。
  3. 选择管理 NuGet 包… 选项。
  4. 单击浏览选项卡并搜索“Aspose.HTML-Cloud”。
  5. 单击 Aspose.HTML-Cloud 包,在右侧选项卡中选择适当的版本,然后单击添加包按钮。
标题

Image 2:- Aspose.HTML Package in NuGet Package Manager.

免费云订阅

下一个重要步骤是在 Aspose.Cloud 仪表板 上免费订阅帐户。无需信用卡或其他付款详细信息。如果您有 GitHub 或 Google 帐户,只需注册或单击 创建新帐户 按钮并提供所需信息。现在使用凭据登录仪表板并从仪表板展开应用程序部分,然后向下滚动到客户端凭据部分以查看客户端 ID 和客户端密钥详细信息。

客户端凭证

图 3:Aspose.Cloud 仪表板上的客户端凭证。

使用 C# 将 HTML 转换为 XPS

在本节中,我们将讨论以下两种情况的 HTML 文件到 XPS 格式的转换。

从云存储加载 HTML

请按照以下说明将 HTML 文件上传到云存储,然后转换为 XPS 格式。

  • 首先,请创建 HtmlApi 实例并传递 ClientID 和 ClientSecret 详细信息作为参数。
  • 其次,使用 File.OpenRead(…) 方法读取 HTML 文件。
  • 第三,创建StorageApi的实例并使用UploadFile(…)方法将HTML文件上传到云存储。
  • 最后,调用PutConvertDocumentToXps(…)方法执行HTML到XPS的转换,并将生成的XPS保存到云存储。
// 从 https://dashboard.aspose.cloud/ 获取 ClientID
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";
// 基本 URL 字符串
const string SERVICE_API_HOST = "https://api.aspose.cloud";

// 创建 HtmlApi 实例
HtmlApi htmlApi = new HtmlApi(clientID, clientSecret,SERVICE_API_HOST);

String name = "inputHTML.html";// inpit Document name.
int width = 800; // Resulting image width.
int height = 1000; // Resulting image height.
int leftMargin = 10; // Left resulting image margin.
int rightMargin = 10; // Right resulting image margin.
int topMargin = 10; // Top resulting image margin.
int bottomMargin = 10; // Bottom resulting image margin.

// 结果文件的名称
string resultantFile = "Resultant.xps";

try
{
    // 从本地驱动器加载文件
    using (var file = System.IO.File.OpenRead(@"C:\Users\shahbnay\Desktop\" + name))
    {
        // 创建 StorageApi 实例
        var uploadFileRequest = new StorageApi(clientID, clientSecret, SERVICE_API_HOST);
        
        // 将 HTML 文件上传至云存储
        uploadFileRequest.UploadFile(file, "inputHTML.html");
    }
    
    // 转换为 PDF 格式
    // 将输出保存到云存储
    AsposeResponse response = htmlApi.PutConvertDocumentToPdf(
    name, resultantFile, width, height,
    leftMargin, rightMargin, topMargin, bottomMargin);
    
    // 如果转换成功,则打印成功消息
    if (response != null && response.Equals("OK"))
    {
        Console.WriteLine("HTML successfully converted to XPS !");
    }
}catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
标题

Image 4:- HTML to XPS conversion preview.

为了测试目的,可以从 inputHTML.htmlResultant.xps 下载输入的 HTML 和生成的 XPS。

使用 cURL 将 HTML 转换为 XPS

由于我们的 API 是根据 REST 架构开发的,因此也可以通过 cURL 命令访问它们。在本节中,我们将讨论使用 cURL 命令将 HTML 页面转换为 XPS 格式。但在继续之前,第一步是根据 Aspose.Cloud 仪表板 中的客户端凭据创建 JSON Web Token (JWT)。请按照以下步骤执行 HTML 到 XPS 的转换。

  1. 从云仪表板获取您的客户端 ID 和客户端密钥。
  2. 根据客户端凭证获取 JSON Web 访问令牌。
  3. 调用 PutConvertDocumentToXps API。
  4. 生成的 PDF 文件将保存在云存储中。

请执行以下 cURL 命令来生成 JWT 访问令牌。

 curl -v "https://api.aspose.cloud/connect/token" \
 -X POST \
 -d "grant_type=client_credentials&client_id=4db2f826-bf9c-42e7-8b2a-8cbca2d15553&client_secret=d757548a9f2558c39c2feebdf85b4c44" \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Accept: application/json"

请执行以下命令将 HTML 文件上传到云存储:

curl -X PUT "https://api.aspose.cloud/html/storage/file/inputHTML.html" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: multipart/form-data" \
-d {"File":{}}

HTML 上传到云存储后,可以使用以下命令执行 HTML 到 XPS 的转换,并将生成的文件保存在云存储中。

curl -X PUT "https://api.aspose.cloud/html/inputHTML.html/convert/xps?outPath=converted.xps&width=800&height=1000&leftMargin=10&rightMargin=10&topMargin=10&bottomMargin=10" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

免费 XPS 查看器

为了查看 XPS 文件,您可以考虑使用 XPS 查看器应用程序。它基于 REST API 开发,可让您体验 API 的惊人功能。

结论

我们探索了 Aspose.HTML Cloud 将 HTML 文件转换为固定页面布局和其他光栅图像的功能。我们探索了使用 C# .NET 代码片段以及使用 cURL 命令转换 HTML 的功能。

尽管如此,Aspose.HTML Cloud SDK for .NET 是 Aspose.HTML Cloud 的包装器,它是在 MIT 许可下开发的,因此完整的代码片段可以从 GitHub 下载。如果您在使用 API 时遇到任何问题,请随时通过 免费产品支持论坛 与我们联系。

相关文章

我们建议您访问以下链接以了解更多信息