在这篇文章中,我们将探索并演示如何使用各种自定义选项在 C# 中读取 PDF 并将其转换为 HTML。
PDF是当今最流行的文档格式之一,被各种应用程序用作最终输出。由于它支持广泛的数据类型和可移植性,因此它是创建和共享内容的首选格式。作为对开发文档管理应用程序感兴趣的 .NET 应用程序开发人员,您可能希望嵌入处理功能来读取 PDF 文档并将其转换为其他文件格式,例如HTML。
本文涵盖以下 PDF 到 HTML 的转换场景:
- 使用 C# 将 PDF 转换为 HTML
- 使用 C# 中的嵌入式资源将 PDF 转换为 HTML
- 将图像以 PDF 格式保存到特定文件夹到 HTML 转换
- 在 C# 中将 PDF 转换为多页 HTML
C# PDF 到 HTML 转换器库
Aspose.PDF for .NET是一个强大的PDF 库,它也提供了一个高效的PDF 到HTML 的转换器。它允许您在 .NET 应用程序中使用 C# 或 VB.NET 读取 PDF 文件并将其转换为 HTML。您可以下载Aspose.PDF for .NET 或使用NuGet Package Manager将其添加到您的项目中。
使用 C# 将 PDF 转换为 HTML
将 PDF 文档转换为 HTML 就像饼图一样简单,只需几行代码即可完成。只需使用Document类加载 PDF 文档并使用.html扩展名将其保存为 HTML 。以下代码示例展示了如何在 C# 中将 PDF 文档转换为 HTML。
// Open the source PDF document
Document pdfDocument = new Document("PDFToHTML.pdf");
// Save the file into MS document format
pdfDocument.Save("output_out.html", SaveFormat.Html);
API 负责读取 PDF 格式的所有内部细节并将其转换为 HTML。有趣的是,您无需在终端或最终运行应用程序的任何其他计算机上安装 PDF 阅读器程序。
使用 C# 中的嵌入式资源将 PDF 转换为 HTML
您还可以将所有资源作为输出 HTML 的一部分将 PDF 转换为 HTML。这将导致将 PDF 文件的所有元素(图像、CSS 和字体)嵌入到输出 HTML 中。这是通过使用HtmlSaveOptions.PartsEmbeddingMode枚举器实现的。以下代码示例展示了如何使用 C# 将带有嵌入资源的 PDF 转换为 HTML。
// Load source PDF file
Document doc = new Document("input.pdf");
// Instantiate HTML Save options object
HtmlSaveOptions newOptions = new HtmlSaveOptions();
// Enable option to embed all resources inside the HTML
newOptions.PartsEmbeddingMode = HtmlSaveOptions.PartsEmbeddingModes.EmbedAllIntoHtml;
// This is just optimization for IE and can be omitted
newOptions.LettersPositioningMethod = HtmlSaveOptions.LettersPositioningMethods.UseEmUnitsAndCompensationOfRoundingErrorsInCss;
newOptions.RasterImagesSavingMode = HtmlSaveOptions.RasterImagesSavingModes.AsEmbeddedPartsOfPngPageBackground;
newOptions.FontSavingMode = HtmlSaveOptions.FontSavingModes.SaveInAllFormats;
// Output file path
string outHtmlFile = "SingleHTML_out.html";
doc.Save(outHtmlFile, newOptions);
将图像保存到特定文件夹
除了文本细节之外,PDF 文档还可以包含图像。另一方面,HTML 文件还可以包含基于 64 位编码在 HTML 中的图像或从这些图像所在的文件夹引用的图像。Aspose.PDF for .NET 具有将图像保存到用户指定的光盘文件夹的丰富功能。以下代码示例展示了如何在 C# 中将 PDF 文件转换为 HTML 期间将图像保存到特定文件夹。
// Load source PDF file
Document doc = new Document("input.pdf");
// Create HtmlSaveOption with tested feature
HtmlSaveOptions newOptions = new HtmlSaveOptions();
// Specify the separate folder to save images
newOptions.SpecialFolderForAllImages = "MyFolder";
// Output file path
string outHtmlFile = "HTML.html";
doc.Save(outHtmlFile, newOptions);
使用 C# 将 PDF 转换为多页 HTML
API 不会阻止您,因为它有很多选项可以自定义转换。例如,您可以在 PDF 到 HTML 的转换过程中将上述步骤中的 HTML 拆分为多个页面。以下代码示例展示了如何使用 C# 将 PDF 转换为多页 HTML。
// Open the source PDF document
Document pdfDocument = new Document("PDFToHTML.pdf");
// Instantiate HTML SaveOptions object
HtmlSaveOptions htmlOptions = new HtmlSaveOptions();
// Specify to split the output into multiple pages
htmlOptions.SplitIntoPages = true;
// Save the document
pdfDocument.Save(@"MultiPageHTML_out.html", htmlOptions);
将SplitIntoPages标志设置为 true 会为您处理所有事情,并且输出 HTML 由多个页面而不是单个页面组成。
结论
本文介绍了如何使用 C# 以编程方式将 PDF 转换为 HTML 的各种场景。它还演示了如何使用不同的选项自定义转换。
还想要更多吗?您可以直接访问 API 文档部分,PDF 到 HTML,其中列出了一些高级功能,用于在转换过程中应用更多选项。
下载适用于 .NET的Aspose.PDF免费副本,您可以按照 API 文档立即开始使用。如果您有任何疑问,请随时发布到Aspose.PDF 论坛。我们很乐意为您提供咨询和咨询。