Word 轉 PDF

如何在線將 Word 轉換為 PDF

MS Word 檔案包括 DOCDOCXDOCMDOTXODTOTT 等,是一些用於資訊儲存和資料共享的熱門檔案格式。許多大學、政府或公共組織以 Word 格式製作其作品,但由於格式種類繁多,這些文件的內容在各個平台上查看時佈局會受到影響。因此,一個可行的解決方案是轉換為固定格式,以在任何平台上保留文件結構和保真度。

在本文中,我們將討論使用 .NET REST API 將 Word 轉換為 PDF 格式。

Word 到 PDF 轉換 API

Aspose.Words Cloud 是一個出色的基於 REST 的 API,可輕鬆在任何平台上建立、編輯和轉換 Word 文件為其他支援的文件格式。根據文章的範圍,我們將使用 Aspose.Words Cloud SDK for .NET 進行 Word 到 PDF 的轉換。

安裝

請在命令列終端機執行以下命令來安裝SDK。

nuget install Aspose.Words-Cloud

為了從 NuGet 套件管理器安裝 SDK,請依照下列步驟操作:

  • 展開解決方案資源管理器並右鍵單擊“包”資料夾。
  • 在搜尋欄位中輸入 Aspose.Words-Cloud。
  • 現在在搜尋結果中啟用 Aspose.Words-Cloud 附近的複選框,然後按一下新增套件按鈕。
  • 引用的SDK已新增至項目。

我們還需要透過造訪 Aspose.Cloud 儀表板 建立一個免費帳戶,我們可以使用我們現有的 GitHub 或 Google 帳戶登錄,或者可以建立一個新帳戶。只需向下捲動至客戶端憑證部分即可查看客戶端 ID 和客戶端金鑰的詳細資訊。

如何在 C# 中將 Word 轉換為 PDF

請依照下列指定的步驟使用 Visual Studio 中的 C# .NET 程式碼完成 Word 到 PDF 的轉換。在這種情況下,輸入的 Word 檔案已經在雲端儲存中可用,並且產生的 PDF 也儲存在雲端儲存中。

  • 建立 Configuration 類別的實例,該實例以客戶端 ID 和客戶端機密詳細資訊作為參數。
  • 其次,建立 WordsApi 類別的實例並提供配置實例作為參數。
  • 第三,使用 UploadFileRequest(..) 方法將檔案從本機系統上傳到雲端儲存。
  • 下一步是建立一個 SaveOptionsData 對象,它定義結果檔案屬性。使用這個對象,我們將 SaveFormat 定義為 Pdf,將 ZipOutput 的值指定為 false,以便輸出不在 .zip 檔案和其他屬性中。
  • 現在建立 SaveAsRequest 的實例,它以輸入檔案名稱和 SaveOptionsData 物件作為參數。
  • 最後,呼叫 WordApi 類別的 SaveAs(…) 方法,該方法以 SaveAsrequest 實例作為參數。
// 從 https://dashboard.aspose.cloud/ 取得客戶端憑證
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// 透過傳遞客戶端 ID 和客戶端機密詳細資訊來建立配置實例
var config = new Configuration { ClientId = clientID, ClientSecret = clientSecret };

// 建立 WordsApi 對象
var wordsApi = new WordsApi(config);

// 輸入Word文檔
string fileName = "test_multi_pages.doc";

// 從本機系統載入文件
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Downloads/" + fileName))
{
    // 將原始文檔上傳至雲端存儲
    wordsApi.UploadFile(new UploadFileRequest(file, fileName, null));
}

// 建立 SaveOptionsData 對象
SaveOptionsData saveOptionsData = new SaveOptionsData()
{
    SaveFormat = "pdf",
    FileName = "myResultant.pdf",
    AllowEmbeddingPostScriptFonts = true,
    ZipOutput = false,
    UpdateLastSavedTimeProperty = true,
    UpdateSdtContent = true,
    UpdateCreatedTimeProperty = true,
    UpdateLastPrintedProperty = true
};
            
try
{
    // 透過傳遞輸入 Word 檔案和 saveOptionsData 建立 SaveAsRequest
    SaveAsRequest request = new SaveAsRequest(fileName, saveOptionsData);
    
    // 初始化 Word 到 PDF 的轉換操作
    var output = wordsApi.SaveAs(request);
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
} 
word 轉 pdf 預覽

圖 5:- Word 到 PDF 轉換預覽。

上述範例使用的範例檔案可以從testmultipages.doc下載。

在 C# 中將 DOC 轉換為 PDF

