Tambahkan Gambar ke PDF yang Ada di Python
Contents
[
Hide
]
Tambahkan Gambar ke File PDF yang Ada di Python
Contoh ini menunjukkan cara menempatkan gambar pada posisi tetap di halaman PDF yang ada menggunakan Aspose.PDF for Python via .NET.
Gunakan contoh-contoh ini ketika Anda perlu menambahkan logo, foto, stempel, bagan, atau grafik lainnya ke tata letak PDF yang ada. Anda dapat menempatkan gambar dengan koordinat halaman, menggambarnya dengan operator, menambahkan teks aksesibilitas, atau mengontrol kompresi gambar.
- Muat PDF yang ada dengan
ap.Document(infile). - Pilih halaman target (
document.pages[1]untuk halaman pertama). - Panggil
page.add_image()dengan:- Jalur file gambar.
- A
Rectanglemenentukan koordinat penempatan.
- Simpan PDF yang diperbarui.
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)
Tambahkan Gambar ke PDF Menggunakan Operator
Pendekatan ini menambahkan gambar dengan operator PDF tingkat rendah alih-alih yang tingkat tinggi add_image() pembantu.
- Buat yang baru
Documentdan tambahkan sebuah halaman. - Tambahkan gambar ke sumber daya halaman (
page.resources.images). - Buat operator transformasi (
GSave,ConcatenateMatrix,Do,GRestore). - Tambahkan operator ke isi halaman.
- Simpan PDF yang dihasilkan.
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)
Tambahkan Gambar ke PDF dengan Teks Alternatif
Contoh ini menambahkan gambar dan menetapkan teks alternatif untuk aksesibilitas.
- Buat yang baru
Documentdan tambahkan sebuah halaman. - Tambah gambar ke halaman dengan
page.add_image(). - Dapatkan sumber daya gambar dari
page.resources.images. - Atur teks alt menggunakan
try_set_alternative_text(). - Simpan PDF yang dihasilkan.
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)
Tambahkan Gambar ke PDF dengan Kompresi Flate
Contoh ini menyisipkan gambar menggunakan ImageFilterType.FLATE kompresi.
- Buat yang baru
Documentdan tambahkan sebuah halaman. - Tambahkan gambar ke sumber daya halaman dengan kompresi Flate.
- Gunakan operator matriks untuk menempatkan dan menggambar gambar.
- Simpan dokumen.
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)