C# 將PDF轉為Word、Html、XPS、SVG、PCL、PS——基於Spire.Cloud.PDF
阿新 • • 發佈:2020-01-02
Spire.Cloud.PDF提供了介面PdfConvertApi可用於將PDF文件轉換為其他格式文件,如Word(docx/doc)、Html、XPS、SVG、PCL、PS、Png以及XPS轉成PDF。本文將選取其中幾種格式為例,介紹具體轉換方法。
必要步驟:
步驟一:dll檔案獲取及匯入。
方法1. 通過官網本地下載SDK檔案包。(須註冊並登入)
下載後,解壓檔案,將Spire.Cloud.Pdf.Sdk.dll檔案及其他三個dll新增引用至VS程式;
方法2. 在程式中通過Nuget搜尋下載,直接匯入所有dll。
匯入效果如下如所示:
步驟二:App ID及Key獲取。在雲端建立賬號,並在“我的應用”板塊中建立應用以獲得App ID及App Key。
步驟三:源文件上傳。在“文件管理”板塊,上傳源文件。這裡可以建資料夾,將文件存放在資料夾下。不建資料夾時,源文件及結果文件直接儲存在根目錄。本文示例中,建了兩個資料夾,分別用於存放源文件及結果文件。(雲平臺提供免費1 萬次呼叫次數和 2G 文件記憶體)
C# 程式碼示例
【示例1】PDF 轉Word(docx/doc)
using System; using Spire.Cloud.Pdf.Sdk.Client; using Spire.Cloud.Pdf.Sdk.Api; using System.IO; namespace PDFToWord { class PDFToDocx { static String appId = "App ID"; static String appKey = "App Key"; static void Main(string[] args) { //配置賬號資訊 Configuration pdfConfiguration = new Configuration(appId, appKey); PdfConvertApi pdfConverterApi = new PdfConvertApi(pdfConfiguration); string name = "sample.pdf";//源文件 string folder = "input";//設定源文件所在資料夾(如果源文件在根目錄下,不在資料夾中,可設定為null) string destFilePath = "pdfconversion/PDFToDocx.docx";//設定轉換後的目標文件路徑(文件放置在pdfconversion資料夾下) string destFilePath2 = "pdfconversion/PDFToDoc.doc"; string password = null;//設定文件密碼(如果文件沒有密碼則設定成null) //呼叫方法轉為Word文件格式 pdfConverterApi.ConvertPdfInStorageToDocx(name, destFilePath, folder, password); pdfConverterApi.ConvertPdfInStorageToDoc(name, destFilePath2, folder, password); } } }
【示例2】PDF轉Html
using System; using Spire.Cloud.Pdf.Sdk.Client; using Spire.Cloud.Pdf.Sdk.Api; namespace PDFToHTML { class Program { static String appId = "App ID"; static String appKey = "App Key"; static void Main(string[] args) { //配置賬號資訊 Configuration pdfConfiguration = new Configuration(appId, appKey); PdfConvertApi pdfConvertApi = new PdfConvertApi(pdfConfiguration); string name = "sample.pdf";//源文件 string folder = "input";//設定源文件所在資料夾(如果源文件在根目錄下,不在資料夾中,可設定為null) string destFilePath = "pdfconversion/PDFToHtml.html";//設定轉換後的目標文件路徑(文件放置在pdfconversion資料夾下) string password = null;//設定文件密碼(如果文件沒有密碼則設定成null) //呼叫方法轉換為HTML格式 pdfConvertApi.ConvertPdfInStorageToHtml(name,destFilePath,folder,password); } } }
【示例3】PDF轉XPS
using System; using Spire.Cloud.Pdf.Sdk.Client; using Spire.Cloud.Pdf.Sdk.Api; namespace PDFToXPS { class Program { static String appId = "App ID"; static String appKey = "App Key"; static void Main(string[] args) { //配置賬號資訊 Configuration pdfConfiguration = new Configuration(appId, appKey); PdfConvertApi pdfConvertapi = new PdfConvertApi(pdfConfiguration); string name = "sample.pdf";//源文件 string folder = "input";//設定源文件所在資料夾(如果源文件在根目錄下,不在資料夾中,可設定為null) string destFilePath = "pdfconversion/PDFToXPS.xps";//設定轉換後的目標文件路徑(文件放置在pdfconversion資料夾下) string password = null;//設定文件密碼(如果文件沒有密碼則設定成null) //呼叫方法轉為XPS pdfConvertapi.ConvertPdfInStorageToXps(name, destFilePath, folder, password); } } }
【示例4】PDF轉SVG
using System; using Spire.Cloud.Pdf.Sdk.Client; using Spire.Cloud.Pdf.Sdk.Api; namespace PDFToSvg { class Program { static String appId = "App ID"; static String appKey = "App Key"; static void Main(string[] args) { //配置賬號資訊 Configuration pdfConfiguration = new Configuration(appId, appKey); PdfConvertApi pdfConvertapi = new PdfConvertApi(pdfConfiguration); string name = "sample.pdf";//源文件 string folder = "input";//設定源文件所在資料夾(如果源文件在根目錄下,不在資料夾中,可設定為null) string destFilePath = "pdfconversion/PDFToSvg.svg";//設定轉換後的目標文件路徑(文件放置在pdfconversion資料夾下) string password = null;//設定文件密碼(如果文件沒有密碼則設定成null) //呼叫方法轉為SVG pdfConvertapi.ConvertPdfInStorageToSvg(name, destFilePath, folder, password); } } }
注:這裡轉為svg是將原PDF文件中的每一頁單獨轉換為一個svg文件,如果原PDF文件包含多頁,轉換後預設生成一個資料夾,將生成的每一頁svg放在這個資料夾下。
【示例5】PDF轉PCL
using System; using Spire.Cloud.Pdf.Sdk.Client; using Spire.Cloud.Pdf.Sdk.Api; namespace PDFToPcl { class Program { static String appId = "App ID"; static String appKey = "App Key"; static void Main(string[] args) { //配置賬號資訊 Configuration pdfConfiguration = new Configuration(appId, appKey); PdfConvertApi pdfConvertApi = new PdfConvertApi(pdfConfiguration); string name = "sample.pdf";//源文件 string folder = "input";//設定源文件所在資料夾(如果源文件在根目錄下,不在資料夾中,可設定為null) string destFilePath = "pdfconversion/PDFToPcl.pcl";//設定轉換後的目標文件路徑(文件放置在pdfconversion資料夾下) string password = null;//設定文件密碼(如果文件沒有密碼則設定成null) //呼叫方法轉換為Pcl格式 pdfConvertApi.ConvertPdfInStorageToPcl(name, destFilePath, folder, password); } } }
【示例6】PDF轉PS
using System; using Spire.Cloud.Pdf.Sdk.Client; using Spire.Cloud.Pdf.Sdk.Api; namespace PDFToPs { class Program { static String appId = "App ID"; static String appKey = "App Key"; static void Main(string[] args) { //配置賬號資訊 Configuration pdfConfiguration = new Configuration(appId, appKey); PdfConvertApi pdfConvertapi = new PdfConvertApi(pdfConfiguration); string name = "sample.pdf";//源文件 string folder = "input";//設定源文件所在資料夾(如果源文件在根目錄下,不在資料夾中,可設定為null) string destFilePath = "pdfconversion/PDFToPs.ps";//設定轉換後的目標文件路徑(文件放置在pdfconversion資料夾下) string password = null;//設定文件密碼(如果文件沒有密碼則設定成null) //呼叫方法轉為PS pdfConvertapi.ConvertPdfInStorageToPs(name, destFilePath, folder, password); } } }
文件格式轉換效果:
(本文