Автоматизация локализации презентаций на Android

Изменение языка для презентации и текста формы

  • Создайте экземпляр класса Presentation.
  • Получите ссылку на слайд, используя его Index.
  • Добавьте IAutoShape типа Rectangle на слайд.
  • Добавьте некоторый текст в 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();
}

FAQ

Вызывает ли идентификатор языка автоматический перевод текста?

Нет. Language ID в Aspose.Slides сохраняет язык для проверки правописания и грамматики, но не переводит и не изменяет содержимое текста. Это метаданные, которые PowerPoint понимает для проверки.

Влияет ли идентификатор языка на переносы слов и разрывы строк при рендеринге?

В Aspose.Slides language ID используется для проверки правописания. Качество переноса слов и разрыва строк в основном зависит от наличия proper fonts и настроек разметки/переноса строк для системы письма. Чтобы обеспечить корректный рендеринг, сделайте необходимые шрифты доступными, настройте font substitution rules и/или embed fonts в презентацию.

Могу ли я задать разные языки в пределах одного абзаца?

Да. Language ID применяется на уровне части текста, поэтому один абзац может содержать несколько языков с разными настройками проверки.