Tambahkan Teks ke PDF dengan Python
Panduan ini menjelaskan cara menambahkan konten teks ke dokumen PDF menggunakan Aspose.PDF for Python via .NET. Anda akan mempelajari teknik penyisipan teks inti—mulai dari menempatkan fragmen teks sederhana pada posisi tertentu, hingga menata tampilannya (font, ukuran, warna, gaya), menangani bahasa right-to-left (RTL), menyematkan hyperlink, dan bekerja dengan tata letak paragraf, daftar, serta efek transparansi. Artikel ini juga mencakup skenario lanjutan seperti menggunakan fragmen HTML atau LaTeX, font kustom, dan opsi pemformatan teks seperti spasi baris dan spasi karakter.
Apakah Anda sedang membuat anotasi sederhana atau tata letak tipografi yang kaya, sumber daya ini membekali Anda dengan blok bangunan dasar untuk bekerja dengan teks dalam PDF menggunakan Aspose.PDF.
Penyisipan teks dasar
Aspose.PDF for Python via .NET menyediakan API yang kuat dan fleksibel untuk menangani teks di dalam file PDF. Apakah Anda membutuhkan label statis sederhana, konten yang diformat secara kaya, teks multibahasa, atau hyperlink interaktif, toolkit memungkinkan Anda melakukan semuanya dengan kode Python yang singkat.
Tambahkan Teks Kasus Sederhana
Aspose.PDF for Python via .NET menunjukkan cara menambahkan fragmen teks sederhana ke posisi tertentu pada halaman. Anda akan belajar cara membuat dokumen PDF baru, menambahkan halaman, menyisipkan teks pada koordinat yang diberikan, dan menyimpan file hasilnya.
- Buat yang baru Document objek.
- Gunakan
document.pages.add()untuk membuat yang kosong baru Page. - Buat sebuah
TextFragmentdengan konten teks. - Atur posisi teks menggunakan
Positionkelas. Jika Anda menentukanPosition, teks akan berada di dokumen Anda dari kiri ke kanan dan bergeser ke bawah. - Sesuaikan tampilan teks. Anda dapat mengatur ukuran font, warna, gaya font, dan lainnya melalui
TextState. - Tambahkan
TextFragmentke koleksiparagraphshalaman denganpage.paragraphs.add(text_fragment). - Simpan dokumen.
Potongan kode berikut menunjukkan cara menambahkan teks dalam file PDF yang sudah ada:
import math
import sys
import os
import aspose.pdf as ap
# region Basic text insertion
def add_text_simple_case(output_file_name):
# Create a new document
document = ap.Document()
page = document.pages.add()
# Add a text fragment at a specific position
text_fragment = ap.text.TextFragment("Hello, Aspose!")
text_fragment.position = ap.text.Position(100, 600)
page.paragraphs.add(text_fragment)
document.save(output_file_name)
Contoh kode ini menggunakan TextFragment. Anda juga dapat menambahkan teks ke halaman PDF menggunakan TextParagraph. The TextFragment adalah satu potongan teks. Itu mewakili satu string teks yang dapat ditempatkan, digaya, dan diposisikan secara independen. Ini ideal ketika Anda perlu menambahkan konten teks kecil dan sederhana.
The Paragraf Teks adalah sekelompok TextFragments. Ini dapat menambahkan beberapa baris teks. TextParagraph adalah wadah atau kumpulan satu atau lebih objek TextFragment. Ini ideal ketika Anda perlu mengelompokkan beberapa fragmen — misalnya, untuk membuat blok teks dengan beberapa baris, kata, atau elemen yang diformat. Sebuah TextParagraph juga mengelola perataan teks, jarak antar baris, dan tata letak otomatis pada halaman. Penggunaan garis merah hanya dapat dilakukan dengan TextParagraph.
Untuk informasi lebih lanjut tentang bekerja dengan teks, lihat Pemformatan Teks dalam PDF dan Cari dan Dapatkan Teks dari PDF.
Tambahkan Teks menggunakan TextParagraph
Aspose.PDF for Python via .NET dapat menambahkan paragraf teks menggunakan TextBuilder dan TextParagraph dengan opsi pembungkusan.
- Buat yang baru Document dan kosong Page menggunakan
document.pages.add(). - Baca teks dari file atau gunakan teks default.
- Buat sebuah
TextBuilderuntuk menambahkan konten tingkat paragraf dengan kontrol tata letak dan pembungkusan. - Buat sebuah
TextParagraphdan atur mode bungkus (contoh menggunakanDISCRETIONARY_HYPHENATION). - Buat sebuah
TextFragment, terapkan gaya, dan tambahkan fragmen ke paragraf. - Tambahkan paragraf ke halaman menggunakan
TextBuilder. - Simpan dokumen.
import math
import sys
import os
import aspose.pdf as ap
def add_paragraph(output_file_name):
document = ap.Document()
page = document.pages.add()
lorem_path = LOREM_PATH
if os.path.exists(lorem_path):
with open(lorem_path, "r", encoding="utf-8") as file:
text = file.read()
else:
text = "Lorem ipsum sample text not found."
builder = ap.text.TextBuilder(page)
paragraph = ap.text.TextParagraph()
paragraph.first_line_indent = 20
paragraph.rectangle = ap.Rectangle(80, 800, 400, 200, True)
# paragraph.formatting_options.wrap_mode = TextFormattingOptions.WordWrapMode.BY_WORDS
paragraph.formatting_options.wrap_mode = (
ap.text.TextFormattingOptions.WordWrapMode.DISCRETIONARY_HYPHENATION
)
fragment = ap.text.TextFragment(text)
fragment.text_state.font = ap.text.FontRepository.find_font("Times New Roman")
fragment.text_state.font_size = 12
paragraph.append_line(fragment)
builder.append_paragraph(paragraph)
document.save(output_file_name)

