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

Google Apps Script处理Adobe表单提交时的内容类型错误问题

解决Adobe Acrobat Pro DC表单提交至Google Apps Script的错误问题

问题分析

出现An error occurred during the submit process. Cannot process content of type application/json; charset=utf-8.错误的核心原因有两点:

  1. 响应类型不匹配:Adobe Acrobat表单提交后,默认期望服务器返回text/html类型的响应,而非代码当前返回的application/json格式,这是触发报错的直接因素。
  2. 提交数据格式错误:若未配置Acrobat表单的提交参数,表单会发送字段键值对(通常为application/x-www-form-urlencoded或application/json),而非填充后的完整PDF二进制流,原代码直接将POST内容转为PDF的逻辑不成立。

解决步骤

步骤1:调整Acrobat表单的提交设置

打开你的Adobe Acrobat Pro DC表单,按以下步骤配置提交参数:

  • 进入表单编辑模式,右键点击提交按钮 → 属性 → 动作标签页
  • 选择「提交表单」动作,点击「添加」
  • 在弹出的设置窗口中:
    • 填入部署好的Google Apps Script Web App URL
    • 「导出格式」下拉菜单选择PDF(确保发送填充后的完整PDF文件)
    • 「提交选项」选择「使用HTTP POST」
  • 保存设置后重新导出表单供用户使用

步骤2:修正Google Apps Script代码

调整代码的响应类型为text/html,确保Acrobat能识别提交结果,同时保留邮件发送和Drive上传逻辑:

function doPost(e) {
  try {
    console.log('Event Object: ', JSON.stringify(e));

    if (!e || !e.postData || !e.postData.contents) {
      throw new Error("未接收到提交数据");
    }

    // 验证提交内容是否为PDF格式
    if (e.postData.type !== 'application/pdf') {
      throw new Error("收到非PDF格式内容:" + e.postData.type);
    }

    var fileBlob = Utilities.newBlob(e.postData.contents, 'application/pdf', '用户提交表单.pdf');

    // 发送带PDF附件的邮件
    MailApp.sendEmail({
      to: "youre@email.com",
      subject: "新表单提交通知",
      body: "附件为用户填写完成的表单PDF,请查收。",
      attachments: [fileBlob]
    });

    // 上传PDF至Google Drive指定文件夹
    var folder = DriveApp.getFolderById('你的Google Drive文件夹ID');
    folder.createFile(fileBlob);

    // 返回HTML成功页面,让Acrobat识别提交完成
    return ContentService.createTextOutput(`
      <!DOCTYPE html>
      <html>
        <body>
          <h3>表单提交成功!</h3>
          <p>感谢您的提交,我们已收到您的表单内容。</p>
        </body>
      </html>
    `).setMimeType(ContentService.MimeType.HTML);

  } catch (error) {
    console.error(error);
    // 返回HTML错误页面
    return ContentService.createTextOutput(`
      <!DOCTYPE html>
      <html>
        <body>
          <h3>表单提交失败</h3>
          <p>错误信息:${error.message}</p>
        </body>
      </html>
    `).setMimeType(ContentService.MimeType.HTML);
  }
}

步骤3:重新部署Web App

  • 打开脚本编辑器,点击部署 → 新部署
  • 选择「Web App」类型:
    • 执行:选择「我」
    • 谁可以访问:选择「任何人,甚至匿名」(若需权限限制可调整为「组织内任何人」)
    • 点击「部署」,复制新的Web App URL并更新到Acrobat表单的提交设置中

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 22:23:14