Dapatkan Batas Paragraf dari Presentasi di Python
Gambaran Umum
Artikel ini menjelaskan cara mendapatkan batas, ukuran, dan koordinat paragraf di Aspose.Slides. Artikel ini menunjukkan cara mengambil persegi panjang paragraf dari sebuah TextFrame dengan menggunakan Paragraph.get_rect, cara mendapatkan koordinat paragraf di dalam bingkai teks sel tabel, serta menyoroti detail penting seperti satuan pengukuran, pengaruh pembungkus teks terhadap batas, konversi piksel, dan nilai format paragraf yang efektif.
Dapatkan Koordinat Persegi Panjang Paragraf
Gunakan Paragraph.get_rect untuk mendapatkan persegi panjang pembatas sebuah paragraf.
import aspose.slides as slides
with slides.Presentation("Shapes.pptx") as presentation:
slide = presentation.slides[0]
shape = slide.shapes[0]
paragraph = shape.text_frame.paragraphs[0]
rectangle = paragraph.get_rect()
Dapatkan Ukuran Paragraf di Dalam TextFrame Sel Tabel
Untuk mendapatkan ukuran dan koordinat sebuah Paragraph dalam text frame sel tabel, gunakan Paragraph.get_rect. Persegi panjang yang dikembalikan relatif terhadap text frame sel tabel, sehingga tambahkan posisi tabel dan offset sel bila Anda memerlukan koordinat pada tingkat slide.
Contoh berikut mendapatkan batas paragraf di dalam sel tabel dan menggambar persegi panjang pada slide untuk memvisualisasikan batas tersebut:
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation("source.pptx") as presentation:
slide = presentation.slides[0]
table = slide.shapes[0]
cell = table.rows[1][1]
cell_x = table.x + cell.offset_x
cell_y = table.y + cell.offset_y
for paragraph in cell.text_frame.paragraphs:
if paragraph.text == "":
continue
paragraph_rectangle = paragraph.get_rect()
paragraph_rectangle_x = paragraph_rectangle.x + cell_x
paragraph_rectangle_y = paragraph_rectangle.y + cell_y
paragraph_bounds_shape = slide.shapes.add_auto_shape(
slides.ShapeType.RECTANGLE,
paragraph_rectangle_x,
paragraph_rectangle_y,
paragraph_rectangle.width,
paragraph_rectangle.height)
paragraph_bounds_shape.fill_format.fill_type = slides.FillType.NO_FILL
paragraph_bounds_shape.line_format.fill_format.solid_fill_color.color = draw.Color.yellow
paragraph_bounds_shape.line_format.fill_format.fill_type = slides.FillType.SOLID
presentation.save("output.pptx", slides.export.SaveFormat.PPTX)
FAQ
Dalam satuan apa koordinat paragraf diukur?
Koordinat diukur dalam poin, di mana 1 inci sama dengan 72 poin. Ini berlaku untuk semua koordinat dan dimensi pada slide.
Apakah pembungkus kata memengaruhi batas paragraf?
Ya. Jika TextFrameFormat.wrap_text diaktifkan untuk TextFrame, teks akan dipotong agar sesuai dengan lebar area, yang mengubah batas aktual paragraf.
Apakah koordinat paragraf dapat dipetakan secara andal ke piksel dalam gambar yang diekspor?
Ya. Konversi poin ke piksel menggunakan rumus berikut: pixels = points x (DPI / 72). Hasilnya tergantung pada DPI yang dipilih untuk render atau ekspor.
Bagaimana cara saya mendapatkan parameter format paragraf “effective”, dengan memperhitungkan warisan gaya?
Gunakan effective paragraph formatting data structure; ini mengembalikan nilai akhir yang dikonsolidasikan untuk indentasi, spasi, pembungkus, RTL, dan lainnya.