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

通过Adobe REST API导出PDF为DOCX时本地保存文件损坏问题咨询

问题原因

你观察到的响应前缀内容是标准的multipart/form-data格式分隔符和元数据:Adobe PDF导出接口在任务完成后返回的是多段式响应,第一段是JSON格式的任务状态元数据,第二段才是DOCX文件的真实二进制内容。你直接将完整响应内容写入DOCX文件,等于把边界符、JSON元数据这些无关内容也写入了文件头,最终导致文件损坏。

解决方案

你的请求参数没有问题,只需要修改响应解析和文件写入的逻辑即可,推荐用成熟的多段响应解析工具处理,避免手动拆分边界出现错误:

  1. 先安装依赖包:
pip install requests-toolbelt
  1. 替换原有文件保存逻辑:
from requests_toolbelt.multipart.decoder import MultipartDecoder

# 轮询确认任务完成、拿到200响应后的逻辑
if response.status_code == 200:
    print('Export complete, saving file locally.')
    # 解析多段响应
    decoder = MultipartDecoder.from_response(response)
    for part in decoder.parts:
        # 匹配到DOCX文件对应的响应段
        disp_header = part.headers.get(b'Content-Disposition', b'').decode('utf-8')
        if docx_filename in disp_header or 'documentOut' in disp_header:
            # 仅写入文件对应的二进制内容
            with open(docx_filename, 'wb') as f:
                f.write(part.content)
            break

如果不想引入额外依赖,也可以手动拆分响应内容:先找到第二个边界字符串的位置,跳过后续的Content-Type、Content-Disposition等头部行,取剩下的二进制内容写入文件即可,不过这种方式需要处理边界动态变化的情况,稳定性不如工具包解析。

内容的提问来源于stack exchange,提问作者Marjan Stojanov

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 18:36:03