Kelola Teks Presentasi di Node.js via .NET
Gambaran Umum
Di Aspose.Slides, teks pada slide menjadi bagian dari sebuah shape. Sebuah auto shape, seperti persegi panjang, memiliki teks frame; teks frame berisi paragraf, dan setiap paragraf berisi portion, yaitu rangkaian teks dengan format yang sama. Anda mengubah teks melalui teks frame dan mengubah font melalui format portion.
Artikel ini menambahkan kotak teks ke sebuah slide dan menyimpan presentasi. Kemudian membuka file yang disimpan dan mengubah teks, ukuran font, serta gaya tebal kotak teks tersebut.
Contoh‑contoh memerlukan proyek yang disiapkan seperti yang dijelaskan dalam Instalasi. Simpan setiap contoh sebagai file .js di folder proyek dan jalankan dari folder itu dengan node.
Note
Aspose.Slides untuk Node.js via .NET tidak memiliki referensi API tersendiri. Ia mencerminkan API Aspose.Slides untuk .NET dengan nama camelCase, sehingga tautan API dalam artikel ini mengarah ke kelas dan anggota yang sesuai dalam referensi API Aspose.Slides untuk .NET.Menambahkan Kotak Teks
Untuk menambahkan kotak teks, tambahkan auto shape ke slide dengan metode addAutoShape dan berikan teks dengan metode addTextFrame. Contoh berikut menambahkan persegi panjang ke slide pertama dari presentasi baru dan menyimpan presentasi sebagai text-box.pptx:
const { Presentation, ShapeType, SaveFormat } = require("aspose.slides.via.net");
const presentation = new Presentation();
try {
const slide = presentation.slides.get(0);
// Posisi (x, y) dan ukuran (lebar, tinggi) dalam satuan poin.
const textBox = slide.shapes.addAutoShape(ShapeType.Rectangle, 100, 100, 500, 80);
textBox.addTextFrame("Quarterly report");
presentation.save("text-box.pptx", SaveFormat.Pptx);
console.log("Saved text-box.pptx");
} finally {
presentation.dispose();
}
Slide dalam text-box.pptx berisi persegi panjang berukuran 500 poin lebar dan 80 poin tinggi, dengan teks “Quarterly report” menggunakan font dan ukuran default. Contoh berikutnya mengubah kotak teks ini.
Mengubah Teks dan Pemformatannya
Contoh berikut membuka text-box.pptx, yang dibuat pada contoh sebelumnya, dan mengambil shape pertama pada slide pertama. Shape seperti gambar dan tabel tidak memiliki teks frame, sehingga contoh memeriksa apakah shape tersebut merupakan AutoShape sebelum menggunakan textFrame milik shape. Selanjutnya dilakukan hal‑hal berikut:
- Mengganti teks melalui properti text pada teks frame. Setelah itu, teks frame berisi satu paragraf dengan satu portion.
- Mengambil portion tersebut dari koleksi paragraphs dan portions serta membaca portionFormat.
- Menetapkan fontHeight, ukuran font dalam poin, dan fontBold, yang menerima nilai NullableBool.
const { Presentation, AutoShape, NullableBool, SaveFormat } = require("aspose.slides.via.net");
const presentation = new Presentation("text-box.pptx");
try {
const shape = presentation.slides.get(0).shapes.get(0);
if (shape instanceof AutoShape) {
const textFrame = shape.textFrame;
textFrame.text = "Quarterly report: third quarter";
const portionFormat = textFrame.paragraphs.get(0).portions.get(0).portionFormat;
portionFormat.fontHeight = 32;
portionFormat.fontBold = NullableBool.True;
presentation.save("text-box-updated.pptx", SaveFormat.Pptx);
console.log("Saved text-box-updated.pptx");
} else {
console.log("The first shape on the first slide is not an AutoShape.");
}
} finally {
presentation.dispose();
}
Dalam text-box-updated.pptx, kotak teks menampilkan “Quarterly report: third quarter” dengan tipe tebal 32 poin. Karena teks baru merupakan satu portion, dua properti pemformatan diterapkan ke seluruhnya. Tanpa lisensi, setiap penyimpanan menambahkan watermark evaluasi. Karena text-box.pptx sendiri disimpan dalam mode evaluasi, text-box-updated.pptx berisi dua watermark; lihat Evaluasi Aspose.Slides.
FAQ
Mengapa fontBold menerima nilai NullableBool bukan true atau false?
Sebuah portion dapat membiarkan properti tidak terdefinisi dan mewarisinya dari paragraf, shape, atau tata letak dan master slide. NullableBool.NotDefined berarti “inherit”, sedangkan NullableBool.True dan NullableBool.False menggantikan nilai yang diwarisi. Menetapkan true atau false akan menghasilkan error. Untuk alasan yang sama, fontHeight mengembalikan NaN ketika portion mewarisi ukuran font.
Bagaimana cara mengubah warna teks?
Setel isian format portion: berikan FillType.Solid ke portionFormat.fillFormat.fillType, lalu berikan warna seperti "#FF0000" ke portionFormat.fillFormat.solidFillColor.color. Tambahkan FillType ke nama‑nama yang Anda impor dari paket.
Bagaimana cara memformat hanya sebagian teks?
Pemformatan berlaku pada portions, jadi tempatkan bagian teks yang ingin diformat dalam portion tersendiri. Buat portion dengan Portion.CreatePortionFromText, tambahkan ke paragraf menggunakan metode add pada koleksi portions paragraf, lalu setel portionFormat untuk portion baru tersebut. Tambahkan Portion ke nama‑nama yang Anda impor dari paket.
Mengapa membaca teks mengembalikan “… text has been truncated due to evaluation version limitation”?
Tanpa lisensi, Aspose.Slides hanya mengembalikan lima karakter pertama dari teks yang lebih panjang saat Anda membacanya, seperti textFrame.text, diikuti pemberitahuan ini. Teks yang Anda tulis disimpan secara penuh. Terapkan lisensi sebagaimana dijelaskan dalam Lisensi untuk membaca teks lengkap.