Заменить изображение в существующем PDF‑файле с помощью Python

Замена изображение в PDF

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

  1. Загрузите исходный PDF с помощью ap.Document(infile).
  2. Откройте заменяемое изображение как бинарный поток.
  3. Замените графический ресурс по индексу на странице.
  4. Сохраните обновлённый PDF.
import aspose.pdf as ap
from io import FileIO


def replace_image(infile, image_file, outfile):
    document = ap.Document(infile)

    with FileIO(image_file, "rb") as image_stream:
        document.pages[1].resources.images.replace(1, image_stream)

    document.save(outfile)

Замена конкретное изображение

Этот пример заменяет конкретное расположение изображения, найденное ImagePlacementAbsorber.

  1. Загрузите исходный PDF.
  2. Создайте ImagePlacementAbsorber и соберите размещения изображений на странице.
  3. Проверьте, существуют ли какие‑либо размещения изображений на странице.
  4. Замените выбранное размещение новым потоком изображения.
  5. Сохраните обновлённый PDF.
import aspose.pdf as ap
from io import FileIO


def replace_image_with_absorber(infile, image_file, outfile):
    document = ap.Document(infile)
    absorber = ap.ImagePlacementAbsorber()
    document.pages[1].accept(absorber)

    if len(absorber.image_placements) > 0:
        image_placement = absorber.image_placements[1]
        with FileIO(image_file, "rb") as image_stream:
            image_placement.replace(image_stream)

    document.save(outfile)

Связанные темы по изображениям