Tambahkan Paragraf dengan Inden dalam PDF
Potongan kode berikut menunjukkan cara membuat dokumen PDF baru dan menambahkan dua paragraf teks dengan gaya indentasi yang berbeda:
-
Paragraf pertama menunjukkan indent baris pertama (hanya baris pertama yang diindentasi).
-
Paragraf kedua menunjukkan indentasi baris berikutnya (semua baris setelah yang pertama diindentasi).
Ini menggunakan kelas ‘TextParagraph’, ‘TextBuilder’, dan ‘TextFragment’ dari Aspose.PDF untuk mengontrol tata letak dan pemformatan dengan tepat.
import math
import sys
import os
import aspose.pdf as ap
def add_paragraphs_indents(output_file_name):
document = ap.Document()
page = document.pages.add()
lorem_path = LOREM_PATH
if os.path.exists(lorem_path):
with open(lorem_path, "r", encoding="utf-8") as file:
text = file.read()
else:
text = "Lorem ipsum sample text not found."
fragment = ap.text.TextFragment(text)
fragment.text_state.font = ap.text.FontRepository.find_font("Times New Roman")
fragment.text_state.font_size = 12
builder = ap.text.TextBuilder(page)
paragraph1 = ap.text.TextParagraph()
paragraph1.first_line_indent = 20
paragraph1.rectangle = ap.Rectangle(80, 800, 300, 50, True)
paragraph1.formatting_options.wrap_mode = (
ap.text.TextFormattingOptions.WordWrapMode.BY_WORDS
)
paragraph1.append_line(fragment)
builder.append_paragraph(paragraph1)
paragraph2 = ap.text.TextParagraph()
paragraph2.subsequent_lines_indent = 20
paragraph2.rectangle = ap.Rectangle(320, 800, 500, 50, True)
paragraph2.formatting_options.wrap_mode = (
ap.text.TextFormattingOptions.WordWrapMode.BY_WORDS
)
paragraph2.append_line(fragment)
builder.append_paragraph(paragraph2)
document.save(output_file_name)
Tambah Baris Teks Baru dalam PDF
Aspose.PDF for Python via .NET memungkinkan Anda menyisipkan teks multi-baris ke dalam dokumen PDF menggunakan kelas TextFragment, TextParagraph, dan TextBuilder.
- Buat dokumen baru.
- Definisikan sebuah TextFragment yang berisi karakter baris baru.
- Atur gaya teks.
- Tambahkan fragmen ke paragraf.
- Posisikan paragraf.
- Render paragraf pada halaman.
- Simpan dokumen.
import math
import sys
import os
import aspose.pdf as ap
def add_new_line(output_file):
"""Add a new line of text to a PDF document."""
# Create PDF document
document = ap.Document()
page = document.pages.add()
# Initialize new TextFragment with text containing required newline markers
text_fragment = ap.text.TextFragment("Applicant Name: " + os.linesep + " Joe Smoe")
# Set text fragment properties if necessary
text_fragment.text_state.font_size = 12
text_fragment.text_state.font = ap.text.FontRepository.find_font("TimesNewRoman")
text_fragment.text_state.background_color = ap.Color.light_gray
text_fragment.text_state.foreground_color = ap.Color.red
# Create TextParagraph object
par = ap.text.TextParagraph()
# Add new TextFragment to paragraph
par.append_line(text_fragment)
# Set paragraph position
par.position = ap.text.Position(100, 600)
# Create TextBuilder object
text_builder = ap.text.TextBuilder(page)
# Add the TextParagraph using TextBuilder
text_builder.append_paragraph(par)
# Save PDF document
document.save(output_file)
Tentukan Pemutusan Baris dan Catat Notifikasi dalam PDF
Ini menunjukkan cara membuat dokumen PDF yang berisi beberapa fragmen teks dan mengaktifkan pencatatan notifikasi Aspose.PDF untuk memantau peristiwa tata letak — seperti pemecahan baris dan pembungkus teks — selama proses rendering.
- Buat dokumen PDF baru.
- Aktifkan pencatatan notifikasi.
- Gunakan document.pages.add() untuk membuat halaman pertama.
- Tambahkan beberapa fragmen teks.
- Gunakan page.paragraphs.add(text) untuk merender setiap fragmen teks.
- Simpan dokumen.
import math
import sys
import os
import aspose.pdf as ap
def determine_line_break(output_file):
"""Create a PDF document with multiple text fragments and log notifications."""
# Create PDF document
document = ap.Document()
# Enable notification logging
document.enable_notification_logging = True
page = document.pages.add()
for i in range(4):
text = ap.text.TextFragment(
"Lorem ipsum \r\ndolor sit amet, consectetur adipiscing elit, "
"sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. "
"Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris "
"nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in "
"reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla "
"pariatur. Excepteur sint occaecat cupidatat non proident, sunt in "
"culpa qui officia deserunt mollit anim id est laborum."
)
text.text_state.font_size = 20
page.paragraphs.add(text)
# Save PDF document
document.save(output_file)
notifications = document.pages[1].get_notifications()
print(notifications)
Ukur Lebar Teks Secara Dinamis di PDF
Mengukur lebar karakter dan string secara dinamis dalam font tertentu menggunakan Aspose.PDF for Python via .NET. Ini menggunakan metode ‘Font.measure_string()’ dan ‘TextState.measure_string()’ untuk memverifikasi bahwa lebar string yang diukur konsisten dan akurat.
- Gunakan ‘FontRepository.find_font()’ untuk mengambil objek font Arial dari repositori.
- Buat objek TextState untuk mengelola properti font.
- Ukur Karakter Individu.
- Bandingkan hasil kedua metode untuk semua karakter antara ‘A’ dan ‘z’.
- Pastikan kedua pendekatan pengukuran menghasilkan hasil yang sama.
import math
import sys
import os
import aspose.pdf as ap
def get_text_width_dynamically(output_file):
font = ap.text.FontRepository.find_font("Arial")
ts = ap.text.TextState()
ts.font = font
ts.font_size = 14
if math.fabs(font.measure_string("A", 14) - 9.337) > 0.001:
print("Unexpected font string measure!")
if math.fabs(ts.measure_string("z") - 7.0) > 0.001:
print("Unexpected font string measure!")
c_code = ord("A")
while c_code <= ord("z"):
c = chr(c_code)
fn_measure = font.measure_string(str(c), 14)
ts_measure = ts.measure_string(str(c))
if math.fabs(fn_measure - ts_measure) > 0.001:
print("Font and state string measuring doesn't match!")
c_code += 1
Tambahkan Teks dengan Tautan
Tambahkan hyperlink yang dapat diklik ke teks dalam PDF menggunakan Aspose.PDF for Python via .NET. Perpustakaan kami menunjukkan cara menambahkan beberapa segmen teks dalam satu TextFragment dan menerapkan hyperlink ke segmen tertentu, serta menata segmen teks secara individual (mis., warna, font miring).
- Buat dokumen baru dan halaman menggunakan ‘Document()’, dan ‘document.pages.add()’ untuk menambahkan halaman kosong.
- Buat TextFragment.
- Tambahkan beberapa objek TextSegment. Setiap segmen dapat memiliki konten dan gaya tersendiri. Misalnya teks biasa atau teks hyperlink.
- Terapkan hyperlink pada segmen. Buat objek WebHyperlink dengan URL yang diinginkan.
- Gaya segmen. Sesuaikan warna, gaya font, ukuran, dll., menggunakan text_state.
- Tambahkan fragmen ke halaman menggunakan ‘page.paragraphs.add()’.
- Simpan PDF.
import math
import sys
import os
import aspose.pdf as ap
def add_text_with_hyperlink(output_file_name):
document = ap.Document()
page = document.pages.add()
fragment = ap.text.TextFragment("Sample Text Fragment")
segment = ap.text.TextSegment(" ... Text Segment 1...")
fragment.segments.append(segment)
segment = ap.text.TextSegment("Link to Aspose")
fragment.segments.append(segment)
segment.hyperlink = ap.WebHyperlink("https://products.aspose.com/pdf")
segment.text_state.foreground_color = ap.Color.blue
segment.text_state.font_style = ap.text.FontStyles.ITALIC
segment = ap.text.TextSegment("TextSegment without hyperlink")
fragment.segments.append(segment)
page.paragraphs.add(fragment)
document.save(output_file_name)

