Kelola Font dalam Presentasi Menggunakan PHP

Untuk mengelola properti font paragraf menggunakan Aspose.Slides for PHP via Java:

  1. Buat sebuah instance dari kelas Presentation.
  2. Dapatkan referensi slide dengan menggunakan indeksnya.
  3. Akses bentuk Placeholder pada slide dan lakukan typecast ke AutoShape.
  4. Dapatkan Paragraph dari TextFrame yang disediakan oleh AutoShape.
  5. Justify paragraf.
  6. Akses Portion teks milik sebuah Paragraph.
  7. Definisikan font menggunakan FontData dan atur Font dari Portion secara sesuai.
    1. Atur font menjadi tebal (bold).
    2. Atur font menjadi miring (italic).
  8. Atur warna font menggunakan FillFormat yang disediakan oleh objek Portion.
  9. Simpan presentasi yang telah dimodifikasi ke file PPTX.

Implementasi langkah‑langkah di atas diberikan di bawah ini. Contoh ini mengambil presentasi standar dan memformat font pada salah satu slide. Tangkapan layar berikut memperlihatkan file input serta cara cuplikan kode mengubahnya. Kode mengubah font, warna, dan gaya font.

todo:image_alt_text
Figure: Teks dalam file input
todo:image_alt_text
Figure: Teks yang sama dengan pemformatan yang diperbarui
  # Membuat objek Presentation yang mewakili file PPTX
  $pres = new Presentation("FontProperties.pptx");
  try {
    # Mengakses slide menggunakan posisinya
    $slide = $pres->getSlides()->get_Item(0);
    # Mengakses placeholder pertama dan kedua dalam slide dan melakukan typecast menjadi AutoShape
    $tf1 = $slide->getShapes()->get_Item(0)->getTextFrame();
    $tf2 = $slide->getShapes()->get_Item(1)->getTextFrame();
    # Mengakses Paragraph pertama
    $para1 = $tf1->getParagraphs()->get_Item(0);
    $para2 = $tf2->getParagraphs()->get_Item(0);
    # Menjustifikasi paragraf
    $para2->getParagraphFormat()->setAlignment(TextAlignment->JustifyLow);
    # Mengakses portion pertama
    $port1 = $para1->getPortions()->get_Item(0);
    $port2 = $para2->getPortions()->get_Item(0);
    # Mendefinisikan font baru
    $fd1 = new FontData("Elephant");
    $fd2 = new FontData("Castellar");
    # Menetapkan font baru ke portion
    $port1->getPortionFormat()->setLatinFont($fd1);
    $port2->getPortionFormat()->setLatinFont($fd2);
    # Mengatur font menjadi Bold
    $port1->getPortionFormat()->setFontBold(NullableBool::True);
    $port2->getPortionFormat()->setFontBold(NullableBool::True);
    # Mengatur font menjadi Italic
    $port1->getPortionFormat()->setFontItalic(NullableBool::True);
    $port2->getPortionFormat()->setFontItalic(NullableBool::True);
    # Mengatur warna font
    $port1->getPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
    $port1->getPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLUE);
    $port2->getPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
    $port2->getPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->GREEN);
    # Menyimpan PPTX ke disk
    $pres->save("WelcomeFont.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Set Text Font Properties

Untuk membuat kotak teks dan mengatur properti font teks di dalamnya:

  1. Buat sebuah instance dari kelas Presentation.
  2. Dapatkan referensi slide dengan menggunakan indeksnya.
  3. Tambahkan sebuah AutoShape berjenis Rectangle ke slide.
  4. Hapus gaya isi yang terkait dengan AutoShape.
  5. Akses TextFrame milik AutoShape.
  6. Tambahkan beberapa teks ke TextFrame.
  7. Akses objek Portion yang terkait dengan TextFrame.
  8. Definisikan font yang akan digunakan untuk Portion.
  9. Atur properti font lain seperti bold, italic, underline, warna, dan tinggi menggunakan properti yang relevan yang disediakan oleh objek Portion.
  10. Tulis presentasi yang telah dimodifikasi sebagai file PPTX.

Implementasi langkah‑langkah di atas diberikan di bawah ini.

todo:image_alt_text
Figure: Teks dengan beberapa properti font yang diatur oleh Aspose.Slides for PHP via Java
  # Membuat objek Presentation yang mewakili file PPTX
  $pres = new Presentation();
  try {
    # Dapatkan slide pertama
    $sld = $pres->getSlides()->get_Item(0);
    # Tambahkan AutoShape bertipe Rectangle
    $ashp = $sld->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 200, 50);
    # Hapus semua gaya isi yang terkait dengan AutoShape
    $ashp->getFillFormat()->setFillType(FillType::NoFill);
    # Akses TextFrame yang terkait dengan AutoShape
    $tf = $ashp->getTextFrame();
    $tf->setText("Aspose TextBox");
    # Akses Portion yang terkait dengan TextFrame
    $port = $tf->getParagraphs()->get_Item(0)->getPortions()->get_Item(0);
    # Atur Font untuk Portion
    $port->getPortionFormat()->setLatinFont(new FontData("Times New Roman"));
    # Atur properti Bold pada Font
    $port->getPortionFormat()->setFontBold(NullableBool::True);
    # Atur properti Italic pada Font
    $port->getPortionFormat()->setFontItalic(NullableBool::True);
    # Atur properti Underline pada Font
    $port->getPortionFormat()->setFontUnderline(TextUnderlineType::Single);
    # Atur Tinggi Font
    $port->getPortionFormat()->setFontHeight(25);
    # Atur warna Font
    $port->getPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
    $port->getPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLUE);
    # Simpan presentasi ke disk
    $pres->save("pptxFont.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }