Добавить и удалить закладки PDF в Python

Добавление закладку в PDF‑документ

Закладки хранятся в объекте Document OutlineItemCollection коллекция, сама в OutlineCollection коллекция.

Чтобы добавить закладку в PDF:

  1. Откройте документ PDF с помощью Document объект.
  2. Создайте закладку и определите её свойства.
  3. Добавьте OutlineItemCollection коллекцию в коллекцию Outlines.

Следующий фрагмент кода показывает, как добавить закладку в PDF‑документ.

import aspose.pdf as ap
import sys
from os import path

def add_bookmark(infile, outfile):
    # Open PDF document
    document = ap.Document(infile)

    # Create a bookmark object
    pdf_outline = ap.OutlineItemCollection(document.outlines)
    pdf_outline.title = "Test Outline"
    pdf_outline.italic = True
    pdf_outline.bold = True

    # Set the destination page number
    pdf_outline.action = ap.annotations.GoToAction(document.pages[1])

    # Add bookmark to the document's outline collection
    outlines = document.outlines
    outlines.append(pdf_outline)

    # Save PDF document
    document.save(outfile)

Добавление дочернюю закладку в PDF‑документ

Закладки могут быть вложенными, указывая иерархические отношения между родительскими и дочерними закладками. В этой статье объясняется, как добавить дочернюю закладку, то есть закладку второго уровня, в PDF.

Чтобы добавить дочернюю закладку в PDF‑файл, сначала добавьте родительскую закладку:

  1. Откройте документ.
  2. Добавьте закладку в OutlineItemCollection, определяя её свойства.
  3. Добавьте OutlineItemCollection к объекту Document OutlineCollection коллекция.

Дочерняя закладка создаётся так же, как и родительская закладка, описанная выше, но добавляется в коллекцию Outlines родительской закладки.

Следующие фрагменты кода показывают, как добавить дочернюю закладку в PDF‑документ.

import aspose.pdf as ap
import sys
from os import path

def add_child_bookmark(infile, outfile):
    # Open PDF document
    document = ap.Document(infile)

    # Create a parent bookmark object
    pdf_outline = ap.OutlineItemCollection(document.outlines)
    pdf_outline.title = "Parent Outline"
    pdf_outline.italic = True
    pdf_outline.bold = True

    # Create a child bookmark object
    pdf_child_outline = ap.OutlineItemCollection(document.outlines)
    pdf_child_outline.title = "Child Outline"
    pdf_child_outline.italic = True
    pdf_child_outline.bold = True

    # Add child bookmark to parent bookmark's collection
    pdf_outline.append(pdf_child_outline)

    # Add parent bookmark to the document's outline collection
    document.outlines.append(pdf_outline)

    # Save PDF document
    document.save(outfile)

Удаление все закладки из PDF‑документа

Все закладки в PDF хранятся в OutlineCollection collection. Эта статья объясняет, как удалить все закладки из PDF-файла.

Чтобы удалить все закладки из PDF-файла:

  1. Вызовите OutlineCollection метод Delete коллекции.
  2. Сохраните изменённый файл, используя Document объекта save() метод.

Следующие фрагменты кода показывают, как удалить все закладки из PDF‑документа.

import aspose.pdf as ap
import sys
from os import path

def delete_bookmarks(infile, outfile):
    # Open PDF document
    document = ap.Document(infile)

    # Delete all bookmarks in the PDF document
    document.outlines.delete()

    # Save PDF document
    document.save(outfile)

Удаление определенную закладку из PDF‑документа

Чтобы удалить определённую закладку из PDF‑файла:

  1. Передайте заголовок закладки в качестве параметра функции OutlineCollection метод Delete коллекции.
  2. Затем сохраните обновлённый файл, используя метод Save объекта Document.

Эта Document класс предоставляет OutlineCollection коллекцию. Это delete() метод удаляет любую закладку с заголовком, переданным в метод.

Следующие фрагменты кода показывают, как удалить конкретную закладку из PDF-документа.

import aspose.pdf as ap
import sys
from os import path

def delete_bookmark(infile, outfile):
    # Open PDF document
    document = ap.Document(infile)

    # Delete a specific bookmark by title.
    # Note: If multiple bookmarks have the same title, only the first matching bookmark will be deleted.
    document.outlines.delete("Child Outline")

    # Save PDF document
    document.save(outfile)

Связанные темы закладок