我正试图将此文档:http://www.redbooks.ibm.com/redpapers/pdfs/redp5213.pdf
转换为JSON应答单元,但它(以及许多类似的其他文档)无法通过服务进行处理。如果我尝试通过演示页面进行处理,请访问https://document-conversion-demo.mybluemix.net/它要么返回错误"缺少必需的参数:必须指定params.file或params.document_id",要么只是返回一个空白结果。如果我通过Node.js和watson-developer-cloud通过REST API进行尝试,它将返回错误代码400以及消息"由于将PDF转换为HTML时出现异常,无法转换输入文档"。(为什么它试图转换为HTML,我不知道——我已经指定了JSON答案单元,这段代码与我尝试过的其他一些文档配合得很好)。
我试图转换的这些红纸有什么不寻常的地方吗,或者文档转换服务有问题吗?
我将[Reppaper][1]下载到我的笔记本电脑上,然后转到文档转换演示,单击选择您的文件并上传我刚刚下载的PDF,然后单击Answer units JSON作为所需的输出格式。起初,我没有看到任何事情发生。点击Output document右侧的下载图标,我可以下载转换后的JSON输出,并将其填写在网页上。重新加载页面,我可以在不需要点击下载的情况下将转换显示在演示页面上。
我是Node.js的新手。我使用当前的watson-developer-cloud
包(版本为1.8.0
)获得了以下代码(基于通过Node进行的文档转换)。
var watson = require('watson-developer-cloud');
var fs = require('fs');
var document_conversion = watson.document_conversion({
username: 'username',
password: 'password',
version: 'v1',
version_date: '2015-12-15'
});
document_conversion.convert({
file: fs.createReadStream('redp5213.pdf'),
conversion_target: "ANSWER_UNITS"
}, function (err, response) {
if (err) {
console.error(err);
} else {
console.log(JSON.stringify(response, null, 2));
}
});
这确实需要10到20秒才能在咖啡店的WiFi上运行。
哦,我忘了回答你的问题"为什么[它]试图转换为HTML"?。文档转换服务总是转换为HTML,然后转换为规范化HTML。对于答案单元或纯文本,它需要额外的步骤,将规范化的HTML转换为请求的格式。这在文档转换-自定义中有描述(这让我觉得奇怪的是,它不适合基本的流程文档)。
[1] :http://www.redbooks.ibm.com/redpapers/pdfs/redp5213.pdf红纸