拆分文档 - 文档分割 API
PDF4me 拆分文档 此功能可让您将 Word 文档分割成多个较小的文档,并提供灵活的分割选项和全面的配置控制。 API 该服务可处理 Word 文件,并按页面、节、标题或自定义页面范围拆分文件,用户可完全控制拆分条件、文档命名和输出组织方式。 API 通过以下方式接收 Word 文档内容 REST API 利用电话 Base64 采用编码实现安全传输。该解决方案支持基于页面的拆分、基于章节的划分、基于标题的分隔以及自定义页面范围,是文档管理、内容分发和工作流程自动化的理想之选。
验证您的身份 API 要求
要访问 PDF4me REST API每个请求都必须包含正确的身份验证凭据。身份验证可确保通信安全,并验证您作为授权用户的身份。 REST API。
主要特点
- 多种拆分类型按页面、章节、标题或自定义范围拆分
- 页面范围支持按特定页码或页码范围拆分
- 基于部分的分割在每个 Word 章节之后拆分文档
- 标题式部门:按指定样式的每个标题(例如,标题 1、标题 2)拆分文档
- 灵活配置:使用 splitConfig 参数自定义拆分条件
- 唯一文档名称每个拆分后的文档都会获得一个唯一的 GUID 文件名。
- 格式保留保持文档的原始格式和结构
- 文化支持:特定于区域设置的文档处理
REST API 端点
这 PDF4me REST API 使用标准 HTTP 与资源交互的方法。所有文档拆分操作均通过单个端点执行:
- 方法: POST
- 终点:
office/ApiV2Word/SplitDocument
REST API 参数
拆分文档的完整参数列表 REST API参数按类别组织,以便更好地理解和实施。
重要的: 标有星号 (*) 的参数为必填项。
splitConfig当需要参数时splitType是“数组”、“页数”或“标题”。
必需参数
| 范围 | 类型 | 描述 | 例子 |
|---|---|---|---|
| 文档* | Object | 文件参考。必须包含 姓名 (string):Word 文件名,扩展名为 .docx。用于参考和处理。 | { "Name": "document.docx" } |
| 文档内容* | Base64 | Word文档内容编码 Base64文档将根据指定条件拆分。必须是有效的 Word 文档(.docx、.doc 格式)。 | base64EncodedDocumentContent |
可选参数
| 范围 | 类型 | 描述 | 例子 |
|---|---|---|---|
| 分体式 | String | 文档拆分类型。选项: allpages - 拆分成多个页面(默认), array - 按明确的页码范围拆分(例如“1-3,4,5-7”), numberofpages - 每 N 页后分割(配置:正整数,例如“3”或“5”), section - 将文档按章节拆分, headings - 根据给定样式的每个标题(例如“标题 1”)拆分文档。每个拆分后的文档都会获得一个唯一的 ID。 GUID 文件名 | "allpages" |
| splitConfig | String | 分片配置。 对于数组: 页面范围如“1-3,4,5-7”(第 1-3 页、第 4 页、第 5-7 页)或单个页面“1,3,5”。 页数:像“3”或“5”这样的正整数:每 N 页后分割。 标题标题样式名称,例如“标题 1”或“标题 2”。当 splitType 为“array”、“numberofpages”或“headings”时为必填项。页码从 1 开始。标题匹配不区分大小写。 | "1-3,4,5-7" 或者 "3" 或者 "Heading 1" |
| 文化名称 | String | 文档处理的区域性代码(例如,“en-US”、“de-DE”、“fr-FR”)。默认值:“en-US”。影响文档语言和格式。用于元数据和本地化处理。 | en-US |
拆分类型选项
这 API 提供不同的文档拆分类型:
| 分体式 | 描述 | 需要 splitConfig | 用例 |
|---|---|---|---|
| allpages | 分页显示(默认) | 不 | 将每一页提取为单独的文档 |
| array | 按明确的页码范围拆分。每个以逗号分隔的范围都成为一个文档(例如,“1-3,4,5-7” → 3 个文档)。 | 是的 | 从特定页面范围或单个页面创建文档 |
| numberofpages | 每隔 N 页拆分一次。按顺序拆分:每 N 页形成一个文档;剩余部分构成最后一个文档。 | 是的 | 分成大小相等的部分(例如,每 3 页或 5 页) |
| section | 在每个 Word 节之后拆分文档 | 不 | 每个部分一份文件 |
| headings | 在指定样式的每个标题(例如“标题 1”)之后拆分文档 | 是的 | 按标题级别提取章节或部分 |
拆分配置示例
了解拆分配置有助于优化文档拆分工作流程:
array:明确的页面范围
"1-3,4,5-7"→ 3 个文件:第 1-3 页、第 4 页、第 5-7 页"1,3,5"→ 3 个文档:第 1 页、第 3 页、第 5 页"1-5,6-10"→ 2 份文件:第 1-5 页,第 6-10 页
numberofpages每隔 N 页分割一次
行为: 每隔 N 页依次分割。
配置: 必填,格式为单个正整数(例如: "3", "5")。
例如:
-
配置
"3"一份10页的文件 → 分为4份文件:文件1:第1-3页,文件2:第4-6页,文件3:第7-9页,文件4:第10页
-
配置
"5"一份12页的文件 → 分为3份文件:文件1:第1-5页,文件2:第6-10页,文件3:第11-12页
headings每个标题后拆分
"Heading 1"每个区块包含一份文档,区块结束于下一个标题 1(或文档末尾)。"Heading 2"每个区块包含一份文档,区块结束于下一个二级标题(或文档末尾)。- 不区分大小写的匹配
section
无需任何配置。文档会在每个 Word 分节符后拆分;每个分节符都会成为一个单独的文档。
输出
这 PDF4me 拆分文档 REST API 返回拆分结果 JSON。 这 API 返回一个包含标准响应字段的单个文档(第一个拆分文档)。
- Success Response
- Asynchronous Processing
- Error Responses
- Response Format Details
同步处理(默认)
这 API 处理请求并返回第一个拆分文档:
状态码: 200 OK
内容类型: application/json
回复正文:
{
"document": "UEsDBBQABgAIAAAAIQDfpNJsWgEAACAFAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAAC...",
"fileName": "a1b2c3d4-e5f6-7890-abcd-ef1234567890.docx",
"success": true,
"errorMessage": null
}
回复字段:
- 文档 (string):第一个拆分文档的内容,编码为 Base64 细绳
- 文件名 (string):为拆分文档生成的文件名(GUID-基于)
- 成功 (boolean):指示请求是否成功
- 错误信息 (string (或 null):成功为假时的错误详情
使用方法:
- 提取
document来自该领域的 JSON 回复 (Base64) - 解码 Base64 获取二进制 Word 文档数据的字符串
- 使用
fileName保存拆分后的文档
示例(JavaScript):
const response = await fetch(url, options);
const data = await response.json();
const wordBytes = atob(data.document); // Decode Base64
// Save with data.fileName or custom name
异步处理
异步行为(202) Accepted 轮询机制由服务器配置控制,而不是由请求体参数控制。启用后, API 可能会返回 202 状态码,并进行轮询 URL 在 Location 标题。轮询 URL 和 GET 直到收到 200 个请求为止 OK 响应格式相同(文档、文件名、成功、错误消息)。
错误响应
这 API 退货标准 HTTP 错误代码及错误详情:
- 无效的请求参数
- 缺少必填字段
文档和姓名,文档内容) - 提供的拆分配置无效。
splitConfig需要分体式是“数组”、“页数”或“标题”- 无效的 Base64 编码
文档内容 - 无效或损坏的 Word 文档
- 文档中未找到标题(用于基于标题的拆分)
- 指定的页码范围无效(页码超出文档页数)
- 无效的拆分类型
- 无效或缺失 API 钥匙
- API 钥匙未正确 Base64 编码 Authorization 标题
- 丢失的
授权方式:基本标题
- 服务器端处理错误
- Word文档处理失败
- 文档拆分错误
- 从字节加载文档时出错
- 将文档转换为字节时出错
错误响应格式:
{
"error": "Error message describing what went wrong"
}
回复格式详情
重要的: 这 API 总是返回 JSON 使用文档数组,而不是直接使用二进制 Word 数据。
响应结构:
{
"document": "string", // Base64-encoded Word document content (first split)
"fileName": "string", // GUID-based filename (e.g., "a1b2c3d4-e5f6-7890-abcd-ef1234567890.docx")
"success": true,
"errorMessage": "string or null"
}
内容类型标头:
- 成功:
application/json - 拆分后的文档以嵌入的形式呈现。 Base64 字符串内部 JSON 回复
为什么 Base64?
- JSON-二进制数据的安全编码
- 易于传输 HTTP
- 与所有编程语言兼容
- 可以直接嵌入 JSON 不回避问题
解码 Base64 转换为 Word 文档:
JavaScript/Node.js:
const base64 = response.document;
const binary = atob(base64); // Browser
// OR
const binary = Buffer.from(base64, 'base64'); // Node.js
// Save with response.fileName or custom name
Python:
import base64
response_data = response.json()
word_bytes = base64.b64decode(response_data['document'])
filename = response_data['fileName']
with open(filename, 'wb') as f:
f.write(word_bytes)
C#:
byte[] wordBytes = Convert.FromBase64String(response.document);
File.WriteAllBytes(response.fileName, wordBytes);
请求示例
标题
Content-Type: application/json
Authorization: Basic YOUR_BASE64_ENCODED_API_KEY
笔记:
- 获得你的 API 钥匙 PDF4me 仪表板
- 这 API 关键必须是 Base64 编码后以“Basic”为前缀 Authorization 标题
- 例如:如果你的 API 关键是
abc123将其编码为 Base64 并使用Authorization: Basic YWJjMTIz
有效载荷
基本示例(拆分所有页面 - 默认):
{
"document": { "Name": "document.docx" },
"docContent": "base64EncodedDocumentContent",
"splitType": "allpages"
}
页面范围示例(数组):
{
"document": { "Name": "document.docx" },
"docContent": "base64EncodedDocumentContent",
"splitType": "array",
"splitConfig": "1-3,4,5-7"
}
每 N 页后分割示例(页数):
{
"document": { "Name": "document.docx" },
"docContent": "base64EncodedDocumentContent",
"splitType": "numberofpages",
"splitConfig": "3"
}
基于标题的示例(每个标题后拆分):
{
"document": { "Name": "document.docx" },
"docContent": "base64EncodedDocumentContent",
"splitType": "headings",
"splitConfig": "Heading 1",
"cultureName": "en-US"
}
分段示例(每节后拆分):
{
"document": { "Name": "document.docx" },
"docContent": "base64EncodedDocumentContent",
"splitType": "section",
"cultureName": "en-US"
}
代码示例
这 PDF4me 拆分文档 REST API 提供多种编程语言的代码示例。请选择最适合您开发环境的语言:
- C#
- Java
- JavaScript
- Python
- Salesforce
- n8n
- Google Script
- AWS Lambda
行业应用案例及应用
- Legal & Professional Services
- Business & Enterprise
- Education & Research
- Finance & Banking
法律及专业服务用例
- 合同管理将多方合同拆分为各个部分
- 案例文件从案件文件中提取特定页面
- 合规报告将相关章节分发给不同部门
- 法律研究按主题或章节拆分大型法律文件
商业及企业应用案例
- 报告分发按不同利益相关者的需求,将报告按部分拆分。
- 提案管理:提取客户特定交付成果的相关章节
- 内部文档按主题或部门划分手册
- 档案组织创建用于存储和检索的逻辑文档块
教育与研究应用案例
- 课程材料将教科书拆分成各个章节
- 学生记录提取不同学术部门的特定页面
- 研究论文将篇幅较长的论文按章节拆分以进行同行评审
- 医学和研究文档按方法或章节拆分研究或临床文件
金融与银行业应用案例
- 财务报告将特定章节分发给不同的利益相关者
- 审计文档提取不同审计领域的相关页面
- 监管合规按法规类型拆分合规文件
- 风险评估将风险章节分发给相应的团队