使用CloudConvert API将PDF转PNG,如何获知已转换的页数?
如何通过CloudConvert Node.js API获取PDF转PNG后的页数
方法一:转换完成后统计输出文件数量(最准确)
转换任务结束后,直接从任务结果的输出文件列表中统计数量,这个数值就是PDF实际转换的页数(每一页对应一个PNG文件)。
示例代码:
const CloudConvert = require('cloudconvert'); const fs = require('fs'); const cloudconvert = new CloudConvert('你的API密钥'); // 提交PDF转PNG的转换任务 const task = await cloudconvert.tasks.create({ tasks: [ { operation: 'convert', input_format: 'pdf', output_format: 'png', input: 'upload', file: fs.createReadStream('input.pdf') } ] }); // 等待任务完成 await cloudconvert.tasks.wait(task.id); const completedTask = await cloudconvert.tasks.get(task.id); // 统计输出文件数量,即PDF页数 const pageCount = completedTask.tasks[0].output.files.length; console.log(`实际转换页数:${pageCount}`);
方法二:提前获取PDF元数据(预估值)
如果需要在转换前获知PDF页数,可以先提交一个metadata操作任务,读取PDF的元数据信息,其中包含页数字段。需要注意的是,这个数值是PDF的原始页数,若转换过程中出现异常(如损坏页被跳过),可能和实际转换结果有偏差。
示例代码:
const CloudConvert = require('cloudconvert'); const fs = require('fs'); const cloudconvert = new CloudConvert('你的API密钥'); // 提交获取PDF元数据的任务 const metadataTask = await cloudconvert.tasks.create({ tasks: [ { operation: 'metadata', input_format: 'pdf', input: 'upload', file: fs.createReadStream('input.pdf') } ] }); await cloudconvert.tasks.wait(metadataTask.id); const metadataResult = await cloudconvert.tasks.get(metadataTask.id); // 从元数据中提取页数 const pageCount = metadataResult.tasks[0].metadata.page_count; console.log(`PDF原始页数:${pageCount}`); // 后续执行转换任务...
内容的提问来源于stack exchange,提问作者user3094755
相关产品推荐
相关产品推荐

