控制 PDF 顯示屬性

PDF 檔案具有一個獨特的功能,可以保存視圖首選項,使我們能夠控制檢視器應用程式如何顯示 PDF 文件。因此,PDF 文件的檢視器首選項字典可讓您控製文件在螢幕上或列印時的顯示方式。

請注意,我們可以控制 PDF 檢視器的顯示屬性。它包括控制PDF文件標題的顯示、隱藏或顯示功能表列、隱藏/顯示狀態列、隱藏/顯示視窗UI。控制如何設定頁面佈局、頁面模式和頁面佈局。大多數 PDF 處理應用程式都支援這些操作。但是,對於批次更新操作,程式設計解決方案是一種有效的解決方案。在本文中,我們將討論如何使用 Python 控制 PDF 顯示屬性的細節和步驟。

PDF 操作 SDK

Aspose.PDF Cloud 是一個基於 REST 的 API,使開發人員能夠在他們的應用程式中實現 PDF 創建、操作和渲染功能。使用更少的程式碼行,您就可以開發令人印象深刻的 PDF 處理應用程式。無需安裝特定的軟體,您可以在雲端執行所有 PDF 處理操作。為了進一步方便我們的開發人員,我們創建了 Aspose.PDF Cloud SDK for Python,它是 Aspose.PDF Cloud 的包裝器。因此,為了開始使用此 SDK,第一步是安裝它。該 SDK 可透過 PIPGitHub 儲存庫免費下載。現在我們需要在終端機/命令提示字元中執行以下命令來執行安裝。

pip install asposepdfcloud

免費雲端儀表板帳戶

下一個重要步驟是透過 Aspose.Cloud 儀表板 免費訂閱我們的雲端服務。此訂閱的目的是僅允許授權人員存取我們的文件處理服務。如果您有 GitHub 或 Google 帳戶,只需註冊或點擊 建立新帳戶 按鈕並提供所需的資訊。現在使用憑證登入儀表板並從儀表板展開應用程式部分並向下捲動至用戶端憑證部分以查看用戶端 ID 和用戶端金鑰詳細資訊。

客戶端憑證Client credentials

圖 1:- Aspose.Cloud 儀表板上的客戶端憑證。

使用 Python 讀取 PDF 顯示屬性

請使用下面給出的程式碼片段來讀取 PDF 檢視器首選項並將其顯示在控制台中。

  • 首先,建立 ApiClient 類別的實例,並提供客戶端 ID 和客戶端金鑰作為參數
  • 其次,建立一個 PdfApi 類別的實例,該實例以 ApiClient 物件作為輸入參數
  • 最後,呼叫 getdocumentdisplayproperties(…) 方法來檢索 PDF 檢視器首選項
def readPDFDisplayProperties():
    try:
        #Client credentials
        client_secret = "1c9379bb7d701c26cc87e741a29987bb"
        client_id = "bbf94a2c-6d7e-4020-b4d2-b9809741374e"

        #initialize PdfApi client instance using client credetials
        pdf_api_client = asposepdfcloud.api_client.ApiClient(client_secret, client_id)

        # 建立 PdfApi 實例並傳遞 PdfApiClient 作為參數
        pdf_api = PdfApi(pdf_api_client)

        #source PDF file
        input_file = 'PdfWithEmbeddedFiles.pdf'

        # 使用 Python 呼叫 API 讀取 PDF 顯示屬性
        response = pdf_api.get_document_display_properties(name = input_file)
        
        # 在控制台中列印回應
        print(response)
        
        # 在控制台中列印訊息(可選)
        print('PDF Display preferences successfully retrieved !')    
    except ApiException as e:
        print("Exception while calling PdfApi: {0}".format(e))
        print("Code:" + str(e.code))
        print("Message:" + e.message)

上述範例中使用的範例 PDF 文件可以從 PdfWithEmbeddedFiles.pdf 下載。

使用 Python 更新 PDF 顯示屬性

在本節中,我們將討論如何使用 Python SDK 設定 PDF 顯示屬性的步驟和相關細節。然而,在繼續之前,我們需要先了解屬性以及可以指派給它們的具體值。

支援的屬性

|物業 |描述 |

| —————– | ———————— |

|隱藏工具列 |一個標誌,指定在文件處於活動狀態時是否隱藏 pdf 檢視器應用程式的工具列 |

|隱藏選單列 |一個標誌,指定在文件處於活動狀態時是否隱藏 pdf 檢視器應用程式的選單列。 |

|隱藏視窗UI |一個標誌,指定是否隱藏文件視窗中的使用者介面元素(例如捲軸和導覽控制項),而僅顯示文件的內容。 |

|適合視窗 |指定是否調整文件視窗大小以適合第一個顯示頁的大小的標誌。 |

|中心視窗 |指定是否將文件視窗定位在螢幕中心的標誌。 |

|顯示文檔標題 |指定視窗的標題列是否應顯示文件標題的標誌。 |

|頁面模式 |在pdf檢視器中開啟pdf文件時的文檔頁面模式。可能的值:UseNone – 文件大綱(書籤)和縮圖均不可見。 UseOutlines – 文件大綱(書籤)可見。 UseThumbs – 縮圖可見。 FullScreenFull – 全螢幕模式,沒有功能表列、視窗控制項或任何其他可見的視窗。 UseOC – 選用內容群組面板可見。使用附件 – 文件附件可見。 |

