Spravovat písma v prezentacích pomocí PHP

Spravovat vlastnosti související s písmem

Pro správu vlastností písma odstavce pomocí Aspose.Slides pro PHP prostřednictvím Javy:

  1. Vytvořte instanci třídy Presentation.
  2. Získejte odkaz na snímek pomocí jeho indexu.
  3. Přistupte k tvarům Placeholder na snímku a přetypujte je na AutoShape.
  4. Získejte Paragraph z TextFrame poskytovaného objektem AutoShape.
  5. Zarovnejte odstavec do bloku.
  6. Přistupte k Portion textu Paragraph.
  7. Definujte písmo pomocí FontData a podle toho nastavte Font textové Portion.
    1. Nastavte písmo na tučné.
    2. Nastavte písmo na kurzívu.
  8. Nastavte barvu písma pomocí FillFormat poskytovaného objektem Portion.
  9. Uložte upravenou prezentaci do souboru PPTX.

Implementace výše uvedených kroků je uvedena níže. Bere nepřizpůsobenou prezentaci a formátuje písma na jednom ze snímků. Následující snímky obrazovky ukazují vstupní soubor a jak jej kódové úryvky mění. Kód mění písmo, barvu a styl písma.

todo:image_alt_text
Obrázek: Text ve vstupním souboru
todo:image_alt_text
Obrázek: Stejný text s aktualizovaným formátováním
  # Vytvořte objekt Presentation, který představuje soubor PPTX
  $pres = new Presentation("FontProperties.pptx");
  try {
    # Přístup k snímku pomocí jeho pozice
    $slide = $pres->getSlides()->get_Item(0);
    # Přístup k prvnímu a druhému placeholderu na snímku a přetypování na AutoShape
    $tf1 = $slide->getShapes()->get_Item(0)->getTextFrame();
    $tf2 = $slide->getShapes()->get_Item(1)->getTextFrame();
    # Přístup k prvnímu odstavci
    $para1 = $tf1->getParagraphs()->get_Item(0);
    $para2 = $tf2->getParagraphs()->get_Item(0);
    # Zarovnat odstavec do bloku
    $para2->getParagraphFormat()->setAlignment(TextAlignment->JustifyLow);
    # Přístup k prvnímu úseku
    $port1 = $para1->getPortions()->get_Item(0);
    $port2 = $para2->getPortions()->get_Item(0);
    # Definovat nová písma
    $fd1 = new FontData("Elephant");
    $fd2 = new FontData("Castellar");
    # Přiřadit nová písma k úseku
    $port1->getPortionFormat()->setLatinFont($fd1);
    $port2->getPortionFormat()->setLatinFont($fd2);
    # Nastavit písmo na tučné
    $port1->getPortionFormat()->setFontBold(NullableBool::True);
    $port2->getPortionFormat()->setFontBold(NullableBool::True);
    # Nastavit písmo na kurzívu
    $port1->getPortionFormat()->setFontItalic(NullableBool::True);
    $port2->getPortionFormat()->setFontItalic(NullableBool::True);
    # Nastavit barvu písma
    $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);
    # Uložit PPTX na disk
    $pres->save("WelcomeFont.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Nastavit vlastnosti písma textu

Pro vytvoření textového pole a nastavení vlastností písma textu v něm:

  1. Vytvořte instanci třídy Presentation.
  2. Získejte odkaz na snímek pomocí jeho indexu.
  3. Přidejte na snímek AutoShape typu Rectangle.
  4. Odstraňte výplňový styl spojený s AutoShape.
  5. Přistupte k TextFrame objektu AutoShape.
  6. Přidejte nějaký text do TextFrame.
  7. Přistupte k objektu Portion souvisejícímu s TextFrame.
  8. Definujte písmo, které se použije pro Portion.
  9. Nastavte další vlastnosti písma, jako tučné, kurzíva, podtržení, barva a výška, pomocí příslušných vlastností zpřístupněných objektem Portion.
  10. Uložte upravenou prezentaci jako soubor PPTX.

Implementace výše uvedených kroků je uvedena níže.

todo:image_alt_text
Obrázek: Text s některými nastavenými vlastnostmi písma pomocí Aspose.Slides pro PHP prostřednictvím Javy
  # Vytvořit objekt Presentation, který představuje soubor PPTX
  $pres = new Presentation();
  try {
    # Získat první snímek
    $sld = $pres->getSlides()->get_Item(0);
    # Přidat AutoShape typu Rectangle
    $ashp = $sld->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 200, 50);
    # Odebrat jakýkoli výplňový styl spojený s AutoShape
    $ashp->getFillFormat()->setFillType(FillType::NoFill);
    # Přístup k TextFrame spojenému s AutoShape
    $tf = $ashp->getTextFrame();
    $tf->setText("Aspose TextBox");
    # Přístup k Portion spojenému s TextFrame
    $port = $tf->getParagraphs()->get_Item(0)->getPortions()->get_Item(0);
    # Nastavit písmo pro Portion
    $port->getPortionFormat()->setLatinFont(new FontData("Times New Roman"));
    # Nastavit vlastnost tučného písma
    $port->getPortionFormat()->setFontBold(NullableBool::True);
    # Nastavit vlastnost kurzívy písma
    $port->getPortionFormat()->setFontItalic(NullableBool::True);
    # Nastavit vlastnost podtržení písma
    $port->getPortionFormat()->setFontUnderline(TextUnderlineType::Single);
    # Nastavit výšku písma
    $port->getPortionFormat()->setFontHeight(25);
    # Nastavit barvu písma
    $port->getPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
    $port->getPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLUE);
    # Uložit prezentaci na disk
    $pres->save("pptxFont.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }