在 Python 中使用 REST API 將 Word 文檔轉換為 PDF。

Word 文檔以 PDF 格式共享是一種常見的做法,因為 PDF 是業界廣泛使用的文檔共享格式。您可以使用 Microsoft Office 提供的內置功能輕鬆地將 Word 轉換為 PDF,但您可能需要以編程方式將 Word 文檔(DOC 或 DOCX)轉換為 PDF。在本文中,您將學習如何在 Python 中使用 REST API 將 Word 文檔轉換為 PDF。

本文應涵蓋以下主題:

Word 到 PDF 轉換 REST API 和 Python SDK

為了將 DOCX 轉換為 PDF,我們將使用 GroupDocs.Conversion Cloud 的 Python SDK API。它是一個獨立於平台的文檔/圖像轉換解決方案,不依賴於任何工具或軟件。它使您能夠快速可靠地將任何支持的文件格式 的圖像和文檔轉換為您需要的任何格式。

您可以在控制台中使用以下命令將 GroupDocs.Conversion Cloud 安裝到您的 Python 應用程序:

pip install groupdocs_conversion_cloud

在執行上述步驟之前,請從儀表板獲取您的客戶端 ID 和密碼。獲得 ID 和密碼後,添加如下所示的代碼:

client_id = "659fe7da-715b-4744-a0f7-cf469a392b73"
client_secret = "b377c36cfa28fa69960ebac6b6e36421"

configuration = groupdocs_conversion_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""

在 Python 中使用 REST API 將 Word 文檔轉換為 PDF

您可以按照以下簡單步驟在雲端以編程方式將 Word 文檔轉換為 PDF:

  1. 上傳DOCX文件到雲端
  2. 使用 Python 將 DOCX 轉換為 PDF
  3. 下載轉換後的PDF文件

上傳 DOCX 文件

首先,使用以下代碼示例將 DOCX 文件上傳到雲端:

# 創建 API 實例
file_api = groupdocs_conversion_cloud.FileApi.from_config(configuration)

# 上傳文件請求
request = groupdocs_conversion_cloud.UploadFileRequest("sample.docx", "C:\\Files\\Conversion\\sample.docx", my_storage)

# 上傳示例文件
response = file_api.upload_file(request)

因此,上傳的 DOCX 文件將在雲端儀表板的 文件部分 中可用。

使用 Python 將 DOCX 轉換為 PDF

您可以按照下面提到的步驟以編程方式輕鬆地將 DOCX 轉換為 PDF 文檔:

  • 首先,創建一個 ConvertApi 的實例。
  • 現在,創建 ConvertSettings 的實例。
  • 然後,提供輸入 DOCX 文件路徑。
  • 將格式設置為“pdf”。
  • 提供輸出文件路徑。
  • 現在,使用 ConvertSettings 創建 ConvertDocumentRequest。
  • 最後,通過使用 ConvertDocumentRequest 調用 convert\document() 方法來轉換 DOCX。

以下代碼示例展示瞭如何在 Python 中使用 REST API 將 DOCX 轉換為 PDF。

# 創建 API 實例
convert_api = groupdocs_conversion_cloud.ConvertApi.from_keys(client_id, client_secret)

# 定義轉換設置
settings = groupdocs_conversion_cloud.ConvertSettings()
settings.file_path = "sample.docx"
settings.format = "pdf"
settings.output_path = "converted"

# 創建轉換文檔請求
request = groupdocs_conversion_cloud.ConvertDocumentRequest(settings)

# 轉換文檔
result = convert_api.convert_document(request)

# 完畢
print("Document converted: " + result[0].path)
在 Python 中使用 REST API 將 Word 文檔轉換為 PDF

在 Python 中使用 REST API 將 Word 文檔轉換為 PDF。

下載轉換後的文件

上面的代碼示例會將轉換後的 PDF 文件保存在雲端。您可以使用以下代碼示例下載它:

# API初始化
file_api = groupdocs_conversion_cloud.FileApi.from_config(configuration)

# 創建下載文件請求
request = groupdocs_conversion_cloud.DownloadFileRequest("converted\\sample.pdf", my_storage)

