使用 PHP 管理簡報中的文字片段

簡介

文字片段代表段落內的特定文字片段,並允許您獨立於周圍內容對該片段進行操作。 在 Aspose.Slides 中,當您需要取得文字片段的位置、僅對段落的一部分套用格式,或在更細緻的層級控制文字行為時,可使用片段。

取得文字片段的座標

getCoordinates() 方法已添加至 Portion 類別,可取得片段起始位置的座標。

  # 實例化代表 PPTX 的 Prseetation 類別
  $pres = new Presentation();
  try {
    # 重新塑造簡報的上下文
    $shape = $pres->getSlides()->get_Item(0)->getShapes()->get_Item(0);
    $textFrame = $shape->getTextFrame();
    foreach($textFrame->getParagraphs() as $paragraph) {
      foreach($paragraph->getPortions() as $portion) {
        $point = $portion->getCoordinates();
        echo("X: " . $point->$x . " Y: " . $point->$y);
      }
    }
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

常見問題

我可以僅對單一段落內的部分文字套用超連結嗎?

是的,您可以將 指派超連結 套用至單一片段;只有該片段會變成可點擊,而不是整段文字。

樣式繼承如何運作:Portion 會覆寫哪些屬性,哪些則取自 Paragraph/TextFrame?

Portion 級別的屬性具有最高優先權。若屬性未在 Portion 上設定,引擎會從 Paragraph 取得;若該處也未設定,則會取自 TextFrametheme 樣式。

如果在目標機器/伺服器上缺少為 Portion 指定的字型,會發生什麼情況?

會套用 字型替代規則。文字可能會重新排版:度量、斷字與寬度可能改變,這會影響精確定位。

我可以為特定 Portion 設定文字填充透明度或漸層,而不受段落其他部分影響嗎?

是的,在 Portion 層級的文字顏色、填充與透明度可以與相鄰的片段不同。