Tambahkan Teks Right-to-Left (RTL) ke Dokumen PDF
RTL (from Right To Left) adalah properti yang menunjukkan arah penulisan teks, di mana teks ditulis dari kanan ke kiri. Aspose.PDF for Python via .NET. menunjukkan cara menambahkan teks Right-to-Left (RTL), seperti bahasa Arab atau Ibrani, ke dokumen PDF.
- Buat dokumen baru dan halaman menggunakan ‘Document()’, dan ‘document.pages.add()’ untuk menambahkan halaman kosong.
- Buat TextFragment dengan konten RTL. Masukkan teks Arab, Ibrani, atau bahasa RTL lainnya sebagai konten fragmen. Atur font dan styling. Pilih font yang mendukung skrip RTL (mis., Tahoma, Arial Unicode MS). Atur font_size dan foreground_color sesuai kebutuhan.
- Atur perataan horizontal ke kanan menggunakan ’text_fragment.horizontal_alignment’.
- Tambahkan fragmen teks ke halaman.
- Simpan dokumen PDF.
import math
import sys
import os
import aspose.pdf as ap
def add_text_with_rtl_text(output_file_name):
document = ap.Document()
page = document.pages.add()
# Styled text fragment
text_fragment = ap.text.TextFragment(
"يعتبر خوجا نصر الدين شخصية فولكلورية من الشرق الإسلامي وبعض شعوب البحر الأبيض المتوسط والبلقان، وهو بطل القصص والحكايات القصيرة الفكاهية والساخرة، وأحيانًا الحكايات اليومية."
)
text_fragment.text_state.font = ap.text.FontRepository.find_font("Tahoma")
text_fragment.text_state.font_size = 14
text_fragment.text_state.foreground_color = ap.Color.blue
text_fragment.horizontal_alignment = ap.HorizontalAlignment.RIGHT
page.paragraphs.add(text_fragment)
document.save(output_file_name)

Pemformatan teks
Tambahkan Teks dengan Gaya Font
Ini adalah contoh yang lebih maju yang menunjukkan penataan teks, penyesuaian font, dan teks berformat campuran (menggunakan segmen teks subskrip). Aspose.PDF menjelaskan cara menerapkan properti font seperti keluarga font, ukuran, warna, tebal, miring, dan garis bawah ke fragmen teks. Selain itu, cuplikan kode ini menunjukkan cara menggunakan beberapa segmen teks dalam satu fragmen untuk membuat ekspresi teks yang kompleks — misalnya, termasuk karakter subskrip atau superskrip, yang sering diperlukan dalam rumus atau notasi ilmiah.
- Buat dokumen baru dan halaman menggunakan ‘Document()’, dan ‘document.pages.add()’ untuk menambahkan halaman kosong.
- Buat TextFragment untuk teks bergaya sederhana.
- Definisikan konten teks.
- Atur posisi menggunakan koordinat Position(x, y).
- Terapkan gaya melalui properti ’text_state’ - font, font_size, foreground_color, font_style, underline.
- Buat sebuah ekspresi kompleks dengan beberapa objek TextSegment. Setiap TextSegment mewakili bagian teks yang dapat memiliki gaya sendiri. Ini memungkinkan Anda membangun ekspresi, seperti rumus matematika atau kimia.
- Definisikan beberapa objek TextState. Satu untuk teks utama (text_state_letters). Lainnya untuk teks subskrip atau superskrip (text_state_index).
- Gabungkan segmen teks. Tambahkan setiap segmen ke ‘TextFragment’ menggunakan ‘segments.append()’.
- Tambahkan kedua objek teks ke halaman. Gunakan ‘page.paragraphs.add()’ untuk menempatkannya di dokumen.
- Simpan dokumen akhir.
import math
import sys
import os
import aspose.pdf as ap
def add_text_with_font_styling(output_file_name):
document = ap.Document()
page = document.pages.add()
# Initialize an empty TextFragment to build a formula using segments
formula = ap.text.TextFragment()
text_fragment = ap.text.TextFragment("Hello, Aspose!")
text_fragment.position = ap.text.Position(100, 600)
text_fragment.text_state.font = ap.text.FontRepository.find_font("Arial")
text_fragment.text_state.font_size = 14
text_fragment.text_state.foreground_color = ap.Color.blue
text_fragment.text_state.font_style = (
ap.text.FontStyles.BOLD | ap.text.FontStyles.ITALIC
)
text_fragment.text_state.underline = True
text_fragment.horizontal_alignment = ap.HorizontalAlignment.LEFT
text_state_letters = ap.text.TextState()
text_state_letters.font = ap.text.FontRepository.find_font("Arial")
text_state_letters.font_size = 14
text_state_letters.foreground_color = ap.Color.blue
text_state_letters.font_style = ap.text.FontStyles.BOLD
text_state_index = ap.text.TextState()
text_state_index.font = ap.text.FontRepository.find_font("Arial")
text_state_index.font_size = 14
text_state_index.foreground_color = ap.Color.dark_red
# text_state_index.superscript = True
text_state_index.subscript = True
position = ap.text.Position(100, 500)
# Helper function to add segments
def add_segment(text, state):
seg = ap.text.TextSegment(text)
seg.text_state = state
seg.position = position
formula.segments.append(seg)
add_segment("S = a", text_state_letters)
add_segment("2n", text_state_index)
add_segment(" + a", text_state_letters)
add_segment("2n+1", text_state_index)
add_segment(" + a", text_state_letters)
add_segment("2n+2", text_state_index)
formula.horizontal_alignment = ap.HorizontalAlignment.LEFT
page.paragraphs.add(text_fragment)
page.paragraphs.add(formula)
document.save(output_file_name)