# 下載文件
response = file_api.download_file(request)

# 將下載的文件移動到您的工作目錄
shutil.move(response, "C:\\Files\\Conversion\\")

使用高級選項將 Word 轉換為 PDF

您可以按照以下步驟使用一些高級設置將 Word 文檔轉換為 PDF 文件:

  • 首先,創建一個 ConvertApi 的實例。
  • 現在,創建 ConvertSettings 的實例。
  • 然後,提供 DOCX 文件路徑。
  • 將“pdf”設置為格式。
  • 提供輸出文件路徑。
  • 現在,創建 DocxLoadOptions 的實例
  • 可選擇設置各種加載選項,例如隱藏\評論、隱藏\單詞\跟踪\更改等。
  • 現在,創建 PdfConvertOptions 的實例
  • 然後,設置各種轉換選項,如顯示\文檔\標題、邊距(頂部、左側、右側、底部)等。
  • 現在,使用 ConvertSettings 創建 ConvertDocumentRequest
  • 最後,通過使用 ConvertDocumentRequest 調用 convert\document() 方法來轉換 DOCX

以下代碼示例顯示如何使用高級轉換選項將 Word 文檔轉換為 PDF 文檔。請按照前面提到的步驟上傳和下載文件。

# 創建 API 實例
convert_api = groupdocs_conversion_cloud.ConvertApi.from_keys(client_id, client_secret)

# 定義轉換設置
settings = groupdocs_conversion_cloud.ConvertSettings()
settings.file_path = "sample.docx"
settings.format = "pdf"
settings.output_path = "converted"

# DOCX 加載選項
loadOptions = groupdocs_conversion_cloud.DocxLoadOptions()
loadOptions.hide_comments = True              # Hide comments
loadOptions.hide_word_tracked_changes = True  # Hide tracked changes

# PDF 轉換選項
convertOptions = groupdocs_conversion_cloud.PdfConvertOptions()
convertOptions.center_window = True
convertOptions.compress_images = False
convertOptions.display_doc_title = True
convertOptions.dpi = 1024.0
convertOptions.fit_window = False
convertOptions.from_page = 1
convertOptions.grayscale = False
convertOptions.image_quality = 100
convertOptions.linearize = False
convertOptions.margin_top = 5
convertOptions.margin_left = 5
convertOptions.unembed_fonts = True
convertOptions.remove_unused_streams = True
convertOptions.remove_unused_objects = True
convertOptions.remove_pdfa_compliance = False

settings.convert_options = convertOptions

# 轉換文檔請求
request = groupdocs_conversion_cloud.ConvertDocumentRequest(settings)

# 轉換文檔
result = convert_api.convert_document(request)

# 完畢
print("Document converted: " + result[0].path)

在 Python 中將頁面範圍從 DOCX 轉換為 PDF

您可以按照以下步驟以編程方式將一系列頁面從 Word 文檔轉換為 PDF 文件:

  • 首先,創建一個 ConvertApi 的實例
  • 現在,創建 ConvertSettings 的實例
  • 然後,提供輸入的 DOCX 文件路徑
  • 將“pdf”分配給格式
  • 提供輸出文件路徑
  • 現在,創建 PdfConvertOptions 的實例
  • 然後,提供要轉換的頁碼範圍,從起始頁碼和要轉換的總頁數
  • 現在,將 PdfConvertOptions 分配給 ConvertSettings
  • 然後,使用 ConvertSettings 創建 ConvertDocumentRequest
  • 最後,通過使用 ConvertDocumentRequest 調用 convert\document() 方法進行轉換

以下代碼示例展示瞭如何使用 Python 中的 REST API 將一系列頁面從 DOCX 轉換為 PDF。請按照前面提到的步驟上傳和下載文件。

# 創建 API 實例
convert_api = groupdocs_conversion_cloud.ConvertApi.from_keys(client_id, client_secret)

# 定義轉換設置
settings = groupdocs_conversion_cloud.ConvertSettings()
settings.file_path = "sample.docx"
settings.format = "pdf"
settings.output_path = "converted"

