通過 .NET 進行 PDF 文件轉換

將 PDF 匯出到微軟辦公®用字、Excel、簡報、圖像、HTML 和固定佈局格式

概述

在極少數情況下,需要操作 PDF 以外的文件,同時以 PDF 格式提供解析數據。因此,對於此類應用程式,將有兩種方案,要麼在自己的解決方案中添加PDF解析功能,要麼添加PDF轉換功能以操作受支援格式的數據。對於將 PDF 轉換為 Word**、Excel、HTML、圖像或任何所需格式的第二種方案,在基於 .NET 的代碼中實現 C# PDF 閱讀器和轉換器 代碼非常簡單。我們在這裡討論的是幾種情況,以便程式師可以根據自己的要求修改這些轉換代碼片段。

PDF 到 Microsoft Word 2003-2019 轉換

示例:PDF 到 Word 轉換的 C# 代碼

// 載入源檔
Document pdfFile = new Document("Source-PDF-File.pdf");

// 只需簡單的PDF到單詞轉換

// pdfFile.Save("PDF-To-Word.doc", SaveFormat.Doc);

// 使用保存選項保存
// 創建文件保存選項物件
DocSaveOptions saveOpts = new DocSaveOptions();

// 將識別模式設置為「流」表示「完全識別模式」
saveOpts.Mode = DocSaveOptions.RecognitionMode.Flow;

// 其他兩種模式是“識別模式”“文本框”和“識別模式增強流”

// 將「水平鄰近度」設置為2.5
saveOpts.RelativeHorizontalProximity = 2.5f;

// 使值在轉換過程中識別項目符號
saveOpts.RecognizeBullets = true;

// 保存生成的文件檔檔
pdfFile.Save("PDF-To-Word.doc", saveOpts);

Aspose.PDF for .NET 庫支持所有 PDF 到 Word 的轉換。 如果我們只是在沒有任何特殊設置的情況下轉換 Microsoft Word 文檔,我們只需使用 Document 類的 Save 方法加載 PDF 文件,並將使用輸出 Word 文檔路徑和 SaveFormat 作為參數。 對於需要增強線距、圖像分辨率和更多設置的特殊情況,API 具有公開所有此類設置的 DocSaveOptions 類。

將 PDF 另存為 Excel 檔

將 PDF 另存為 Excel 檔

// 載入文件
Document pdfDoc = new Document("sample-file.pdf");
// 初始化快取選項
ExcelSaveOptions opts = new ExcelSaveOptions();
// 設置輸出輸出
opts.Format = ExcelSaveOptions.ExcelFormat.XLSX;
// 盡量減少工作表的數量
opts.MinimizeTheNumberOfWorksheets = true;
// 將 PDF 轉換為 Excel 輸出檔
pdfDoc.Save("pdf-to-excel-output.xlsx", opts);

專用 [保存格式](https://apireference.aspose.com/pdf/net/aspose.pdf/saveformat) 枚舉可用於將 PDF 保存為特定的微軟 Excel XLS XLSX 輸出格式。此外,.NET PDF庫還具有一個特殊的[ExcelSaveOptions類](https://apireference.aspose.com/pdf/net/aspose.pdf/excelsaveoptions),它不僅可以保存為Excel格式,還可以提供不同的功能和屬性來設置不同的屬性,如精確的輸出格式,最小化工作表的數量等等。

將 PDF 轉換為簡報

示例:C# 代碼 PDF 到 PowerPoint 的轉換

// 載入文件
Document pdfDocument = new Document("document.pdf");
PptxSaveOptions pptxOptions = new PptxSaveOptions();
pptxOptions.SlidesAsImages = true;
// 保存輸出檔
pdfDocument.Save("PDF to PPT.ppt", pptxOptions);

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

可移植文件格式 PDF 到 HTML 的轉換

示例:用於 PDF 到 HTML 轉換的 C# 代碼

// 載入源文件
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.SplitIntoPages = true;

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

PDF 解析庫支援將 PDF 另存為整個 HTML 以及包含影像的嵌入資源。對於一般情況,將 PDF 轉換為其他格式的過程相同,例如載入源文檔並使用輸出 HTML 檔路徑和 SaveFormat.Html 作為參數調用 Save 方法。在使用嵌入式資源進行保存的情況下,有一個[HtmlSaveOptions類](https://apireference.aspose.com/pdf/net/aspose.pdf/htmlsaveoptions)具有多個選項,例如在轉換過程中將圖像保存到特定資料夾,將生成的HTML拆分為多個頁面等等。

將 PDF 轉換為影像

示例:PDF 到圖像轉換的 C# 代碼

// 載入文件
Document srcFile = new Document("pdf-pages-to-image.pdf");

using (FileStream streamObj = new FileStream("pdf-to-image.jpeg", FileMode.Create)){

// 創建解析度物件
Resolution resolution = new Resolution(300);

// 創建具有指定屬性的映像設備
// 寬度、高度、解析度
JpegDevice renderToImages = new JpegDevice(500, 700, resolution);
// 對於 BMP、PNG、TIFF,它將分別是 BMP 設備、PNG 設備、Tiff 設備

// 轉換特定頁面並將圖像保存到流
renderToImages.Process(srcFile.Pages[1], streamObj);

// 關閉流
streamObj.Close();
}

使用下面列出的代碼片段,在基於 .NET 的應用程式中,將 PDF 頁面轉換為包括 PNG、JPEG、TIFF、BMP 等在內的圖像非常容易。開發人員可以在載入檔後遍歷 PDF 頁面,並將逐頁轉換為所需的圖像格式。開發人員可以使用[解析度類](https://apireference.aspose.com/pdf/net/aspose.pdf.devices/resolution)設置圖像的外解析度和垂直解析度