Adicionar imagem a PDF existente em Python
Contents
[
Hide
]
Adicionar Imagem a um Arquivo PDF Existente em Python
Este exemplo mostra como posicionar uma imagem em um local fixo em uma página PDF existente usando Aspose.PDF for Python via .NET.
Use estes exemplos quando precisar adicionar um logotipo, foto, carimbo, gráfico ou outro elemento visual a um layout PDF existente. Você pode posicionar a imagem com coordenadas de página, desenhá‑la com operadores, adicionar texto de acessibilidade ou controlar a compressão da imagem.
- Carregue um PDF existente com
ap.Document(infile). - Selecione a página de destino (
document.pages[1]para a primeira página). - Chamar
page.add_image()com:- O caminho do arquivo de imagem.
- A
Rectangledefinindo coordenadas de posicionamento.
- Salve o PDF atualizado.
import aspose.pdf as ap
def add_image(infile, image_file, outfile):
document = ap.Document(infile)
page = document.pages[1]
page.add_image(image_file, ap.Rectangle(20, 730, 120, 830, True))
document.save(outfile)
Adicionar uma imagem ao PDF usando operadores
Esta abordagem adiciona uma imagem com operadores PDF de baixo nível em vez dos de alto nível add_image() ajudante.
- Crie um novo
Documente adicione uma página. - Adicionar a imagem aos recursos da página (
page.resources.images). - Criar operadores de transformação (
GSave,ConcatenateMatrix,Do,GRestore). - Adicione operadores ao conteúdo da página.
- Salve o PDF resultante.
import aspose.pdf as ap
from io import FileIO
def add_image_using_operators(image_file, outfile):
document = ap.Document()
page = document.pages.add()
page.set_page_size(842, 595)
resources_images = page.resources.images
with FileIO(image_file, "rb") as image_stream:
image_id = resources_images.add(image_stream)
rectangle = ap.Rectangle(0, 0, page.media_box.width, page.media_box.height, True)
operators = [
ap.operators.GSave(),
ap.operators.ConcatenateMatrix(
ap.Matrix(
rectangle.urx - rectangle.llx,
0,
0,
rectangle.ury - rectangle.lly,
rectangle.llx,
rectangle.lly,
)
),
ap.operators.Do(image_id),
ap.operators.GRestore(),
]
page.contents.add(operators)
document.save(outfile)
Adicionar imagem ao PDF com texto alternativo
Este exemplo adiciona uma imagem e atribui texto alternativo para acessibilidade.
- Crie um novo
Documente adicione uma página. - Adicione a imagem à página com
page.add_image(). - Obter recursos de imagem de
page.resources.images. - Definir texto alternativo usando
try_set_alternative_text(). - Salve o PDF resultante.
import aspose.pdf as ap
def add_image_set_alternative_text(image_file, outfile):
document = ap.Document()
page = document.pages.add()
page.set_page_size(842, 595)
page.add_image(image_file, ap.Rectangle(0, 0, 842, 595, True))
resources_images = page.resources.images
x_image = resources_images[1]
result = x_image.try_set_alternative_text("Alternative text for image", page)
if result:
print("Alternative text has been added successfully")
document.save(outfile)
Adicionar uma imagem a um PDF com compactação Flate
Este exemplo incorpora uma imagem usando ImageFilterType.FLATE compressão.
- Crie um novo
Documente adicione uma página. - Adicionar a imagem aos recursos da página com compactação Flate.
- Usar operadores de matriz para posicionar e desenhar a imagem.
- Salve o documento.
import aspose.pdf as ap
from io import FileIO
def add_image_to_pdf_with_flate_compression(image_file, outfile):
document = ap.Document()
page = document.pages.add()
resources_images = page.resources.images
with FileIO(image_file, "rb") as image_stream:
image_id = resources_images.add(image_stream, ap.ImageFilterType.FLATE)
rectangle = ap.Rectangle(0, 0, 600, 600, True)
matrix = ap.Matrix(
rectangle.urx - rectangle.llx,
0,
0,
rectangle.ury - rectangle.lly,
rectangle.llx,
rectangle.lly,
)
page.contents.add([ap.operators.GSave()])
page.contents.add([ap.operators.ConcatenateMatrix(matrix)])
page.contents.add([ap.operators.Do(image_id)])
page.contents.add([ap.operators.GRestore()])
document.save(outfile)