# PDF 轉換選項
convertOptions = groupdocs_conversion_cloud.PdfConvertOptions()
convertOptions.from_page = 1;    # start page number
convertOptions.pages_count = 2;  # total pages to convert

settings.convert_options = convertOptions

# 轉換文檔請求
request = groupdocs_conversion_cloud.ConvertDocumentRequest(settings)

# 轉換文檔
result = convert_api.convert_document(request)

# 完畢
print("Document converted: " + result[0].path)

在 Python 中將 DOCX 的特定頁面轉換為 PDF

您可以按照以下步驟以編程方式將 Word 文檔的特定頁面轉換為 PDF 文件:

  • 首先,創建一個 ConvertApi 的實例
  • 現在,創建 ConvertSettings 的實例
  • 然後,提供輸入的 DOCX 文件路徑
  • 將“pdf”分配給格式
  • 提供輸出文件路徑
  • 現在,創建 PdfConvertOptions 的實例
  • 然後,在以逗號分隔的數組中提供特定頁碼以進行轉換
  • 現在,將 PdfConvertOptions 分配給 ConvertSettings
  • 然後,使用 ConvertSettings 創建 ConvertDocumentRequest
  • 最後,通過使用 ConvertDocumentRequest 調用 convert\cocument() 方法進行轉換

以下代碼示例展示瞭如何在 Python 中使用 REST API 將 Word 文檔的特定頁面轉換為 PDF。請按照前面提到的步驟上傳和下載文件。

# 創建 API 實例
convert_api = groupdocs_conversion_cloud.ConvertApi.from_keys(client_id, client_secret)

# 定義轉換設置
settings = groupdocs_conversion_cloud.ConvertSettings()
settings.file_path = "sample.docx"
settings.format = "pdf"
settings.output_path = "converted"

# PDF 轉換選項
convertOptions = groupdocs_conversion_cloud.PdfConvertOptions()
convertOptions.pages = [1,2];  # page numbers to convert

settings.convert_options = convertOptions

# 轉換文檔請求
request = groupdocs_conversion_cloud.ConvertDocumentRequest(settings)

# 轉換文檔
result = convert_api.convert_document(request)

# 完畢
print("Document converted: " + result[0].path)

使用 Python 將帶有水印的 Word 轉換為 PDF

您可以按照以下步驟以編程方式將 Word 文檔轉換為 PDF 文檔並向轉換後的文檔添加水印:

  • 首先,創建一個 ConvertApi 的實例
  • 現在,創建 ConvertSettings 的實例
  • 然後,提供輸入的 DOCX 文件路徑
  • 將“pdf”分配給格式
  • 提供輸出文件路徑
  • 現在,創建 WatermarkOptions 的實例
  • 然後,設置水印文本、顏色、寬度、高度、左側、頂部等。
  • 現在,定義 PdfConvertOptions 並分配 WatermarkOptions
  • 現在,使用 ConvertSettings 創建 ConvertDocumentRequest
  • 最後,通過使用 ConvertDocumentRequest 調用 convert\document() 方法來轉換 DOCX

下面的代碼示例展示瞭如何在 Python 中使用 REST API 將 Word 文檔轉換為 PDF 文檔並向轉換後的 PDF 文檔添加水印。請按照前面提到的步驟上傳和下載文件。

# API初始化
convert_api = groupdocs_conversion_cloud.ConvertApi.from_keys(client_id, client_secret)

# 定義轉換設置
settings = groupdocs_conversion_cloud.ConvertSettings()
settings.file_path = "sample.docx"
settings.format = "pdf"
settings.output_path = "converted"

# 定義水印選項
watermark = groupdocs_conversion_cloud.WatermarkOptions()
watermark.text = "THIS IS SAMPLE WATERMARK"
watermark.bold = True;
watermark.font_size = 34;
watermark.color = "Gray";
watermark.background = False;
watermark.rotation_angle = 30;
watermark.left = 90;
watermark.top = 500;

# 定義 PDF 轉換選項
convertOptions = groupdocs_conversion_cloud.PdfConvertOptions()
convertOptions.watermark_options = watermark

