HTML JPG PDF XML DOCX
  Product Family
PDF

在Python SDK中按路径从PDF获取书签

使用服务器端Python API从PDF文档中获得书签的API。

Get Started

如何使用云端Python SDK从PDF文档中按路径提取书签

要从PDF中按路径提取书签,我们将使用Aspose.PDF Cloud Python SDK。此云端SDK通过Aspose.PDF REST API帮助Python开发人员开发基于云的PDF创建、注释、编辑和转换应用程序。只需在Aspose for Cloud创建一个帐户并获取您的应用程序信息。一旦您拥有App SID和密钥,您就可以使用Aspose.PDF Cloud Python SDK。如果Python包托管在Github上,您可以直接从Github安装:

从Github安装


     
    pip install git+https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-python.git

使用Python按路径获取书签的步骤

Aspose.PDF Cloud Python开发人员可以轻松地从PDF文档中按路径提取书签。开发人员只需几行代码。

  1. 使用您的应用程序密钥和密钥创建一个新的配置对象
  2. 创建一个对象以连接到云端API
  3. 上传您的文档文件
  4. 使用GetBookmark函数从PDF文档中按路径提取书签
  5. 检查响应并记录结果
  6. 如果操作成功,您可以打印书签或以其他方式使用书签
 

此示例代码展示了如何使用PDF Cloud Python SDK从PDF文档中按路径提取书签


    import json
    import logging
    from pathlib import Path
    from asposepdfcloud import ApiClient, PdfApi, BookmarkResponse

    # Configure logging
    logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s")


    class Config:
        """Configuration parameters."""
        CREDENTIALS_FILE = Path(r"..\\credentials.json")
        LOCAL_FOLDER = Path(r"C:\Samples")
        PDF_DOCUMENT_NAME = "sample.pdf"
        BOOKMARK_PATH = "/5"

    class PdfBookmarks:
        """Class for managing PDF bookmarks using Aspose PDF Cloud API."""

        def __init__(self, credentials_file: Path = Config.CREDENTIALS_FILE):
            self.pdf_api = None
            self._init_api(credentials_file)

        def _init_api(self, credentials_file: Path):
            """Initialize the API client."""
            try:
                with credentials_file.open("r", encoding="utf-8") as file:
                    credentials = json.load(file)
                    api_key, app_id = credentials.get("key"), credentials.get("id")
                    if not api_key or not app_id:
                        raise ValueError("Error: Missing API keys in the credentials file.")
                    self.pdf_api = PdfApi(ApiClient(api_key, app_id))
            except (FileNotFoundError, json.JSONDecodeError, ValueError) as e:
                logging.error(f"Failed to load credentials: {e}")

        def upload_document(self):
            """Upload a PDF document to the Aspose Cloud server."""
            if self.pdf_api:
                file_path = Config.LOCAL_FOLDER / Config.PDF_DOCUMENT_NAME
                try:
                    self.pdf_api.upload_file(Config.PDF_DOCUMENT_NAME, str(file_path))
                    logging.info(f"File {Config.PDF_DOCUMENT_NAME} uploaded successfully.")
                except Exception as e:
                    logging.error(f"Failed to upload file: {e}")

        def get_bookmark(self):
            """Get bookmark for a specific PDF document using bookmark path."""    
            if self.pdf_api:
                try:
                    response : BookmarkResponse = self.pdf_api.get_bookmark( Config.PDF_DOCUMENT_NAME, Config.BOOKMARK_PATH)
                    if response.code == 200:
                        logging.info(f"Found bookmark => level: '{response.bookmark.level}' - action: '{response.bookmark.action}' - title: '{response.bookmark.title}'")
                    else:
                        logging.error(f"Failed to find bookmark for the document. Response code: {response.code}")
                except Exception as e:
                    logging.error(f"Error while find bookmark: {e}")

    if __name__ == "__main__":
        pdf_bookmarks = PdfBookmarks()
        pdf_bookmarks.upload_document()
        pdf_bookmarks.get_bookmark()
 

通过Python SDK处理PDF中的书签

从PDF中提取书签可以提高文档的可用性,自动化内容处理,并增强可搜索性。这对于处理大型或结构化PDF文档的企业、研究人员和专业人士特别有用。 使用Aspose.PDF Cloud Python SDK从PDF文档中获取书签。

使用我们的Python SDK,您可以

  • 添加PDF文档的文本或图像格式的页眉和页脚。
  • 向PDF文档添加表格和文本或图像印章。
  • 将多个PDF文档附加到现有文件。
  • 处理PDF附件、注释和表单字段。
  • 对PDF文档应用加密或解密并设置密码。
  • 从页面或整个PDF文档中删除所有印章和表格。
  • 根据ID从PDF文档中删除特定的印章或表格。
  • 替换PDF页面或整个文档中的单个或多个文本实例。
  • 广泛支持将PDF文档转换为各种其他文件格式。
  • 提取PDF文件的各种元素并优化PDF文档。
  • 您可以尝试我们的免费应用在线获取PDF文件的书签并测试功能。

  •