Tambahkan Teks transparan
Tambahkan bentuk semi-transparan dan teks ke dokumen PDF menggunakan Aspose.PDF for Python. Ini membuat persegi panjang berwarna dengan opasitas parsial dan menimpa TextFragment dengan warna latar depan transparan.
- Inisialisasi objek Document dan tambahkan halaman kosong untuk menggambar konten.
- Gunakan ‘ap.drawing.Graph’ untuk membuat kanvas yang memungkinkan Anda menggambar bentuk.
- Tambahkan persegi panjang dengan isi semi-transparan.
- Cegah pergeseran posisi kanvas.
- Tambahkan kanvas ke halaman. Sisipkan bentuk grafis ke dalam koleksi
paragraphshalaman. - Buat fragmen teks transparan.
- Masukkan fragmen teks ke dalam koleksi
paragraphshalaman. - Simpan dokumen PDF.
import math
import sys
import os
import aspose.pdf as ap
def add_text_transparent(output_file_name):
# Create PDF document
document = ap.Document()
page = document.pages.add()
# Create Graph object
canvas = ap.drawing.Graph(100.0, 400.0)
# Create rectangle with semi-transparent fill
rect = ap.drawing.Rectangle(100, 100, 400, 400)
rect.graph_info.fill_color = ap.Color.from_argb(128, 0xC5, 0xB5, 0xFF)
canvas.shapes.add(rect)
# Prevent position shift
canvas.is_change_position = False
page.paragraphs.add(canvas)
# Create transparent text
text = ap.text.TextFragment(
"This is the transparent text. "
"This is the transparent text. "
"This is the transparent text."
)
text.text_state.foreground_color = ap.Color.from_argb(30, 0, 255, 0)
page.paragraphs.add(text)
document.save(output_file_name)
Tambahkan Teks Tidak Terlihat ke PDF
Contoh ini menunjukkan cara membuat dokumen PDF yang berisi teks yang terlihat dan tidak terlihat. Teks yang tidak terlihat tetap menjadi bagian dari struktur dokumen tetapi disembunyikan dari tampilan, menjadikannya berguna untuk menyisipkan metadata, tag aksesibilitas, atau konten yang dapat dicari tanpa memengaruhi tata letak.
- Buat Dokumen PDF dan Halaman.
- Buat fragmen teks dengan konten yang terlihat berulang.
- Tambahkan fragmen teks kedua dan tandai sebagai tidak terlihat.
- Simpan Dokumen.
import math
import sys
import os
import aspose.pdf as ap
def add_text_invisible(output_file_name):
# Create PDF document
document = ap.Document()
page = document.pages.add()
# Add visible text
text1 = ap.text.TextFragment(
"This is the visible text. This is the visible text. This is the visible text."
)
page.paragraphs.add(text1)
# Create transparent text
text2 = ap.text.TextFragment(
"This is the invisible text. "
"This is the invisible text. "
"This is the invisible text."
)
text2.text_state.invisible = True
page.paragraphs.add(text2)
document.save(output_file_name)
Tambahkan Teks dengan Gaya Garis Batas di PDF
Perpustakaan Aspose.PDF menunjukkan cara membuat dokumen PDF yang berisi fragmen teks bergaya dengan batas yang terlihat. Metode ini menerapkan warna latar belakang dan latar depan, pengaturan Font, serta goresan (batas) di sekitar persegi panjang teks untuk meningkatkan penekanan visual.
- Buat Dokumen PDF dan Halaman.
- Buat dan Posisikan Fragmen Teks. Tambahkan fragmen teks dengan pesan dan atur posisinya.
- Terapkan Gaya Teks. Atur font menjadi Times New Roman, ukuran 12. Terapkan latar belakang abu-abu terang dan warna latar depan (teks) merah.
- Konfigurasikan Gaya Border.
- Tambahkan Teks ke Halaman. Gunakan TextBuilder untuk menambahkan teks yang bergaya ke halaman.
- Simpan Dokumen.
import math
import sys
import os
import aspose.pdf as ap
def add_text_border(output_file_name):
# Create PDF document
document = ap.Document()
# Get particular page
page = document.pages.add()
# Create text fragment
text_fragment = ap.text.TextFragment("This is sample text with border.")
text_fragment.position = ap.text.Position(10, 700)
# Set text properties
text_fragment.text_state.font = ap.text.FontRepository.find_font("Times New Roman")
text_fragment.text_state.font_size = 12
text_fragment.text_state.background_color = ap.Color.light_gray
text_fragment.text_state.foreground_color = ap.Color.red
# Set StrokingColor property for drawing border (stroking) around text rectangle.
# Note: This only affects the border if draw_text_rectangle_border is set to True.
text_fragment.text_state.stroking_color = ap.Color.dark_red
# Enable drawing of the text rectangle border
text_fragment.text_state.draw_text_rectangle_border = True
text_builder = ap.text.TextBuilder(page)
text_builder.append_text(text_fragment)
# Save PDF document
document.save(output_file_name)
Tambahkan Teks Coret ke PDF
Tambahkan pemformatan strikeout (strikethrough) pada fragmen teks dalam dokumen PDF. Teks strikeout berguna untuk menunjukkan penghapusan, revisi, atau penekanan dalam dokumen yang dianotasi.
- Buat dokumen baru dan halaman menggunakan ‘Document()’, dan ‘document.pages.add()’ untuk menambahkan halaman kosong.
- Buat dan Atur Gaya Fragmen Teks.
- Terapkan Pemformatan Warna dan Coret. Atur latar belakang menjadi abu-abu terang, warna teks menjadi merah, dan aktifkan coretan.
- Posisikan Teks.
- Gunakan ‘TextBuilder’ untuk menambahkan teks bergaya ke halaman.
- Simpan Dokumen.
import math
import sys
import os
import aspose.pdf as ap
def add_strikeout_text(output_file_name):
# Create PDF document
document = ap.Document()
page = document.pages.add()
# Create text fragment
text_fragment = ap.text.TextFragment("This is sample strikeout text.")
# Set text properties
text_fragment.text_state.font_size = 12
text_fragment.text_state.font = ap.text.FontRepository.find_font("TimesNewRoman")
text_fragment.text_state.background_color = ap.Color.light_gray
text_fragment.text_state.foreground_color = ap.Color.red
text_fragment.text_state.strike_out = True
text_fragment.text_state.font_style = ap.text.FontStyles.BOLD
text_fragment.position = ap.text.Position(100, 600)
# Create TextBuilder object
text_builder = ap.text.TextBuilder(page)
text_builder.append_text(text_fragment)
# Save PDF document
document.save(output_file_name)
Efek warna lanjutan
Menerapkan Gradien Aksial pada Teks dalam PDF
Aspose.PDF for Python via .NET mendemonstrasikan cara menerapkan efek gradien linear pada teks dalam dokumen PDF. Gradien aksial secara mulus bertransisi dari merah ke biru sepanjang teks, menciptakan judul yang visualnya mencolok. Teknik ini ideal untuk judul bergaya, branding, atau elemen dekoratif dalam tata letak dokumen PDF.
- Inisialisasi dokumen baru dan tambahkan halaman kosong.
- Buat dan Gayakan Text Fragment. Tambahkan judul, atur posisi, font, dan ukuran.
- Terapkan Shading Gradien Aksial dengan ‘GradientAxialShading’. Atur warna latar depan menggunakan GradientAxialShading dari merah ke biru.
- Tambahkan Gaya Garis Bawah.
- Masukkan fragmen teks bergaya ke dalam halaman.
- Simpan Dokumen.
import math
import sys
import os
import aspose.pdf as ap
def apply_gradient_axial_shading_to_text(output_file_name):
# Create PDF document
document = ap.Document()
page = document.pages.add()
text_fragment = ap.text.TextFragment("PDF TITLE")
text_fragment.position = ap.text.Position(100, 600)
text_fragment.text_state.font_size = 36
text_fragment.text_state.font = ap.text.FontRepository.find_font("Arial Bold")
text_fragment.text_state.foreground_color = ap.Color()
text_fragment.text_state.foreground_color.pattern_color_space = (
ap.drawing.GradientAxialShading(ap.Color.red, ap.Color.blue)
)
text_fragment.text_state.underline = True
page.paragraphs.add(text_fragment)
document.save(output_file_name)
Menerapkan Gradien Radial pada Teks di PDF
Gradien radial menciptakan transisi warna melingkar yang memancar ke luar dari pusat teks, menawarkan opsi gaya visual yang dinamis untuk judul, header, atau elemen dekoratif.
- Inisialisasi dokumen baru dan tambahkan halaman kosong.
- Buat dan Gayakan Text Fragment. Tambahkan judul, atur posisi, font, dan ukuran.
- Terapkan Gradien Radial dengan ‘GradientRadialShading’. Atur warna latar depan menggunakan GradientRadialShading dari merah ke biru.
- Tambahkan Gaya Garis Bawah.
- Masukkan fragmen teks bergaya ke dalam halaman.
- Simpan Dokumen.
import math
import sys
import os
import aspose.pdf as ap
def apply_gradient_radial_shading_to_text(output_file_name):
# Create PDF document
document = ap.Document()
page = document.pages.add()
text_fragment = ap.text.TextFragment("PDF TITLE")
text_fragment.position = ap.text.Position(100, 600)
text_fragment.text_state.font_size = 36
text_fragment.text_state.font = ap.text.FontRepository.find_font("Arial Bold")
# Apply radial gradient shading (red to blue)
text_fragment.text_state.foreground_color = ap.Color()
text_fragment.text_state.foreground_color.pattern_color_space = (
ap.drawing.GradientRadialShading(ap.Color.red, ap.Color.blue)
)
text_fragment.text_state.underline = True
page.paragraphs.add(text_fragment)
document.save(output_file_name)

