Работа с метаданными PDF‑файла в Python

Используйте это руководство, когда нужно просматривать свойства документа, обновлять информацию о PDF‑файле для поиска или каталогизации, либо программно управлять XMP‑метаданными в Python.

Получить информацию о PDF‑файле

Этот фрагмент кода демонстрирует, как извлекать метаданные из PDF‑документа с использованием Aspose.PDF for Python via .NET. Получая доступ к свойству info объекта Document, он извлекает ключевую информацию, такую как автор, дата создания, ключевые слова, дата изменения, тема и название. Эта функция необходима для приложений, которым требуется каталогизация документов, оптимизация поиска или проверка свойств документа.

  1. Откройте PDF‑файл, используя класс Document
  2. Получите метаданные документа через свойство info
  3. Отобразите информацию о метаданных. Выведите нужные поля метаданных.
import aspose.pdf as ap
import datetime
import sys
from os import path

def get_pdf_file_information(infile):
    # Open PDF document
    document = ap.Document(infile)

    # Get document information
    doc_info = document.info

    # Display document information
    print(f"Author: {doc_info.author}")
    print(f"Creation Date: {doc_info.creation_date}")
    print(f"Keywords: {doc_info.keywords}")
    print(f"Modify Date: {doc_info.mod_date}")
    print(f"Subject: {doc_info.subject}")
    print(f"Title: {doc_info.title}")

Установить информацию о PDF-файле

Aspose.PDF for Python via .NET позволяет задавать специфичную для файла информацию о PDF, такую как автор, дата создания, тема и заголовок. Чтобы задать эту информацию:

  1. Откройте PDF-файл, используя класс Document.
  2. Создайте DocumentInfo объект и установите желаемые свойства метаданных.
  3. Сохраните изменения в новый PDF‑файл, используя метод save.

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

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

def set_file_information(infile, outfile):

    # Open PDF document
    document = ap.Document(infile)

    # Specify document information
    doc_info = ap.DocumentInfo(document)
    doc_info.author = "Aspose"
    doc_info.creation_date = datetime.datetime.now()
    doc_info.keywords = "Aspose.Pdf, DOM, API"
    doc_info.mod_date = datetime.datetime.now()
    doc_info.subject = "PDF Information"
    doc_info.title = "Setting PDF Document Information"
    doc_info.producer = "Custom producer"
    doc_info.creator = "Custom creator"

    # Save PDF document
    document.save(outfile)

Установить XMP-метаданные в PDF-файле

Этот фрагмент кода демонстрирует, как программно установить или обновить XMP‑метаданные в PDF‑документе с использованием Aspose.PDF for Python via .NET. Изменяя такие свойства, как xmp:CreateDate, xmp:Nickname и пользовательские поля, вы можете внедрять стандартизированные метаданные в свои PDF‑файлы. Такой подход особенно полезен для улучшения организации документов, облегчения их поиска и непосредственного внедрения необходимой информации в файл.

Aspose.PDF позволяет задавать метаданные в файле PDF. Чтобы задать метаданные:

  1. Откройте файл PDF с помощью Document класс.
  2. Измените метаданные XMP, присваивая значения определённым ключам.
  3. Сохраните обновлённый PDF‑документ.

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

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

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

    # Set XMP metadata properties
    document.metadata.add("xmp:CreateDate", datetime.datetime.now().isoformat())
    document.metadata.add("xmp:Nickname", "Nickname")
    document.metadata.add("xmp:CustomProperty", "Custom Value")

    # Save the updated PDF document
    document.save(outfile)

Вставить метаданные с префиксом

Некоторым разработчикам необходимо создать новое пространство имён метаданных с префиксом. Следующий фрагмент кода показывает, как вставить метаданные с префиксом.

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

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

    # Register a namespace URI for the 'xmp' prefix
    document.metadata.register_namespace_uri("xmp", "http://ns.adobe.com/xap/1.0/")

    # Set the metadata property using the registered prefix
    document.metadata.add(
        "xmp:ModifyDate", datetime.datetime.now().isoformat()
    )  # ISO 8601 format

    # Save the updated PDF document
    document.save(outfile)

Связанные темы