通过 Aspose.PDF 进行 Java 的 PDF 格式转换器

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

概述

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

PDF 到微软 Word 2003-2019 年的转换

示例:用于将 PDF 转换为 Word 的 C# 代码

// 加载源 PDF 文件
Document pdfFile = new Document("Source-PDF-File.pdf");

// 使用保存选项保存
// 创建 docSaveOptions 对象
DocSaveOptions saveOptions = new DocSaveOptions();

// 将识别模式设置为 Flow 表示完全识别模式
saveOptions.setMode(DocSaveOptions.RecognitionMode.Flow);

// 其他两种模式是识别模式.文本框和识别模式.enhancedFlow

// 将水平距离设置为 2.5
saveOptions.setRelativeHorizontalProximity(2.5f);

// 启用该值以在转换过程中识别项目符号
saveOptions.setRecognizeBullets(true);

// 保存生成的 DOC 文件
pdfDocument.save(docFile.toString(), saveOptions);

.NET 的 Aspose.PDF 库支持所有 PDF 到 Word 的转换。如果我们只是在没有任何特殊设置的情况下转换微软的Word文档,则只需使用文档类中的保存方法加载PDF文件,然后使用输出Word文档路径和SaveFormat作为参数即可。对于需要增强线距、图像分辨率和更多设置的特殊情况,API 提供了 docSaveOptions 类来公开所有这些设置。

将 PDF 另存为 Excel 文件

将 PDF 另存为 Excel 文件

// 加载 PDF 文档
Document pdfDoc = new Document("sample-file.pdf");
// 初始化 ExcelSave选项
ExcelSaveOptions excelSave = new ExcelSaveOptions();
// 设置输出 Excel XLSX 格式
excelSave.setFormat(ExcelSaveOptions.ExcelFormat.XLSX);
// 尽量减少工作表的数量
excelsave.setMinimizeTheNumberOfWorksheets(true);
// 将 PDF 转换为 Excel 输出文件
pdfDoc.Save("pdf-to-excel-output.xlsx", excelSave);

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

将 PDF 转换为幻灯片演示文稿

示例:C# 代码 PDF 转换为 PowerPoint

// 加载 PDF 文档
Document pdfDocument = new Document("document.pdf");
PptxSaveOptions pptxOptions = new PptxSaveOptions();
pptxOptions.setSlidesAsImages(true);
// 保存输出文件
pdfDocument.save("PDF to PPT.pptx", pptxOptions);

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

便携式文档格式 PDF 到 HTML 转换

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

// 加载源 PDF 文档
Document doc = new Document("source-input-file.pdf");

// 实例化 HTML 保存选项对象
HtmlSaveOptions conversionOptions = new HtmlSaveOptions();

// 启用将所有资源嵌入到 HTML 中的选项
conversionOptions.PartsEmbeddingMode = HtmlSaveOptions.PartsEmbeddingModes.EmbedAllIntoHtml;

// 为包含图像的 PDF 到 HTML 指定单独的文件夹
conversionOptions.SpecialFolderForAllImages = "ImagesFolder";

// 指定将生成的 HTML 拆分为多个页面的选项
conversionOptions.setSplitIntoPages(true);

doc.save("converted-pdf-to.html", conversionOptions);

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

将 PDF 转换为图像

示例:用于将 PDF 转换为图像的 C# 代码

// 加载文档
Document srcFile = new Document("pdf-pages-to-image.pdf");

java.io.OutputStream outputBinImageFile = new java.io.FileOutputStream(
                    _dataDir + "image" + pageCount + "_out." + ext);

// 创建分辨率对象
Resolution resolution = new Resolution(300);

// 创建具有指定属性的映像设备
// 宽度、高度、分辨率
JpegDevice renderToImages = new JpegDevice(500, 700, resolution);
// 对于 BMP、PNG、TIFF,它将分别是 BmpDevice、PngDevice、TiffDevice

// 转换特定页面并将图像保存到直播
renderToImages.Process(srcFile.Pages[1], outputBinImageFile);

// 关闭直播
outputBinImageFile.Close();

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