Fragmen HTML dan LaTeX
Tambahkan Teks HTML ke Dokumen PDF
Pustaka Aspose.PDF for Python via .NET memungkinkan Anda menyisipkan konten berformat HTML ke dalam dokumen PDF menggunakan kelas HtmlFragment. Dengan menggunakan tag HTML, Anda dapat menampilkan teks yang bergaya, terstruktur, atau mirip rumus secara langsung di PDF.
- Buat dokumen baru dan halaman menggunakan ‘Document()’, dan ‘document.pages.add()’ untuk menambahkan halaman kosong.
- Buat sebuah instance dari kelas HtmlFragment dan lewati string HTML Anda sebagai parameter.
- Tambahkan fragmen ke halaman menggunakan ‘page.paragraphs.add()’ untuk menyisipkan konten HTML.
- Simpan PDF.
import math
import sys
import os
import aspose.pdf as ap
def add_text_html_fragment(output_file_name):
# Create a new document
document = ap.Document()
page = document.pages.add()
# Add a text fragment at a specific position
text_fragment = ap.HtmlFragment("<pre>S=a<sub>2n</sub>+a<sup>2</sup><pre>")
page.paragraphs.add(text_fragment)
document.save(output_file_name)

Tambahkan fragmen HTML bergaya dengan berbagai format ke dokumen PDF
Kita dapat mendefinisikan fragmen HTML dan mengatur gaya teks secara langsung menggunakan tag HTML. Menyematkan konten HTML yang bergaya ke dalam dokumen PDF. Potongan kode ini membuat file PDF baru, menambahkan sebuah halaman, menyisipkan fragmen HTML dengan berbagai elemen pemformatan (judul, paragraf, tautan, dan gaya inline), dan menyimpan hasilnya ke jalur yang ditentukan.
- Menginisialisasi objek Document baru untuk merepresentasikan PDF.
- Menambahkan halaman kosong ke dokumen di mana konten HTML akan ditempatkan.
- Siapkan Konten HTML. String HTML berisi judul h1, paragraf berwarna hijau dengan teks tebal, miring, dan bergaris bawah, serta tautan ke sebuah situs web dengan ukuran font yang diperbesar.
- Buat Fragmen HTML. Bungkus string HTML dalam objek HtmlFragment.
- Sisipkan HTML ke Halaman. Menambahkan fragmen HTML ke koleksi
paragraphshalaman, merender HTML sebagai konten PDF asli. - Simpan Dokumen.
import math
import sys
import os
import aspose.pdf as ap
def add_html_fragment(output_file_name):
document = ap.Document()
page = document.pages.add()
html_content = """
<h1 style='color:blue;'>Hello, Aspose!</h1>
<p>This is a sample paragraph with <b>bold</b>, <i>italic</i>, and <u>underlined</u> text.</p>
<p style='color:green;'>This paragraph is green.</p>
<a href='https://www.aspose.com' style='font-size:16px;'>Visit Aspose</a>
"""
html_fragment = ap.HtmlFragment(html_content)
page.paragraphs.add(html_fragment)
document.save(output_file_name)

