比较文档 - 文档比较 API
PDF4me 比较文档 此功能可让您比较两个 Word 文档并跟踪更改,同时提供全面的比较选项。 API 该服务可处理两个 Word 文件,并生成一份对比文档,其中包含详细的变更跟踪、可自定义的对比设置、版本管理以及专业的对比报告。 API 通过以下方式接收文档内容 REST API 利用电话 Base64 采用编码实现安全传输。该解决方案可完全控制格式、区分大小写、注释、表格、字段、脚注、文本框和页眉/页脚,是文档审阅、版本控制和协作编辑工作流程的理想之选。
验证您的身份 API 要求
要访问 PDF4me REST API每个请求都必须包含正确的身份验证凭据。身份验证可确保通信安全,并验证您作为授权用户的身份。 REST API。
主要特点
- 文件比较比较两个 Word 文档并找出所有差异
- 跟踪更改生成带有跟踪更改的文档,显示修改内容
- 可自定义选项控制要跟踪或忽略的更改类型
- 修订管理比较前请清理现有版本
- 作者署名:将更改分配给特定作者,以确保问责制
- 专业输出生成带有修订跟踪功能的清晰对比文档
- 多格式支持比较 .docx 和 .doc 文件
- 高级筛选忽略格式、大小写更改、注释、表格等。
REST API 端点
这 PDF4me REST API 使用标准 HTTP 与资源交互的方法。所有文档比较操作均通过单个端点执行:
- 方法: POST
- 终点:
office/ApiV2Word/CompareDocuments
REST API 参数
比较文档的完整参数列表 REST API参数按类别组织,以便更好地理解和实施。
重要的: 标有星号 (*) 的参数为必填项,必须提供。 API 正常运作。
必需参数
| 范围 | 类型 | 描述 | 例子 |
|---|---|---|---|
| 第一文档* | Object | 第一个(基础)文档引用。必须包含 姓名 (字符串):文档名称(含扩展名,例如 .docx 或 .doc)。此文档用作比较基准。 | { "Name": "original.docx" } |
| firstDocContent* | Base64 | Base64第一个文档的编码内容。必须是有效的 Word 文档(.docx、.doc 格式)。 | UEsDBBQABgAIAAAA... |
| 第二份文件* | Object | 第二份(对比)文件参考资料。必须包含 姓名 (字符串):文档名称(带扩展名,例如 .docx 或 .doc)。此文档将与第一个文档进行比较。 | { "Name": "modified.docx" } |
| secondDocContent* | Base64 | Base64第二个文档的编码内容。必须是有效的 Word 文档(.docx、.doc 格式)。 | UEsDBBQABgAIAAAA... |
可选参数(比较选项)
| 范围 | 类型 | 描述 | 例子 |
|---|---|---|---|
| 比较选项 | Object | 比较设置。属性: 忽略格式化 (布尔值), 忽略大小写更改 (布尔值), 忽略评论 (布尔值), 忽略表 (布尔值), 忽略字段 (布尔值), 忽略脚注 (布尔值), 忽略文本框 (布尔值), 忽略页眉和页脚 (布尔值), 作者 (字符串)。请参阅下面的比较选项。 | { "ignoreFormatting": false, "author": "John Doe" } |
比较选项
这 API 可对要跟踪的更改进行精细控制:
内容选项:
- 忽略格式化:专注于文本内容,忽略样式更改
- 忽略大小写更改不区分大小写的比较
- 忽略评论:从比较中排除注释更改
- 忽略表:排除表格结构和内容更改
- 忽略字段排除字段更新(自动更新的内容)
文档元素选项:
- 忽略脚注:排除脚注更改
- 忽略文本框:排除文本框更改
- 忽略页眉和页脚:排除页眉/页脚更改
归因:
- 作者设置比较文档中跟踪更改的作者姓名
输出
这 PDF4me 比较文档 REST API 根据处理模式的不同,会返回不同的响应。 API 返回 Word 文档。 Base64-编码字符串 JSON 格式不是二进制数据。
- Success Response
- Asynchronous Processing
- Error Responses
- Response Format Details
同步处理(默认)
这 API 处理请求并返回:
状态码: 200 OK
内容类型: application/json
回复正文:
{
"document": "UEsDBBQABgAIAAAAIQDfpNJsWgEAACAFAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAAC...",
"fileName": "comparison-result.docx",
"success": true,
"errorMessage": null
}
回复字段:
- 文档 (字符串):包含所有更改的 Word 文档,编码为 Base64 细绳
- 文件名 (字符串):包含比较结果的输出 Word 文件名
- 成功 (布尔值):指示请求是否成功
- 错误信息 (字符串或 null):成功失败时的错误详情
使用方法:
- 提取
document来自该领域的 JSON 回复 (Base64) - 解码 Base64 获取二进制 Word 文档数据的字符串
- 在 Word 中打开文档以查看修订痕迹。
- 根据需要接受或拒绝更改
示例(JavaScript):
const response = await fetch(url, options);
const data = await response.json();
const wordBytes = atob(data.document); // Decode Base64
// Save or process wordBytes - document contains tracked changes
异步处理
异步行为(202) Accepted 轮询机制由服务器配置控制,而不是由请求体参数控制。启用后, API 可能会返回 202 状态码,并进行轮询 URL 在 Location 标题。轮询 URL 和 GET 直到收到 200 个请求为止 OK 响应格式相同(文档、文件名、成功、错误消息)。
错误响应
这 API 退货标准 HTTP 错误代码及错误详情:
- 无效的请求参数
- 缺少必填字段
第一文档和姓名,firstDocContent,第二份文件和姓名,secondDocContent) - 第一个文档为空或为 null
- 第二个文档为空或为 null
- 无效的 Base64 文档内容编码
- 无效或损坏的 Word 文档
- 无效或缺失 API 钥匙
- API 钥匙未正确 Base64 编码 Authorization 标题
- 丢失的
授权方式:基本标题
- 服务器端处理错误
- Word文档处理失败
- 文件比对失败
错误响应格式:
{
"error": "Error message describing what went wrong"
}
回复格式详情
重要的: 这 API 总是返回 JSON绝不会直接处理二进制 Word 数据。
响应结构:
{
"document": "string", // Base64-encoded Word document with tracked changes
"fileName": "string", // Output Word filename with comparison results
"success": true,
"errorMessage": "string or null"
}
内容类型标头:
- 成功:
application/json - Word 文档以嵌入方式呈现。 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
Python:
import base64
word_bytes = base64.b64decode(response['document'])
with open('comparison.docx', 'wb') as f:
f.write(word_bytes)
C#:
byte[] wordBytes = Convert.FromBase64String(response.document);
File.WriteAllBytes("comparison.docx", wordBytes);
请求示例
标题
Content-Type: application/json
Authorization: Basic YOUR_BASE64_ENCODED_API_KEY
笔记:
- 获得你的 API 钥匙 PDF4me 仪表板
- 这 API 关键必须是 Base64 编码后以“Basic”为前缀 Authorization 标题
- 例如:如果你的 API 关键是
abc123将其编码为 Base64 并使用Authorization: Basic YWJjMTIz
有效载荷
基本示例(仅必填字段):
{
"firstDocument": { "Name": "original.docx" },
"firstDocContent": "UEsDBBQABgAIAAAAIQDfpNJsWgEAACAFAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAAC...",
"secondDocument": { "Name": "modified.docx" },
"secondDocContent": "UEsDBBQABgAIAAAAIQDfpNJsWgEAACAFAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAAC..."
}
高级示例(带比较选项):
{
"firstDocument": { "Name": "original.docx" },
"firstDocContent": "UEsDBBQABgAIAAAAIQDfpNJsWgEAACAFAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAAC...",
"secondDocument": { "Name": "modified.docx" },
"secondDocContent": "UEsDBBQABgAIAAAAIQDfpNJsWgEAACAFAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAAC...",
"comparisonOptions": {
"ignoreFormatting": false,
"ignoreCaseChanges": false,
"ignoreComments": true,
"ignoreTables": false,
"ignoreFields": true,
"ignoreFootnotes": false,
"ignoreTextboxes": false,
"ignoreHeadersAndFooters": false,
"author": "Legal Review System"
}
}
仅内容比较示例:
{
"firstDocument": { "Name": "original.docx" },
"firstDocContent": "UEsDBBQABgAIAAAAIQDfpNJsWgEAACAFAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAAC...",
"secondDocument": { "Name": "modified.docx" },
"secondDocContent": "UEsDBBQABgAIAAAAIQDfpNJsWgEAACAFAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAAC...",
"comparisonOptions": {
"ignoreFormatting": true,
"ignoreCaseChanges": true,
"ignoreComments": true,
"ignoreFields": true,
"author": "Content Review"
}
}
代码示例
这 PDF4me 比较文档 REST API 提供多种编程语言的代码示例。请选择最适合您开发环境的语言:
- C#
- Java
- JavaScript
- Python
- Salesforce
- n8n
- Google Script
- AWS Lambda
行业应用案例及应用
- Legal & Professional Services
- Business & Enterprise
- Education & Research
- Finance & Banking
法律及专业服务用例
- 合同审查对比合同版本,找出变更和修改之处
- 法律文件更新跟踪法律文书、协议和法庭文件的变更
- 合规性监控对比政策文件以确保符合监管要求
- 客户文件审核跟踪面向客户的法律文件的变更
商业及企业应用案例
- 提案管理对比不同方案以跟踪客户需求
- 营销材料更新跟踪营销材料和营销活动的变化
- 定价文件变更比较价格表和价目表
- 客户演示更新跟踪客户演示材料的修改情况
教育与研究应用案例
- 医疗规程更新比较医疗程序和规程文件
- 患者护理指南跟踪患者护理文档的变化
- 研究文档比较研究方案和研究文件
- 合规文件跟踪医疗保健合规材料的变化
金融与银行业应用案例
- 财务报告更新比较季度和年度财务报告
- 预算文件变更跟踪预算提案和报告中的修改
- 审计文档比较不同时期的审计报告
- 监管文件跟踪监管申报文件的变更