Переводчик презентаций с поддержкой ИИ
Введение
Aspose.Slides — мощный API для программного управления презентациями PowerPoint. В дополнение к созданию, редактированию и конвертации слайдов, он предлагает функции, основанные на ИИ, такие как Presentation Translation API для многоязычного содержимого слайдов.
Как это работает
Aspose.Slides не включает встроенные возможности ИИ, а интегрируется с внешними моделями ИИ через интернет. Эта функциональность предоставляется классом SlidesAIAgent для общения с AI‑службами.
Вы можете использовать встроенный OpenAIWebClient для подключения к API OpenAI.
Aspose.Slides обрабатывает связь, разбирает ответы ИИ и интеллектуально вставляет переведённый контент, сохраняя оригинальное расположение и форматирование слайдов.
Примечание
Обратите внимание, что API OpenAI является платным сервисом, поэтому вам потребуется создать учётную запись и указать ваш API‑ключ при использовании встроенного OpenAIWebClient.Пример
В этом примере мы переводим презентацию PowerPoint на японский язык, используя встроенный OpenAIWebClient с указанной моделью OpenAI model.
// Загрузить презентацию для перевода.
$presentation = new Presentation("sample.pptx");
// Создать AI‑клиент с OpenAIWebClient, указав вашу модель и API‑ключ.
$aiWebClient = new OpenAIWebClient("gpt-4o-mini", "apiKey", null);
try {
// Инициализировать SlidesAIAgent с AI‑клиентом.
$aiAgent = new SlidesAIAgent($aiWebClient);
// Перевести презентацию на японский.
$aiAgent->translate($presentation, "japanese");
// Сохранить переводную презентацию в формате PDF.
$presentation->save("sample_jp.pdf", SaveFormat::Pdf);
} finally {
$aiWebClient->close();
$presentation->dispose();
}
По умолчанию встроенный OpenAIWebClient создаёт и управляет собственным внутренним экземпляром HttpURLConnection, автоматически контролируя его жизненный цикл. Однако если вы предпочитаете управлять HttpURLConnection самостоятельно — например, чтобы настроить прокси, использовать URLStreamHandlerFactory или другой HttpClient для лучшего управления ресурсами и производительности — вы можете передать собственный экземпляр HttpURLConnection при создании OpenAIWebClient.
// Создать и предварительно настроить ваш собственный экземпляр HttpURLConnection (настраиваемые тайм‑ауты, параметры прокси и т.д.).
$url = new Java("java.net.URL", "https://api.openai.com/v1/chat/completions");
$urlConnection = $url->openConnection();
$urlConnection->setConnectTimeout(10000);
$urlConnection->setReadTimeout(60000);
// Передать соединение AI‑клиенту.
$aiWebClient = new OpenAIWebClient("gpt-4o-mini", "apiKey", null, $urlConnection);
Пример Azure OpenAI
Вы можете настроить переводчик для использования вашего развертывания Azure OpenAI с помощью OpenAICompatibleWebClient.
use aspose\slides\OpenAICompatibleWebClient;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
use aspose\slides\SlidesAIAgent;
$model = "your-azure-deployment-name";
$apiKey = "your-azure-api-key";
$baseUrl = "https://your-resource.openai.azure.com/openai/v1/";
$aiWebClient = new OpenAICompatibleWebClient($model, $apiKey, $baseUrl);
try {
$aiAgent = new SlidesAIAgent($aiWebClient);
$presentation = new Presentation("Presentation.pptx");
try {
$aiAgent->translate($presentation, "spanish");
$presentation->save("Translated.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
} finally {
$aiWebClient->dispose();
}
Этот фрагмент кода демонстрирует перевод презентации с использованием вашего конечного адреса Azure OpenAI. Замените значения заполнителей на имя развертывания, API‑ключ и URL конечной точки.
Ключевые преимущества
Presentation Translation API от Aspose.Slides предоставляет решение на базе ИИ для создания многоязычных презентаций PowerPoint. Автоматизируя перевод и сохраняя оригинальное оформление и дизайн, он экономит время и снижает количество ошибок по сравнению с ручными процессами. Независимо от того, являетесь ли вы разработчиком, преподавателем или бизнес‑профессионалом, этот API позволяет создавать привлекательные локализованные презентации для глобальной аудитории — расширяя охват и улучшая коммуникацию.