You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Azure AI Translator Python SDK翻译PDF丢失项目符号问题求助

Azure AI Translator SDK翻译PDF项目符号丢失的问题解决经验

我之前也碰到过这个问题,分享几个可行的解决办法和相关体验:

  • 先提取PDF结构化内容再翻译:直接把PDF提取的纯文本喂给文本翻译SDK,项目符号很容易和内容混在一起被忽略。用pdfplumber或PyPDF2这类工具提取文本时,主动识别项目符号行(比如匹配•、-、*开头的行),给这些行保留明确的项目符号标记后再传给翻译API。示例代码:
import pdfplumber
from azure.ai.translation.text import TextTranslationClient
from azure.core.credentials import AzureKeyCredential

# 提取并保留项目符号格式
processed_lines = []
with pdfplumber.open("target.pdf") as pdf:
    for page in pdf.pages:
        raw_lines = page.extract_text().split("\n")
        for line in raw_lines:
            stripped_line = line.strip()
            # 根据PDF实际使用的项目符号调整匹配规则
            if stripped_line.startswith(("•", "-", "*")):
                processed_lines.append(f"- {stripped_line[1:].strip()}")
            else:
                processed_lines.append(stripped_line)
formatted_text = "\n".join(processed_lines)

# 调用翻译API
client = TextTranslationClient(
    endpoint="你的Azure翻译服务端点",
    credential=AzureKeyCredential("你的密钥")
)
translation_result = client.translate(content=[formatted_text], to="目标语言代码")
translated_content = translation_result[0]['translations'][0]['text']
  • 改用文档翻译API:Azure的Document Translation API是专门针对完整文档的翻译服务,支持直接上传PDF、Word等格式文件,翻译后会完整保留原始排版,包括项目符号、列表层级这些结构。身边不少朋友改用这个API后,完全没再遇到格式丢失的问题。

  • 手动标记格式兜底:如果必须用文本翻译SDK,可以在提取文本时给列表项加上特殊标记(比如[LIST]前缀),翻译完成后再把标记替换回项目符号,避免翻译过程中格式信息被抹除。

另外也见过有用户反馈,只要PDF本身的项目符号是标准排版(不是图片格式的符号),用文档翻译API基本不会出现丢失的情况;但如果是扫描版PDF,需要先做OCR提取结构化文本再处理,不然不管用哪个API都容易丢格式。

内容的提问来源于stack exchange,提问作者ryan pickles

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 17:07:14