Tambahkan HTML Fragment dengan status teks yang ditimpa
Seperti yang kita lihat pada contoh sebelumnya, memungkinkan untuk mengatur gaya secara langsung di kode HTML. Ini memiliki keuntungannya, tetapi juga beberapa kelemahan. Misalkan kita bekerja dengan HTML pelanggan dan ingin menyatukan tampilan output kita. Dalam kasus ini, kita dapat mengubah gaya pelanggan dengan menggunakan TextState kita sendiri, seperti yang ditunjukkan dalam contoh berikut.
- Buat dokumen baru dan halaman menggunakan ‘Document()’, dan ‘document.pages.add()’ untuk menambahkan halaman kosong.
- Siapkan Konten HTML. String HTML berisi heading h1 dengan font Verdana, paragraf berwarna hijau dengan teks tebal, miring, dan bergaris bawah, serta hyperlink ke situs web dengan ukuran font yang lebih besar.
- Buat Fragmen HTML. Bungkus string HTML dalam objek HtmlFragment.
- Timpa format teks. Buat objek TextState dan atur Font, Font Size, dan Text Color.
- Tambahkan fragmen HTML ke koleksi
paragraphshalaman. - Simpan Dokumen.
import math
import sys
import os
import aspose.pdf as ap
def add_html_fragment_override_text_state(output_file_name):
document = ap.Document()
page = document.pages.add()
html_content = """
<h1 style='color:blue;font-family:Verdana'>Hello, Aspose!</h1>
<p>This is a sample paragraph with <b>bold</b>, <i>italic</i>, and <u>underlined</u> text.</p>
<p style='color:green;'>This paragraph is green.</p>
<a href='https://www.aspose.com' style='font-size:16px;'>Visit Aspose</a>
"""
html_fragment = ap.HtmlFragment(html_content)
html_fragment.text_state = ap.text.TextState()
html_fragment.text_state.font = ap.text.FontRepository.find_font("Arial")
html_fragment.text_state.font_size = 14
html_fragment.text_state.foreground_color = ap.Color.red
page.paragraphs.add(html_fragment)
document.save(output_file_name)

