Javaでプレゼンテーションのローカリゼーションを自動化

プレゼンテーションとシェイプテキストの言語を変更する

  • Presentation クラスのインスタンスを作成します。
  • インデックスを使用してスライドの参照を取得します。
  • スライドに Rectangle タイプの IAutoShape を追加します。
  • TextFrame にテキストを追加します。
  • Setting Language Id をテキストに設定します。
  • プレゼンテーションを書き出し、PPTX ファイルとして保存します。

上記の手順の実装例を以下に示します。

Presentation pres = new Presentation("test.pptx");
try {
    IAutoShape 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 (pres != null) pres.dispose();
}

よくある質問

言語 ID は自動テキスト翻訳をトリガーしますか?

いいえ。Language ID はスペルチェックや文法校正のための言語情報を保持しますが、テキストの内容を翻訳したり変更したりはしません。これは PowerPoint が校正用に理解するメタデータです。

言語 ID はレンダリング時のハイフネーションや改行に影響しますか?

Aspose.Slides では、language ID は校正用です。ハイフネーションの品質や行折り返しは主に proper fonts の有無や、書記体系用のレイアウト/改行設定に依存します。正しく表示させるには、必要なフォントを用意し、font substitution rules を設定するか、プレゼンテーションに embed fonts を埋め込んでください。

単一の段落内で異なる言語を設定できますか?

はい。Language ID はテキストの部分(portion)レベルで適用されるため、単一の段落内で複数の言語を混在させ、個別の校正設定を使用できます。