通过 Python for .NET 转换 PDF 文档

将 PDF 导出为微软 Office® Word、Excel、PowerPoint 演示文稿、图像、HTML

概述

在极少数情况下,需要操作除PDF以外的文档,同时解析数据为PDF格式。因此,对于此类应用程序,将有两种情况,要么在自己的解决方案中添加PDF解析功能,要么添加PDF转换功能以处理受支持格式的数据。对于将PDF转换为Word**、Excel、HTML、图像或任何所需格式的第二种情况,在基于.NET 的环境中实现C# PDF 阅读器和转换器代码非常简单。我们在这里讨论几个案例,以便程序员可以根据自己的要求修改这些转换代码片段。

PDF 到 Microsoft Word 2003-2019 转换

示例:PDF 到 Word 转换的 C# 代码

import aspose.pdf as ap

input_pdf = DIR_INPUT + "sample.pdf"
output_pdf = DIR_OUTPUT + "convert_pdf_to_doc.doc"

// 加载源 PDF 文件
document = ap.Document(input_pdf)

// 使用保存选项进行保存
// 创建 DOCSaveOptions 对象
 save_options = ap.DocSaveOptions()
save_options.format = ap.DocSaveOptions.DocFormat.DOCX

// 将识别模式设置为 Flow 表示完全识别模式
save_options.mode = ap.DocSaveOptions.RecognitionMode.FLOW

// 另外两种模式是 recognitionMode.TextBox  recognitionMode.Enh

// 将水平接近度设置为 2.5
save_options.relative_horizontal_proximity = 2.5

// 启用该值以在转换过程中识别项目符号
save_options.recognize_bullets = True

// 保存生成的 DOC 文件
document.save(output_pdf, save_options)

Aspose.PDF for .NET 库支持所有 PDF 到 Word 的转换。 如果我们只是在没有任何特殊设置的情况下转换 Microsoft Word 文档,我们只需使用 Document 类的 Save 方法加载 PDF 文件,并将使用输出 Word 文档路径和 SaveFormat 作为参数。 对于需要增强线距、图像分辨率和更多设置的特殊情况,API 具有公开所有此类设置的 DocSaveOptions 类。

将 PDF 另存为 Excel 文件

将 PDF 另存为 Excel 文件

import aspose.pdf as ap

input_pdf = DIR_INPUT + "sample.pdf"
output_pdf = DIR_OUTPUT + "convert_pdf_to_excel.xlsx"
// 加载 PDF 文档
document = ap.Document(input_pdf)
// 初始化 excelSaveOptions
save_option = ap.ExcelSaveOptions()
// 设置输出 Excel XLSX 格式
save_option.format = ap.ExcelSaveOptions.ExcelFormat.XLSX
// 尽量减少工作表的数量
save_option.minimize_the_number_of_worksheets = True
//  PDF 转换为 Excel 输出文件
document.save(output_pdf, save_option)

专业 saveFormat.Excel 枚举可用于将 PDF 保存为特定的微软 Excel XLS XLSX 输出格式。此外,.NET PDF Library 还有一个特定的 ExcelSaveOptions 类,它不仅处理保存为 Excel 格式,而且还提供不同的功能和属性来设置不同的属性,例如精确的输出格式,最小化工作表的数量等等。

将 PDF 转换为微软演示文稿

示例:C# 代码 PDF 到 PowerPoint 的转换

import aspose.pdf as ap

input_pdf = DIR_INPUT + "sample.pdf"
output_pdf = DIR_OUTPUT + "convert_pdf_to_pptx.pptx
// 加载 PDF 文档
document = ap.Document(input_pdf)
save_option = ap.PptxSaveOptions()
save_option.slides_as_images = True
// 保存输出文件
document.save(output_pdf, save_option)

.NET PDF API 支持通过将幻灯片呈现为图像,将 PDF 页面转换为带有可选文本或图像的 PowerPoint 演示幻灯片。将便携式文档格式保存到 PowerPoint 的模式几乎相同,使用 Document 类加载文件,然后使用输出文件路径和 SaveFormat 作为参数调用 Save 方法。如果使用特殊的演示选项进行渲染,程序员可以将 pptxSaveOptions class 与任何相关的特定渲染选项一起使用。调用 save 方法并将选项作为参数传递。

可移植文档格式 PDF 到 HTML 的转换

示例:用于 PDF 到 HTML 转换的 C# 代码

import aspose.pdf as ap

input_pdf = DIR_INPUT + "sample.pdf"
output_pdf = DIR_OUTPUT + "convert_pdf_to_html.html"

// 加载源 PDF 文档
document = ap.Document(input_pdf)

// 实例化 HTML 保存选项对象
save_options = ap.HtmlSaveOptions()

// 启用将所有资源嵌入到 HTML 中的选项
save_options.parts_embedding_mode = ap.HtmlSaveOptions.PartsEmbeddingModes.EMBED_ALL_INTO_HTML

// 为带有图像的 PDF  HTML 指定单独的文件夹
save_options.special_folder_for_all_images = "ImagesFolder"

// 指定将生成的 HTML 拆分为多个页面的选项
save_options.split_into_pages = True

document.save(output_pdf, save_options)

PDF 解析库支持将 PDF 保存为 HTML 以及嵌入式资源(包括图像)。一般情况下,转换过程与 PDF 转换为其他格式的过程相同,例如加载源文档并使用输出 HTML 文件路径和 SaveFormat.Html 作为参数调用 Save 方法。如果使用嵌入式资源进行保存,则有一个 htmlSaveOptions 类 有多个选项,例如在转换过程中将图像保存到特定文件夹,将生成的 HTML 拆分为多个页面等等。

将 PDF 转换为图像

示例:PDF 到图像转换的 C# 代码

import aspose.pdf as ap

input_pdf = DIR_INPUT + "many_pages.pdf"
output_pdf = DIR_OUTPUT + "convert_pdf_to_jpeg"
imageStream = io.FileIO(output_pdf + "_page_1_out.jpeg", "x")

// 装入文档
document = ap.Document(input_pdf)

// 创建分辨率对象
resolution = ap.devices.Resolution(300)

// 创建具有指定属性的映像设备
// 宽度高度分辨率
device = ap.devices.JpegDevice(resolution)
// 对于 BMPPNGTIFF 来说分别是 bmpDevicepngDevicetiffDevice

// 转换特定页面并将图像保存为流媒体
device.process(document.pages[i + 1], imageStream)

// 关闭直播
imageStream.close()

使用下面列出的代码片段,在基于 .NET 的应用程序中,将 PDF 页面转换为包括 PNG、JPEG、TIFF、BMP 等在内的图像非常容易。加载文件后,开发人员可以循环浏览PDF页面,并将逐页转换为所需的图像格式。开发者可以使用 分辨率等级 设置图像的水平分辨率和垂直分辨率