Tambahkan Teks LaTeX ke Dokumen PDF
Tambahkan ekspresi matematika berformat LaTeX ke dokumen PDF menggunakan kelas TeXFragment dalam Aspose.PDF for Python via .NET. LaTeX adalah sistem typesetting yang kuat yang banyak digunakan untuk membuat dokumen ilmiah dan matematika. Dengan menggunakan TeXFragment, Anda dapat langsung merender notasi matematika dan simbol LaTeX di dalam halaman PDF.
- Buat dokumen baru dan halaman menggunakan ‘Document()’, dan ‘document.pages.add()’ untuk menambahkan halaman kosong.
- Gunakan kelas TeXFragment untuk merender sintaks LaTeX secara langsung.
- Tambahkan konten LaTeX ke tata letak PDF dengan ‘page.paragraphs.add()’.
- Simpan PDF.
import math
import sys
import os
import aspose.pdf as ap
def add_text_latex_fragment(output_file_name):
# Create a new document
document = ap.Document()
page = document.pages.add()
# Add a text fragment at a specific position
text_fragment = ap.TeXFragment(
"\\underbrace{\\overbrace{a+b}^6 \\cdot \\overbrace{c+d}^7}_\\text{example of text} = 42"
)
page.paragraphs.add(text_fragment)
document.save(output_file_name)

Font khusus
Gunakan Font khusus dari file
Contoh ini memungkinkan Anda menambahkan teks ke file PDF menggunakan font OpenType khusus dalam Aspose.PDF for Python via .NET. Ini menunjukkan cara membuat dokumen PDF baru, menempatkan teks secara tepat pada halaman, dan menerapkan pemformatan khusus seperti jenis font, ukuran, warna, dan gaya miring.
- Buat dokumen PDF baru dan tambahkan halaman.
- Tentukan konten teks yang ingin Anda tambahkan ke PDF.
- Atur posisi teks.
- Tambahkan TextFragment ke halaman.
- Simpan dokumen PDF.
Fungsi ini tidak hanya bekerja dengan font OTF tetapi juga dengan font TTF.
import math
import sys
import os
import aspose.pdf as ap
def use_custom_font_from_file(output_file_name):
font_path = os.path.join(FONT_DIR, "BriosoPro Italic.otf")
document = ap.Document()
page = document.pages.add()
fragment = ap.text.TextFragment("Hello, Aspose!")
fragment.position = ap.text.Position(100, 600)
fragment.text_state.font = ap.text.FontRepository.open_font(font_path)
fragment.text_state.font_size = 24
fragment.text_state.foreground_color = ap.Color.blue
fragment.text_state.font_style = ap.text.FontStyles.ITALIC
page.paragraphs.add(fragment)
document.save(output_file_name)

Gunakan Font khusus dari aliran
Potongan kode ini menunjukkan cara menambahkan teks ke dokumen PDF menggunakan font OpenType (OTF) khusus yang disematkan dengan Aspose.PDF for Python via .NET. Ini menunjukkan cara membuka file font sebagai aliran, menyematkannya ke dalam PDF untuk memastikan ketersediaan font di berbagai sistem, dan menerapkan pemformatan teks seperti ukuran font, warna, dan gaya miring. Pendekatan ini ideal untuk membuat PDF yang konsisten secara visual dan mempertahankan tipografi bahkan ketika dibagikan atau dilihat di perangkat tanpa font yang terpasang.
- Muat file font sebagai aliran biner.
- Buka dan sematkan font menggunakan ‘FontRepository.open_font’.
- Buat dokumen PDF baru dan tambahkan halaman.
- Tambahkan fragmen teks bergaya dengan:
- Font khusus tersemat.
- Gaya miring dan warna biru.
- Ukuran font tertentu dan posisi.
- Simpan dokumen akhir ke jalur output yang ditentukan.
import math
import sys
import os
import aspose.pdf as ap
def use_custom_font_from_stream(output_file_name):
font_path = os.path.join(FONT_DIR, "BriosoPro Italic.otf")
with open(font_path, "rb") as font_stream:
font = ap.text.FontRepository.open_font(font_stream, ap.text.FontTypes.OTF)
font.is_embedded = True
document = ap.Document()
page = document.pages.add()
fragment = ap.text.TextFragment("Hello, Aspose!")
fragment.position = ap.text.Position(100, 600)
fragment.text_state.font = font
fragment.text_state.font_size = 14
fragment.text_state.foreground_color = ap.Color.blue
fragment.text_state.font_style = ap.text.FontStyles.ITALIC
page.paragraphs.add(fragment)
document.save(output_file_name)
Menyematkan font memastikan rendering yang konsisten di semua platform, menjadikan pendekatan ini ideal untuk branding, kesetiaan desain, dan dukungan multibahasa.