Skip to content

使用 Azure AI 实现大规模文档批量翻译并保留格式

解决海量多格式文档翻译的痛点:通过 Azure AI Translator SDK,实现对 PDF、Office 文档等复杂格式文件的自动化批量翻译,且无需手动调整排版。

为什么需要这个技能

在处理企业级文档翻译时,简单的文本翻译无法满足需求。用户通常需要处理包含大量表格、图片、页眉页脚的 PDF 或 Word 文档。如果将文本提取出来翻译再填充,会导致文档排版崩溃。

Azure AI Document Translation 提供了“格式保留”能力,能够在翻译语言的同时,维持原文档的视觉结构。通过 Python SDK,开发者可以将此能力集成到自动化工作流中,实现从云存储上传到翻译结果输出的全链路闭环。

适用场景

  • 跨国企业文档同步:将产品手册、技术白皮书、法律合同等批量翻译为多种语言。
  • 多格式素材本地化:同时处理 .docx, .pptx, .xlsx, .pdf, .html 等多种格式的素材。
  • 专业领域术语对齐:通过加载自定义词表(Glossary),确保行业专有名词在批量翻译中保持一致。

核心工作流

  1. 环境配置:安装 azure-ai-translation-document 库并配置 Azure 资源端点及密钥。
  2. 存储准备:将源文档上传至 Azure Blob Storage 容器,并生成具有 Read/List 权限的 SAS 令牌。
  3. 提交翻译任务
    • 针对批量任务:调用 begin_translation 异步方法,指定源容器 URL 和目标语言容器。
    • 针对单文件任务:使用 SingleDocumentTranslationClient 直接上传二进制流。
  4. 状态追踪与结果获取:通过 poller.result() 等待任务完成,或使用 list_document_statuses 检查具体某个文件的翻译状态。
  5. 词表增强:在 TranslationTarget 中配置 TranslationGlossary 以提高翻译精准度。

代码实现示例

bash
pip install azure-ai-translation-document
python
import os
from azure.ai.translation.document import DocumentTranslationClient, DocumentTranslationInput, TranslationTarget
from azure.core.credentials import AzureKeyCredential

# 基础配置
endpoint = os.environ["AZURE_DOCUMENT_TRANSLATION_ENDPOINT"]
key = os.environ["AZURE_DOCUMENT_TRANSLATION_KEY"]
client = DocumentTranslationClient(endpoint, AzureKeyCredential(key))

# 启动批量翻译任务(翻译为西班牙语)
poller = client.begin_translation(
    inputs=[
        DocumentTranslationInput(
            source_url=os.environ["AZURE_SOURCE_CONTAINER_URL"],
            targets=[
                TranslationTarget(
                    target_url=os.environ["AZURE_TARGET_CONTAINER_URL"],
                    language="es"
                )
            ]
        )
    ]
)

result = poller.result()
print(f"翻译成功文档数: {poller.details.documents_succeeded_count}")

下载和安装

下载 azure-ai-translation-document-py 中文版 Skill ZIP

解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md

你可能还需要

暂无推荐