1. 程式人生 > >C# 將PDF轉為Word、Html、XPS、SVG、PCL、PS——基於Spire.Cloud.PDF

C# 將PDF轉為Word、Html、XPS、SVG、PCL、PS——基於Spire.Cloud.PDF

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);
        }
    }
}

文件格式轉換效果:

 

 

(本文