PHP를 사용한 프레젠테이션 글꼴 관리

글꼴 관련 속성 관리

Aspose.Slides for PHP via Java를 사용하여 단락의 글꼴 속성을 관리하려면:

  1. Presentation 클래스의 인스턴스를 생성합니다.
  2. 인덱스를 사용하여 슬라이드의 참조를 가져옵니다.
  3. 슬라이드의 Placeholder 모양에 접근하고 이를 AutoShape으로 형변환합니다.
  4. AutoShape가 제공하는 TextFrame에서 Paragraph를 가져옵니다.
  5. 단락을 양쪽 정렬합니다.
  6. Paragraph의 텍스트 Portion에 접근합니다.
  7. FontData를 사용하여 글꼴을 정의하고 텍스트 PortionFont를 해당하게 설정합니다.
    1. 글꼴을 굵게 설정합니다.
    2. 글꼴을 이탤릭체로 설정합니다.
  8. Portion 객체가 제공하는 FillFormat을 사용하여 글꼴 색상을 설정합니다.
  9. 수정된 프레젠테이션을 PPTX 파일로 저장합니다.

위 단계들의 구현 예는 아래에 제공됩니다. 기본 프레젠테이션을 가져와 슬라이드 중 하나의 글꼴을 형식화합니다. 다음 스크린샷은 입력 파일과 코드 스니펫이 어떻게 변경하는지를 보여줍니다. 코드는 글꼴, 색상 및 글꼴 스타일을 변경합니다.

todo:image_alt_text
Figure: 입력 파일의 텍스트
todo:image_alt_text
Figure: 업데이트된 서식이 적용된 동일 텍스트
  # PPTX 파일을 나타내는 Presentation 객체 인스턴스화
  $pres = new Presentation("FontProperties.pptx");
  try {
    # 슬라이드 위치를 사용하여 슬라이드에 접근
    $slide = $pres->getSlides()->get_Item(0);
    # 슬라이드에서 첫 번째와 두 번째 자리 표시자에 접근하고 AutoShape로 형변환
    $tf1 = $slide->getShapes()->get_Item(0)->getTextFrame();
    $tf2 = $slide->getShapes()->get_Item(1)->getTextFrame();
    # 첫 번째 단락에 접근
    $para1 = $tf1->getParagraphs()->get_Item(0);
    $para2 = $tf2->getParagraphs()->get_Item(0);
    # 단락을 양쪽 정렬
    $para2->getParagraphFormat()->setAlignment(TextAlignment->JustifyLow);
    # 첫 번째 구절에 접근
    $port1 = $para1->getPortions()->get_Item(0);
    $port2 = $para2->getPortions()->get_Item(0);
    # 새 글꼴 정의
    $fd1 = new FontData("Elephant");
    $fd2 = new FontData("Castellar");
    # 구절에 새 글꼴 할당
    $port1->getPortionFormat()->setLatinFont($fd1);
    $port2->getPortionFormat()->setLatinFont($fd2);
    # 글꼴을 굵게 설정
    $port1->getPortionFormat()->setFontBold(NullableBool::True);
    $port2->getPortionFormat()->setFontBold(NullableBool::True);
    # 글꼴을 이탤릭체로 설정
    $port1->getPortionFormat()->setFontItalic(NullableBool::True);
    $port2->getPortionFormat()->setFontItalic(NullableBool::True);
    # 글꼴 색상 설정
    $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);
    # PPTX를 디스크에 저장
    $pres->save("WelcomeFont.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

텍스트 글꼴 속성 설정

텍스트 상자를 만들고 그 안의 텍스트에 대한 글꼴 속성을 설정하려면:

  1. Presentation 클래스의 인스턴스를 생성합니다.
  2. 인덱스를 사용하여 슬라이드의 참조를 얻습니다.
  3. 슬라이드에 Rectangle 유형의 AutoShape를 추가합니다.
  4. AutoShape와 연결된 채우기 스타일을 제거합니다.
  5. AutoShapeTextFrame에 접근합니다.
  6. TextFrame에 텍스트를 추가합니다.
  7. TextFrame와 연결된 Portion 객체에 접근합니다.
  8. Portion에 사용할 글꼴을 정의합니다.
  9. Portion 객체가 제공하는 관련 속성을 사용하여 굵게, 이탤릭체, 밑줄, 색상 및 높이와 같은 기타 글꼴 속성을 설정합니다.
  10. 수정된 프레젠테이션을 PPTX 파일로 저장합니다.

위 단계들의 구현 예는 아래에 제공됩니다.

todo:image_alt_text
Figure: Aspose.Slides for PHP via Java에 의해 일부 글꼴 속성이 설정된 텍스트
  # PPTX 파일을 나타내는 Presentation 객체를 인스턴스화
  $pres = new Presentation();
  try {
    # 첫 번째 슬라이드 가져오기
    $sld = $pres->getSlides()->get_Item(0);
    # Rectangle 유형의 AutoShape 추가
    $ashp = $sld->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 200, 50);
    # AutoShape와 연결된 모든 채우기 스타일 제거
    $ashp->getFillFormat()->setFillType(FillType::NoFill);
    # AutoShape와 연결된 TextFrame에 접근
    $tf = $ashp->getTextFrame();
    $tf->setText("Aspose TextBox");
    # TextFrame와 연결된 Portion에 접근
    $port = $tf->getParagraphs()->get_Item(0)->getPortions()->get_Item(0);
    # Portion에 대한 글꼴 설정
    $port->getPortionFormat()->setLatinFont(new FontData("Times New Roman"));
    # 글꼴의 굵게 속성 설정
    $port->getPortionFormat()->setFontBold(NullableBool::True);
    # 글꼴의 이탤릭체 속성 설정
    $port->getPortionFormat()->setFontItalic(NullableBool::True);
    # 글꼴의 밑줄 속성 설정
    $port->getPortionFormat()->setFontUnderline(TextUnderlineType::Single);
    # 글꼴 높이 설정
    $port->getPortionFormat()->setFontHeight(25);
    # 글꼴 색상 설정
    $port->getPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
    $port->getPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLUE);
    # 프레젠테이션을 디스크에 저장
    $pres->save("pptxFont.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }