Автоматизировать локализацию презентаций в .NET
Изменение языка для презентации и текста фигуры
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд, используя его Index.
- Добавьте AutoShape типа Rectangle на слайд.
- Добавьте текст в TextFrame.
- Установите Language Id для текста.
- Запишите презентацию в файл PPTX.
Реализация указанных выше шагов демонстрируется ниже в примере.
using (Presentation pres = new Presentation("test0.pptx"))
{
IAutoShape shape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 200, 50);
shape.AddTextFrame("Text to apply spellcheck language");
shape.TextFrame.Paragraphs[0].Portions[0].PortionFormat.LanguageId = "en-EN";
pres.Save("test1.pptx",Aspose.Slides.Export.SaveFormat.Pptx);
}
FAQ
Вызывает ли Language ID автоматический перевод текста?
Нет. LanguageId в Aspose.Slides сохраняет язык для проверки правописания и грамматики, но не переводит и не изменяет содержимое текста. Это метаданные, которые PowerPoint понимает для проверки.
Влияет ли Language ID на переносы и разрывы строк при рендеринге?
В Aspose.Slides LanguageId используется для проверки. Качество переноса слов и перенос строк в основном зависят от наличия proper fonts и настроек разметки/переноса для системы письма. Чтобы обеспечить правильный рендеринг, сделайте нужные шрифты доступными, настройте font substitution rules и/или embed fonts в презентацию.
Можно ли задать разные языки в одном абзаце?
Да. LanguageId применяется на уровне части текста, поэтому в одном абзаце можно смешивать несколько языков с отдельными настройками проверки.