在這種情況下,我們將轉換從本機儲存上傳的 DOC 文件,並將輸出轉換為 PDF 格式。生成的文件也儲存在雲端儲存中。

  • 首先,建立 Configuration 類別的實例,該實例以客戶端 ID 和客戶端機密詳細資訊作為參數。
  • 其次,建立 WordsApi 類別的實例並提供配置實例作為參數。
  • 第三,建立一個 ConvertDocumentRequest 類別的對象,該物件以本機檔案流、輸出格式和結果檔案名稱作為參數。
  • 最後呼叫ConvertDocument(..)方法執行轉換操作。
// 從 https://dashboard.aspose.cloud/ 取得客戶端憑證
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// 透過傳遞客戶端 ID 和客戶端機密詳細資訊來建立配置實例
var config = new Configuration { ClientId = clientID, ClientSecret = clientSecret };

// 建立 WordsApi 對象
var wordsApi = new WordsApi(config);

// 輸入word文件
string fileName = "test_multi_pages.doc";

// 結果文件的名稱
string outputfile = "result.pdf";

try
{
    // 從本機儲存上傳word檔案並指定輸出格式
    ConvertDocumentRequest request = new ConvertDocumentRequest(System.IO.File.OpenRead("/Users/nshahbaz/Downloads/" + fileName),"pdf",outputfile);
    
    // 執行轉換操作
    var output = wordsApi.ConvertDocument(request);
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}  

使用 C# 將 DOCX 轉換為 PDF

讓我們討論一下轉換雲端儲存中的 DOCX 檔案並將生成的 PDF 保存在雲端儲存中的場景。在這種情況下,我們將使用 HTTP GET 請求方法。

  • 首先,建立 Configuration 類別的實例,該實例以客戶端 ID 和客戶端機密詳細資訊作為參數。
  • 其次,建立 WordsApi 類別的實例並提供配置實例作為參數。
  • 下一步是使用 WordsApi 的 UploadFileRequest(…) 方法將檔案從本機磁碟機上傳到雲端儲存。
  • 倒數第二,建立一個 GetDocumentWithFormatRequest 類別的對象,該物件以 DOCX 檔案名稱、輸出格式和結果檔案的名稱作為參數。
  • 最後呼叫GetDocumentWithFormat(…)方法執行轉換。
// 從 https://dashboard.aspose.cloud/ 取得客戶端憑證
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// 透過傳遞客戶端 ID 和客戶端機密詳細資訊來建立配置實例
var config = new Configuration { ClientId = clientID, ClientSecret = clientSecret };

// 建立 WordsApi 對象
var wordsApi = new WordsApi(config);

// 輸入 docx 文件
string fileName = "file-sample_1MB.docx";

// 輸出格式為 PDF
string format = "pdf";

// 結果檔名
string outputfile = "result.pdf";

// 從本機磁碟機載入 DOCX 檔案內容
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Downloads/" + fileName))
{
    // 將原始文檔上傳至雲端存儲
    wordsApi.UploadFile(new UploadFileRequest(file, fileName, null));
}

// 將文件上傳至雲端存儲            
try
{
    GetDocumentWithFormatRequest request = new GetDocumentWithFormatRequest(fileName,format,null,null,null,null,outputfile);
    wordsApi.GetDocumentWithFormat(request);
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
} 

您可以考慮從 file-sample1MB.docxresult.pdf 下載上述範例中使用的資源檔案。

docx 到 pdf 轉換預覽

圖 6:- DOCX 到 PDF 轉換預覽。

使用 cURL 指令將 Word 轉換為 PDF

在本節中,我們將透過 cURL 命令存取雲端 API。因此,第一步是根據客戶端 ID 和客戶端金鑰詳細資訊產生 JWT 存取權杖。

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

現在執行以下命令將檔案上傳到雲端儲存。

curl -X PUT "https://api.aspose.cloud/v4.0/words/storage/file/file-sample_1MB.docx" \
-H  "accept: application/json" \
-H  "Authorization: Bearer <JWT Token>" \
-H  "Content-Type: multipart/form-data" \
-d {"fileContent":{}}

最後,使用 GetDocumentWithFormat API 執行 DOCXPDF 的轉換。

curl -X GET "https://api.aspose.cloud/v4.0/words/file-sample_1MB.docx?format=pdf&outPath=myOutput.pdf" \
-H  "accept: application/octet-stream" \
-H  "Authorization: Bearer <JWT Token>

結論

我們討論了使用 Aspose.Words Cloud 將 Word 轉換為 PDF 格式的一些令人驚嘆的功能。可以使用 .NET 程式碼或透過 cURL 指令執行轉換。此外,您還可以透過瀏覽器中的 Swagger UI 來探索 API。

請注意,SDK 的完整原始碼可在 GitHub 上下載,如果您在使用 API 時遇到任何問題,請隨時透過 免費產品支援論壇 與我們聯絡。

相關文章

我們強烈建議您訪問以下連結以了解更多資訊: