Tambahkan Cap Teks di PDF melalui Python

Tambahkan Cap Teks dengan Python

Anda dapat menggunakan kelas TextStamp untuk menambahkan cap teks dalam file PDF. Kelas TextStamp menyediakan properti yang diperlukan untuk membuat cap berbasis teks seperti ukuran font, gaya font, dan warna font, dll. Untuk menambahkan cap teks, Anda perlu membuat objek Document dan objek TextStamp menggunakan properti yang diperlukan. Setelah itu, Anda dapat memanggil metode add_stamp() dari Page untuk menambahkan cap dalam PDF. Cuplikan kode berikut menunjukkan cara menambahkan cap teks dalam file PDF.


    import aspose.pdf as ap

    # Buka dokumen
    document = ap.Document(input_pdf)

    # Buat cap teks
    text_stamp = ap.TextStamp("Sample Stamp")
    # Atur apakah cap adalah latar belakang
    text_stamp.background = True
    # Atur asal
    text_stamp.x_indent = 100
    text_stamp.y_indent = 100
    # Putar cap
    text_stamp.rotate = ap.Rotation.ON90
    # Atur properti teks
    text_stamp.text_state.font = ap.text.FontRepository.find_font("Arial")
    text_stamp.text_state.font_size = 14.0
    text_stamp.text_state.font_style = ap.text.FontStyles.BOLD
    text_stamp.text_state.font_style = ap.text.FontStyles.ITALIC
    text_stamp.text_state.foreground_color = ap.Color.aqua
    # Tambahkan cap ke halaman tertentu
    document.pages[1].add_stamp(text_stamp)

    # Simpan dokumen keluaran
    document.save(output_pdf)

Mendefinisikan penyelarasan untuk objek TextStamp

Menambahkan watermark ke dokumen PDF adalah salah satu fitur yang sering diminta dan Aspose.PDF untuk Python sepenuhnya mampu menambahkan watermark Gambar serta Teks. Kami memiliki kelas bernama TextStamp yang menyediakan fitur untuk menambahkan cap teks ke file PDF. Baru-baru ini ada kebutuhan untuk mendukung fitur untuk menentukan penyelarasan teks saat menggunakan objek TextStamp. Jadi untuk memenuhi kebutuhan ini, kami telah memperkenalkan properti text_alignment dalam kelas TextStamp. Dengan menggunakan properti ini, kita dapat menentukan penyelarasan teks horizontal_alignment.

Cuplikan kode berikut menunjukkan contoh tentang cara memuat dokumen PDF yang ada dan menambahkan TextStamp ke atasnya.


    import aspose.pdf as ap

    # Membuat objek Document dengan file input
    doc = ap.Document(input_pdf)
    # Membuat objek FormattedText dengan string contoh
    text = ap.facades.FormattedText("This")
    # Menambahkan baris teks baru ke FormattedText
    text.add_new_line_text("is sample")
    text.add_new_line_text("Center Aligned")
    text.add_new_line_text("TextStamp")
    text.add_new_line_text("Object")
    # Membuat objek TextStamp menggunakan FormattedText
    stamp = ap.TextStamp(text)
    # Menentukan Penyelarasan Horizontal dari cap teks sebagai rata tengah
    stamp.horizontal_alignment = ap.HorizontalAlignment.CENTER
    # Menentukan Penyelarasan Vertikal dari cap teks sebagai rata tengah
    stamp.vertical_alignment = ap.VerticalAlignment.CENTER
    # Menentukan Penyelarasan Teks Horizontal dari TextStamp sebagai rata tengah
    stamp.text_alignment = ap.HorizontalAlignment.CENTER
    # Mengatur margin atas untuk objek stamp
    stamp.top_margin = 20
    # Menambahkan objek stamp ke halaman pertama dokumen
    doc.pages[1].add_stamp(stamp)

    # Menyimpan dokumen yang diperbarui
    doc.save(output_pdf)

Mengisi Teks Stroke sebagai Stempel dalam File PDF

Kami telah mengimplementasikan pengaturan mode rendering untuk skenario penambahan dan pengeditan teks. Untuk merender teks stroke, silakan buat objek TextState untuk mentransfer properti lanjutan. Atur warna untuk stroke. Setelah itu, atur mode rendering teks. Langkah selanjutnya adalah mengikat TextState, dan menambahkan Stempel.

Cuplikan kode berikut menunjukkan penambahan Teks Stroke Isi:


    import aspose.pdf as ap

    # Buat objek TextState untuk mentransfer properti lanjutan
    ts = ap.text.TextState()
    # Atur warna untuk stroke
    ts.stroking_color = ap.Color.gray
    # Atur mode rendering teks
    ts.rendering_mode = ap.text.TextRenderingMode.STROKE_TEXT
    # Memuat dokumen PDF input
    file_stamp = ap.facades.PdfFileStamp(ap.Document(input_pdf))

    stamp = ap.facades.Stamp()
    stamp.bind_logo(
        ap.facades.FormattedText(
            "PAID IN FULL",
            ap.facades.FontColor(100, 100, 100),
            ap.facades.FontStyle.TIMES_ROMAN,
            ap.facades.EncodingType.WINANSI,
            True,
            78.0,
        )
    )

    # Mengikat TextState
    stamp.bind_text_state(ts)
    # Atur asal X,Y
    stamp.set_origin(100, 100)
    stamp.opacity = 5
    stamp.blending_space = ap.facades.BlendingColorSpace.DEVICE_RGB
    stamp.rotation = 45.0
    stamp.is_background = False
    # Tambahkan Stempel
    file_stamp.add_stamp(stamp)
    file_stamp.save(output_pdf)
    file_stamp.close()