|頁面佈局 |頁面佈局將在開啟文件時使用。可能的值:SinglePage – 一次顯示一頁。 OneColumn – 以一列顯示頁面。 TwoColumnLeft – 以兩列顯示頁面,奇數頁在左側。 TwoColumnRight – 以兩列顯示頁面,奇數頁位於右側。 |

|非全螢幕頁面模式 | pdf 檢視器應用程式退出全螢幕模式時的文件頁面模式。可能的值:UseNone – 文件大綱(書籤)和縮圖均不可見。 UseOutlines – 文件大綱(書籤)可見。 UseThumbs – 縮圖可見。 UseOC – 選用內容群組面板可見。 |

  • 建立 ApiClient 類別的實例,並提供客戶端 ID 客戶端金鑰作為參數。
  • 然後建立一個 PdfApi 類別的實例,該實例以 ApiClient 物件作為輸入參數。
  • 現在建立一個 DocumentProperties 實例,它為 PDF 顯示定義新的顯示屬性。
  • 最後,呼叫putdocumentdisplayproperties(…)為PDF檔案設定新的顯示屬性。
def updatePDFDisplayProperties():
    try:
        #Client credentials
        client_secret = "1c9379bb7d701c26cc87e741a29987bb"
        client_id = "bbf94a2c-6d7e-4020-b4d2-b9809741374e"

        #initialize PdfApi client instance using client credetials
        pdf_api_client = asposepdfcloud.api_client.ApiClient(client_secret, client_id)

        # 建立 PdfApi 實例並傳遞 PdfApiClient 作為參數
        pdf_api = PdfApi(pdf_api_client)

        #source PDF file
        input_file = 'PdfWithEmbeddedFiles.pdf'
        
        # 文件顯示屬性
        newDocumentProperties = asposepdfcloud.DocumentProperties
        {
          "Links": [
            {
               "Href": '/PdfWithEmbeddedFiles.pdf/displayproperties',
                "Rel": 'self',
                "Type": None,
                "Title": None    }
          ],
          "CenterWindow": True,
          "Direction": 'L2R',
          "DisplayDocTitle": True,
          "HideMenuBar": True,
          "HideToolBar": False,
          "HideWindowUI": True,
          "NonFullScreenPageMode": 'UseOutlines',
          "PageLayout":'TwoColumnRight',
          "PageMode": 'UseThumbs'
        }

        # 呼叫API更新PDF顯示屬性
        response = pdf_api.put_document_display_properties(name = input_file, display_properties=newDocumentProperties)
        
        # 在控制台中列印回應
        print(response)
        
        # 在控制台中列印訊息(可選)
        print('PDF Display preferences successfully updated !')    
    except ApiException as e:
        print("Exception while calling PdfApi: {0}".format(e))
        print("Code:" + str(e.code))
        print("Message:" + e.message)
更新了 pdf 顯示偏好設定

圖 2:更新後的 PDF 顯示首選項的預覽。

使用 cURL 讀取 PDF 顯示屬性

REST API 也可以透過 cURL 命令訪問,而且由於 Aspose.PDF Cloud 是按照 REST 架構開發的,所以我們也可以使用 cURL 命令存取 API。但是,在執行任何文件操作之前,我們需要根據您在 Aspose.Cloud 儀表板上指定的個人用戶端憑證產生 JSON Web Token (JWT)。這是強制性的,因為我們的 API 只有註冊用戶才能存取。請執行以下命令來產生 JWT 令牌。

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bbf94a2c-6d7e-4020-b4d2-b9809741374e&client_secret=1c9379bb7d701c26cc87e741a29987bb" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

一旦產生 JWT 令牌,我們就需要執行以下 cURL 指令來讀取 PDF 顯示屬性。

curl -v -X GET "https://api.aspose.cloud/v3.0/pdf/PdfWithEmbeddedFiles.pdf/displayproperties" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

使用 cURL 更新 PDF 顯示屬性

cURL 指令也可以用於更新 PDF 文件的顯示屬性,並將產生的檔案再次儲存在雲端儲存中。

curl -v -X PUT "https://api.aspose.cloud/v3.0/pdf/PdfWithEmbeddedFiles.pdf/displayproperties" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: application/json" \
-d "{  \"Links\": [    {       \"Href\": \"/PdfWithEmbeddedFiles.pdf/displayproperties\",        \"Rel\": \"self\",        \"Type\": null,        \"Title\": null    }  ],  \"CenterWindow\": true,  \"Direction\": \"L2R\",  \"DisplayDocTitle\": true,  \"HideMenuBar\": true,  \"HideToolBar\": false,  \"HideWindowUI\": true,  \"NonFullScreenPageMode\": \"UseOutlines\",  \"PageLayout\": \"TwoColumnRight\",  \"PageMode\": \"UseThumbs\"}"

結論

在本文中,我們探討如何讀取和控制 PDF 顯示屬性的細節和步驟。這些要求可以使用 Python 程式碼片段以及 cURL 命令來實現。我們也建議您探索開發者指南以了解 API 提供的其他令人興奮的功能。此外,Aspose.PDF Cloud SDK for Python 的完整原始碼已經可以透過GitHub下載。如果您在使用 API 時遇到任何問題或有任何其他疑問,請隨時透過 免費產品支援論壇 與我們聯絡。

相關文章

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