PHPでプレゼンテーションのローカリゼーションを自動化
Contents
[
Hide
]
プレゼンテーションとシェイプテキストの言語を変更する
- Presentation クラスのインスタンスを作成します。
- インデックスを使用してスライドの参照を取得します。
- スライドに Rectangle タイプの IAutoShape を追加します。
- TextFrame にテキストを追加します。
- テキストに Setting Language Id を設定します。
- プレゼンテーションを PPTX ファイルとして保存します。
上記の手順の実装例は以下のサンプルで示しています。
$pres = new Presentation("test.pptx");
try {
$shape = $pres->getSlides()->get_Item(0)->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 200, 50);
$shape->addTextFrame("Text to apply spellcheck language");
$shape->getTextFrame()->getParagraphs()->get_Item(0)->getPortions()->get_Item(0)->getPortionFormat()->setLanguageId("en-EN");
$pres->save("output.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
よくある質問
言語 ID は自動的にテキスト翻訳をトリガーしますか?
いいえ。 Language ID はスペルチェックと文法校正のための言語を保持しますが、テキスト内容を翻訳したり変更したりはしません。PowerPoint が校正用に理解するメタデータです。
言語 ID は描画時のハイフネーションや改行に影響しますか?
Aspose.Slides では、language ID は校正用です。ハイフネーションの品質と改行は主に proper fonts の有無と、書字システム向けのレイアウト/改行設定に依存します。正しく描画するには、必要なフォントを利用可能にし、font substitution rules を設定するか、プレゼンテーションに embed fonts を埋め込んでください。
単一の段落内で異なる言語を設定できますか?
はい。Language ID はテキストの個々の部分に適用されるため、単一の段落内で複数の言語を混在させ、個別の校正設定を使用できます。