settings.convert_options = convertOptions

# 創建轉換文檔請求
request = groupdocs_conversion_cloud.ConvertDocumentRequest(settings)

# 轉換文檔
result = convert_api.convert_document(request)
print("Document converted successfully: " + result[0].url)
使用 Python 將帶有水印的 Word 轉換為 PDF。

使用 Python 將帶有水印的 Word 轉換為 PDF。

不使用雲存儲的 DOCX 到 PDF 轉換

您可以在不使用雲存儲的情況下將 Word 文檔轉換為 PDF,方法是將其傳遞到請求正文中並在 API 響應中接收輸出文件。請按照以下步驟在不使用雲存儲的情況下將 DOCX 轉換為 PDF。

  • 首先,創建一個 ConvertApi 的實例
  • 從本地路徑讀取輸入 DOCX 文件
  • 現在,創建 ConvertDocumentDirectRequest
  • 然後,提供目標格式為“pdf”和輸入文件路徑作為輸入參數
  • 使用 ConvertDocumentDirectRequest 調用 convert\document\direct() 方法獲取結果
  • 最後,使用 FileStream.writeFile() 方法將輸出文件保存到本地路徑

以下代碼示例展示瞭如何在不使用雲存儲的情況下將 Word 文檔轉換為 PDF。

# 創建 API 實例
convert_api = groupdocs_conversion_cloud.轉變Api.from_keys(client_id, client_secret)

# 創建轉換請求
request = groupdocs_conversion_cloud.轉變DocumentDirectRequest("pdf", "C:\\Files\\Conversion\\sample.docx")

# 轉變
result = convert_api.convert_document_direct(request)

# 將下載的文件移動到您的工作目錄
shutil.move(result, "C:\\Files\\Conversion\\")

將 DOCX 轉換為 PDF 並直接下載

您可以通過編程方式將 DOCX 轉換為 PDF 文檔,並按照以下步驟直接下載轉換後的文件:

  • 首先,創建一個 ConvertApi 實例
  • 現在,創建 ConvertSettings 的實例
  • 然後,設置DOCX文件路徑
  • 將“pdf”分配給格式
  • 將“無”設置為輸出路徑
  • 現在,使用 ConvertSettings 創建 ConvertDocumentRequest
  • 然後調用convert\document\download()方法得到結果
  • 或者,使用 shutil.move() 方法將輸出文件保存到本地路徑

下面的代碼示例顯示瞭如何將 DOCX 文件轉換為 PDF 文檔並使用 Python 中的 REST API 直接下載它。 API 應返迴轉換後的 PDF 文件作為響應。請按照前面提到的步驟上傳文件。

# 創建必要的 API 實例
convert_api = groupdocs_conversion_cloud.轉變Api.from_keys(client_id, client_secret)

# 定義轉換設置
settings = groupdocs_conversion_cloud.轉變Settings()
settings.file_path = "sample.docx"
settings.format = "pdf"

settings.output_path = None    # leave OutputPath will result the output as document IOStream

# 創建轉換請求
request = groupdocs_conversion_cloud.轉變DocumentRequest(settings)

# 轉變
response = convert_api.convert_document_download(request)

# 將下載的文件移動到您的工作目錄
shutil.move(response, "C:\\Files\\Conversion\\")

在線試用

請試用以下免費的在線 DOCX 到 PDF 轉換工具,它是使用上述 API 開發的。 https://products.groupdocs.app/conversion/docx-to-pdf

結論

在本文中,您了解瞭如何將 Word 文檔轉換為雲端的 PDF 文件。您還了解瞭如何使用 Python 將特定頁面或一系列頁面從 DOCX 轉換為 PDF。本文還介紹瞭如何以編程方式將 DOCX 文件上傳到雲端,然後從雲端下載轉換後的 PDF 文件。此外,您可以使用 文檔 了解有關 GroupDocs.Conversion Cloud API 的更多信息。我們還提供了一個 API 參考 部分,讓您可以直接通過瀏覽器可視化我們的 API 並與之交互。如有任何歧義,請隨時在論壇上與我們聯繫。

也可以看看