使用 JavaScript 管理簡報中的文字片段
Contents
[
Hide
]
概述
文字片段(Portion)代表段落內特定的文字片段,讓您能夠獨立於其餘內容對該片段進行操作。在 Aspose.Slides 中,當您需要取得文字片段的位置、僅對段落的一部份套用格式,或在更細緻的層級控制文字行為時,就可以使用 Portion。
本文說明如何使用 getCoordinates() 方法取得片段起始點的座標,並闡述常見的 Portion 相關情境,例如對單一文字片段套用超連結、了解格式如何透過 Portion、Paragraph、TextFrame 以及主題(theme)繼承而解析,以及處理指定字型在目標機器/伺服器上不存在的情況。另外,也說明在同一段落中,個別 Portion 可以設定不同的文字填色、顏色與透明度。
取得 Portion 的位置座標
getCoordinates() 方法已新增至 Portion 類別,允許取得片段起始點的座標。
// 實例化代表 PPTX 的 Presentation 類別
var pres = new aspose.slides.Presentation("pres.pptx");
try {
// 重塑簡報的上下文
var shape = pres.getSlides().get_Item(0).getShapes().get_Item(0);
var textFrame = shape.getTextFrame();
for (let i = 0; i < textFrame.getParagraphs().getCount(); i++) {
const paragraph = textFrame.getParagraphs().get_Item(i);
for (let j = 0; j < paragraph.getPortions().getCount(); j++) {
const portion = paragraph.getPortions().get_Item(j);
var point = portion.getCoordinates();
console.log("X: " + point.x + " Y: " + point.y);
}
}
} finally {
if (pres != null) {
pres.dispose();
}
}
常見問題
我可以只對單一段落中的部分文字套用超連結嗎?
是的,您可以指派超連結給單一 Portion;只有該文字片段可點擊,整段不會被連結。
樣式繼承的運作方式為何:Portion 會覆寫什麼,什麼是從 Paragraph/TextFrame 繼承的?
Portion 級別的屬性具有最高優先權。若在 Portion 上未設定屬性,系統會從 Paragraph 取得;若仍未設定,則從 TextFrame 或 theme 取得。
如果指定給 Portion 的字型在目標機器/伺服器上不存在,會發生什麼情況?
會套用字型取代規則。文字可能會重新分行:度量、斷字與寬度都可能改變,這會影響精確定位。
我可以為單一 Portion 設定與段落其他文字不同的文字填色透明度或漸層嗎?
可以,Portion 級別的文字顏色、填色與透明度可以與相鄰片段不同。