Автоматизация локализации презентаций в PHP
Изменение языка для презентации и текста формы
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд, используя его индекс.
- Добавьте IAutoShape типа Rectangle на слайд.
- Добавьте текст в TextFrame.
- Установка 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();
}
}
FAQ
Вызывает ли Language ID автоматический перевод текста?
Нет. Language ID в Aspose.Slides хранит язык для проверки правописания и грамматики, но не переводит и не изменяет содержимое текста. Это метаданные, которые PowerPoint понимает для проверки.
Влияет ли Language ID на переносы слов и разрывы строк при рендеринге?
В Aspose.Slides language ID используется только для проверки. Качество переноса слов и перенос строк в основном зависят от наличия соответствующих шрифтов и настроек разметки/переноса для системы письма. Чтобы обеспечить правильный рендеринг, сделайте необходимые шрифты доступными, настройте правила замены шрифтов и/или встраивание шрифтов в презентацию.
Можно ли задать разные языки в одном абзаце?
Да. Language ID применяется на уровне части текста, поэтому в одном абзаце можно смешивать несколько языков с разными настройками проверки.