AIGC标识 ASP.NET Core接入PDF转Word:先检查可编辑结果,再做批量任务

ComPDF PDF转Word封面

系统需要把PDF合同或报告转成Word供人继续修改。调用接口成功之后,还要确认文字能否编辑、表格是否可用。先把单文件结果检查清楚,再处理批量任务。

可下载教学输入、实际产物与示例代码对照检查。包内不含API密钥、SDK许可或SDK安装包。

先选三类代表页

准备普通文字、扫描文字和表格页,记录要核对的段落、金额与表格位置。使用教学文件或获授权样本,保留原PDF。

ComPDFPDF转Word接口输出DOCX,支持选页、OCR和版面相关参数。扫描页需要评估OCR;接口参数不能保证每一种输入都恢复成同样的Word结构。

从服务端发起转换

下面是现代.NET中单文件请求片段,可放入后端服务方法。http由应用注入的HttpClient提供,apiKey来自服务端配置,inputPath由服务端授权后的文件记录确定。

using var input = File.OpenRead(inputPath);
using var form = new MultipartFormDataContent();
using var request = new HttpRequestMessage(
    HttpMethod.Post,
    "https://api-server.compdf.com/server/v2/process/pdf/docx");
form.Add(new StreamContent(input), "file", "sample.pdf");
form.Add(new StringContent("1-3"), "pageRanges");
form.Add(new StringContent("1"), "enableOcr");
request.Headers.Add("x-api-key", apiKey);
request.Content = form;
using var response = await http.SendAsync(request, cancellationToken);
response.EnsureSuccessStatusCode();
var responseJson = await response.Content.ReadAsStringAsync(cancellationToken);

这里开启OCR是为了测试含扫描页的教学输入;普通文字文件另做对照。示例使用官方海外节点,实际节点应按账号和数据处理要求选择。

EnsureSuccessStatusCode只检查HTTP状态。还要解析responseJson,按当前接口检查业务状态、失败原因与结果地址。若返回仍在处理中,应按该请求模式查询;下载得到JSON错误时,也不能把它改名为.docx交付。

本轮.NET示例跑出的结果

完整请求示例使用.NET 10.0.402编译并执行。三页教学输入包含普通文字、图像扫描页与表格,开启OCR后下载到20,478字节的DOCX。结果中有63个段落和3张表格;程序分别修改一处标题文字和一个表格单元格,保存后重新读取,两处修改均保留。

完整示例还检查了业务状态、结果下载和DOCX内的word/document.xml,避免把HTTP 200中的错误响应直接交付。这个检查证明文件结构及对应文字可修改,不能代替Word桌面端的排版与操作检查,也不代表其他文件都会得到相同结构。

打开Word检查编辑结果

下载输出到新位置,逐项检查:标题能否改字、表格能否逐格编辑、金额是否一致、图片与正文是否重叠。保存修改后的DOCX,再重新打开。只看预览相似,不能证明满足编辑需求。

同一输入改变OCR或布局配置时,分别保存参数与结果。对比依据是可编辑对象与剩余修正工作,不预设某种配置一定最好。

ComPDF教学检查结果

图:本轮教学输入的实际检查结果;适用范围与未通过项见正文。

再加入批量任务

每个文件保存独立状态和产物。已完成项可先下载,失败项返回具体原因;网络超时后先确认远端状态,再决定重试。应用负责队列、权限和存储,转换引擎不替代这些部分。

可先通过开发者试用入口验证业务样本。持续批量转换的选型,还要结合质量、调用规模、部署与维护条件,不能从一次请求推断成功率或吞吐量。

posted @ 2026-10-19 19:45  ComPDF  阅读(1)  评论(0)    收藏  举报