控制 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 显示属性的步骤和相关细节。但在继续之前,我们需要首先了解属性以及可以分配给它们的特定值。

支持的属性

| 属性 | 描述 |

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

| HideToolbar | 一个标志,指定在文档处于活动状态时是否隐藏 pdf 查看器应用程序的工具栏 |

| HideMenuBar | 一个标志,指定当文档处于活动状态时是否隐藏 pdf 查看器应用程序的菜单栏。|

| HideWindowUI | 一个标志,指定是否隐藏文档窗口中的用户界面元素(例如滚动条和导航控件),仅显示文档的内容。|

| FitWindow | 一个标志,指定是否调整文档窗口的大小以适合第一个显示页的大小。|

| CenterWindow | 指定是否将文档窗口定位在屏幕中心的标志。|

| DisplayDocTitle | 指定窗口标题栏是否应显示文档标题的标志。|

| PageMode | 在 pdf 查看器中打开 pdf 文档时的文档页面模式。可能的值:UseNone – 文档大纲(书签)和缩略图均不可见。UseOutlines – 文档大纲(书签)可见。UseThumbs – 缩略图可见。FullScreenFull – 屏幕模式,不显示菜单栏、窗口控件或任何其他窗口。UseOC – 可选内容组面板可见。UseAttachments – 文档附件可见。|

| PageLayout | 打开文档时使用的页面布局。可能的值:SinglePage – 一次显示一页。OneColumn – 在一列中显示页面。TwoColumnLeft – 在两列中显示页面,奇数页在左侧。TwoColumnRight – 在两列中显示页面,奇数页在右侧。|

| NonFullScreenPageMode | 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 时遇到任何问题或有任何其他疑问,请随时通过 免费产品支持论坛 与我们联系。

相关文章

我们还建议您访问以下链接以了解更多信息: