Quản lý phông chữ trong bản trình bày bằng PHP

Quản lý các thuộc tính liên quan đến phông chữ

Để quản lý các thuộc tính phông chữ của một đoạn văn bản bằng cách sử dụng Aspose.Slides for PHP via Java:

  1. Tạo một thể hiện của lớp Presentation .
  2. Lấy tham chiếu của slide bằng cách sử dụng chỉ mục của nó.
  3. Truy cập các hình dạng Placeholder trong slide và chuyển kiểu chúng thành AutoShape .
  4. Lấy Paragraph từ TextFrame được hiển thị bởi AutoShape .
  5. Căn chỉnh đoạn văn.
  6. Truy cập Portion văn bản của một Paragraph .
  7. Xác định phông chữ bằng cách sử dụng FontData và đặt Font cho Portion văn bản tương ứng.
    1. Đặt phông chữ thành in đậm.
    2. Đặt phông chữ thành in nghiêng.
  8. Đặt màu phông chữ bằng cách sử dụng FillFormat được hiển thị bởi đối tượng Portion .
  9. Lưu bản trình bày đã chỉnh sửa thành tệp PPTX.

Việc thực hiện các bước trên được trình bày dưới đây. Nó nhận một bản trình bày chưa được định dạng và thiết lập phông chữ trên một trong các slide. Các ảnh chụp màn hình bên dưới cho thấy tệp đầu vào và cách các đoạn mã thay đổi nó. Mã thay đổi phông chữ, màu và kiểu phông chữ.

todo:image_alt_text
Hình: Văn bản trong tệp đầu vào
todo:image_alt_text
Hình: Văn bản với định dạng đã cập nhật
  # Khởi tạo một đối tượng Presentation đại diện cho tệp PPTX
  $pres = new Presentation("FontProperties.pptx");
  try {
    # Truy cập slide bằng vị trí slide của nó
    $slide = $pres->getSlides()->get_Item(0);
    # Truy cập placeholder đầu tiên và thứ hai trong slide và ép kiểu thành AutoShape
    $tf1 = $slide->getShapes()->get_Item(0)->getTextFrame();
    $tf2 = $slide->getShapes()->get_Item(1)->getTextFrame();
    # Truy cập đoạn văn đầu tiên
    $para1 = $tf1->getParagraphs()->get_Item(0);
    $para2 = $tf2->getParagraphs()->get_Item(0);
    # Căn chỉnh đoạn văn
    $para2->getParagraphFormat()->setAlignment(TextAlignment->JustifyLow);
    # Truy cập phần đầu tiên
    $port1 = $para1->getPortions()->get_Item(0);
    $port2 = $para2->getPortions()->get_Item(0);
    # Xác định phông chữ mới
    $fd1 = new FontData("Elephant");
    $fd2 = new FontData("Castellar");
    # Gán phông chữ mới cho phần
    $port1->getPortionFormat()->setLatinFont($fd1);
    $port2->getPortionFormat()->setLatinFont($fd2);
    # Đặt phông chữ in đậm
    $port1->getPortionFormat()->setFontBold(NullableBool::True);
    $port2->getPortionFormat()->setFontBold(NullableBool::True);
    # Đặt phông chữ in nghiêng
    $port1->getPortionFormat()->setFontItalic(NullableBool::True);
    $port2->getPortionFormat()->setFontItalic(NullableBool::True);
    # Đặt màu phông chữ
    $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);
    # Lưu PPTX vào đĩa
    $pres->save("WelcomeFont.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Đặt các thuộc tính phông chữ cho văn bản

Để tạo một hộp văn bản và đặt các thuộc tính phông chữ của văn bản trong đó:

  1. Tạo một thể hiện của lớp Presentation .
  2. Lấy tham chiếu của một slide bằng cách sử dụng chỉ mục của nó.
  3. Thêm một [AutoShape] loại Rectangle vào slide.
  4. Xóa kiểu đổ màu liên quan tới AutoShape .
  5. Truy cập [TextFrame] của AutoShape .
  6. Thêm một số văn bản vào TextFrame .
  7. Truy cập đối tượng Portion liên kết với TextFrame .
  8. Xác định phông chữ sẽ được sử dụng cho Portion .
  9. Đặt các thuộc tính phông chữ khác như in đậm, in nghiêng, gạch chân, màu và độ cao bằng cách sử dụng các thuộc tính tương ứng được cung cấp bởi đối tượng Portion .
  10. Ghi bản trình bày đã chỉnh sửa thành tệp PPTX.

Việc thực hiện các bước trên được trình bày dưới đây.

todo:image_alt_text
Hình: Văn bản với một số thuộc tính phông chữ được thiết lập bởi Aspose.Slides for PHP via Java
  # Khởi tạo một đối tượng Presentation đại diện cho tệp PPTX
  $pres = new Presentation();
  try {
    # Lấy slide đầu tiên
    $sld = $pres->getSlides()->get_Item(0);
    # Thêm một AutoShape kiểu Rectangle
    $ashp = $sld->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 200, 50);
    # Xóa bất kỳ kiểu đổ màu nào liên quan tới AutoShape
    $ashp->getFillFormat()->setFillType(FillType::NoFill);
    # Truy cập TextFrame liên kết với AutoShape
    $tf = $ashp->getTextFrame();
    $tf->setText("Aspose TextBox");
    # Truy cập Portion liên kết với TextFrame
    $port = $tf->getParagraphs()->get_Item(0)->getPortions()->get_Item(0);
    # Đặt Font cho Portion
    $port->getPortionFormat()->setLatinFont(new FontData("Times New Roman"));
    # Đặt thuộc tính Bold cho Font
    $port->getPortionFormat()->setFontBold(NullableBool::True);
    # Đặt thuộc tính Italic cho Font
    $port->getPortionFormat()->setFontItalic(NullableBool::True);
    # Đặt thuộc tính Underline cho Font
    $port->getPortionFormat()->setFontUnderline(TextUnderlineType::Single);
    # Đặt độ cao cho Font
    $port->getPortionFormat()->setFontHeight(25);
    # Đặt màu cho Font
    $port->getPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
    $port->getPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLUE);
    # Lưu bản trình bày vào đĩa
    $pres->save("pptxFont.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }