Tingkatkan Presentasi Anda dengan AutoFit di Python
Pendahuluan
Secara default, saat Anda menambahkan kotak teks, Microsoft PowerPoint menggunakan pengaturan Resize shape to fit text untuk kotak teks—secara otomatis mengubah ukuran kotak teks untuk memastikan teksnya selalu sesuai.

- Ketika teks dalam kotak teks menjadi lebih panjang atau lebih besar, PowerPoint secara otomatis memperbesar kotak teks—meningkatkan tinggiannya—untuk menampung lebih banyak teks.
- Ketika teks dalam kotak teks menjadi lebih pendek atau lebih kecil, PowerPoint secara otomatis memperkecil kotak teks—menurunkan tinggiannya—untuk menghilangkan ruang berlebih.
Di PowerPoint, berikut ini adalah 4 parameter atau opsi penting yang mengontrol perilaku autofit untuk kotak teks:
- Do not Autofit
- Shrink text on overflow
- Resize shape to fit text
- Wrap text in shape.

Aspose.Slides for Python via Java menyediakan opsi serupa—beberapa properti di bawah kelas TextFrameFormat—yang memungkinkan Anda mengontrol perilaku autofit untuk kotak teks dalam presentasi.
Ubah Ukuran Bentuk agar Sesuai dengan Teks
Jika Anda ingin teks dalam sebuah kotak selalu sesuai dengan kotak tersebut setelah perubahan teks, Anda harus menggunakan opsi Resize shape to fit text. Untuk menentukan pengaturan ini, gunakan metode setAutofitType (dari kelas TextFrameFormat) dengan Shape.

Kode Python ini menunjukkan cara menentukan bahwa teks harus selalu sesuai dengan kotaknya dalam presentasi PowerPoint:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, ShapeType, Portion, FillType, TextAutofitType, SaveFormat
from java.awt import Color
presentation = Presentation()
try:
slide = presentation.getSlides().get_Item(0)
auto_shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 30, 30, 350, 100)
portion = Portion("lorem ipsum...")
portion.getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK)
portion.getPortionFormat().getFillFormat().setFillType(FillType.Solid)
auto_shape.getTextFrame().getParagraphs().get_Item(0).getPortions().add(portion)
text_frame_format = auto_shape.getTextFrame().getTextFrameFormat()
text_frame_format.setAutofitType(TextAutofitType.Shape)
presentation.save("Output-presentation.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Jika teks menjadi lebih panjang atau lebih besar, kotak teks akan secara otomatis diubah ukurannya (tinggi bertambah) untuk memastikan semua teks muat. Jika teks menjadi lebih pendek, hal sebaliknya terjadi.
Jangan Autofit
Jika Anda ingin kotak teks atau bentuk mempertahankan dimensinya terlepas dari perubahan teks di dalamnya, Anda harus menggunakan opsi Do not Autofit. Untuk menentukan pengaturan ini, gunakan metode setAutofitType (dari kelas TextFrameFormat) dengan None.

Kode Python ini menunjukkan cara menentukan bahwa kotak teks harus selalu mempertahankan dimensinya dalam presentasi PowerPoint:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, ShapeType, Portion, FillType, TextAutofitType, SaveFormat
from java.awt import Color
presentation = Presentation()
try:
slide = presentation.getSlides().get_Item(0)
auto_shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 30, 30, 350, 100)
portion = Portion("lorem ipsum...")
portion.getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK)
portion.getPortionFormat().getFillFormat().setFillType(FillType.Solid)
auto_shape.getTextFrame().getParagraphs().get_Item(0).getPortions().add(portion)
text_frame_format = auto_shape.getTextFrame().getTextFrameFormat()
text_frame_format.setAutofitType(TextAutofitType.None_)
presentation.save("Output-presentation.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Ketika teks menjadi terlalu panjang untuk kotaknya, teks akan meluber keluar.
Kecilkan Teks saat Melebihi
Jika teks menjadi terlalu panjang untuk kotaknya, Anda dapat menggunakan opsi Shrink text on overflow untuk menentukan bahwa ukuran dan jarak teks harus diperkecil agar muat dalam kotak. Untuk menentukan pengaturan ini, gunakan metode setAutofitType (dari kelas TextFrameFormat) dengan Normal.

Kode Python ini menunjukkan cara menentukan bahwa teks harus diperkecil saat melebihi dalam presentasi PowerPoint:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, ShapeType, Portion, FillType, TextAutofitType, SaveFormat
from java.awt import Color
presentation = Presentation()
try:
slide = presentation.getSlides().get_Item(0)
auto_shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 30, 30, 350, 100)
portion = Portion("lorem ipsum...")
portion.getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK)
portion.getPortionFormat().getFillFormat().setFillType(FillType.Solid)
auto_shape.getTextFrame().getParagraphs().get_Item(0).getPortions().add(portion)
text_frame_format = auto_shape.getTextFrame().getTextFrameFormat()
text_frame_format.setAutofitType(TextAutofitType.Normal)
presentation.save("Output-presentation.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Note
Saat opsi Shrink text on overflow digunakan, pengaturan hanya diterapkan ketika teks menjadi terlalu panjang untuk kotaknya.Bungkus Teks
Jika Anda ingin teks dalam sebuah bentuk membungkus di dalam bentuk tersebut ketika teks melewati batas lebar bentuk, Anda harus menggunakan parameter Wrap text in shape. Untuk menentukan pengaturan ini, gunakan metode setWrapText (dari kelas TextFrameFormat) dengan NullableBool.True_.
Kode Python ini menunjukkan cara menggunakan pengaturan Wrap Text dalam presentasi PowerPoint:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, ShapeType, Portion, FillType, NullableBool, SaveFormat
from java.awt import Color
presentation = Presentation()
try:
slide = presentation.getSlides().get_Item(0)
auto_shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 30, 30, 350, 100)
portion = Portion("lorem ipsum...")
portion.getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK)
portion.getPortionFormat().getFillFormat().setFillType(FillType.Solid)
auto_shape.getTextFrame().getParagraphs().get_Item(0).getPortions().add(portion)
text_frame_format = auto_shape.getTextFrame().getTextFrameFormat()
text_frame_format.setWrapText(NullableBool.True_)
presentation.save("Output-presentation.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Warning
Jika Anda menggunakan metode setWrapText dengan NullableBool.False untuk sebuah bentuk, ketika teks di dalam bentuk menjadi lebih panjang daripada lebar bentuk, teks akan meluas melampaui batas bentuk dalam satu baris tunggal.FAQ
Apakah margin internal bingkai teks memengaruhi AutoFit?
Ya. Padding (margin internal) mengurangi area yang dapat digunakan untuk teks, sehingga AutoFit akan aktif lebih awal—mengecilkan font atau mengubah ukuran bentuk lebih cepat. Periksa dan sesuaikan margin sebelum menyetel AutoFit.
Bagaimana AutoFit berinteraksi dengan jeda baris manual dan lunak?
Jeda paksa tetap ada, dan AutoFit menyesuaikan ukuran font serta jarak di sekitarnya. Menghapus jeda yang tidak diperlukan sering kali mengurangi tingkat agresif AutoFit dalam mengecilkan teks.
Apakah mengubah font tema atau memicu substitusi font memengaruhi hasil AutoFit?
Ya. Mengganti font dengan metrik glyph yang berbeda mengubah lebar/tinggi teks, yang dapat mengubah ukuran font akhir dan pembungkus baris. Setelah perubahan atau substitusi font apa pun, tinjau kembali slide.