从Bluemix文档转换服务中获取神秘错误

时间:2016-05-13 20:11:30

标签: ibm-watson document-conversion

我正在尝试将此文档: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答案单元,这段代码与我尝试过的其他一些文档一起工作正常。)

我试图转换的这些红皮书有什么不寻常之处,还是文档转换服务有问题?

1 个答案:

答案 0 :(得分:0)

我将[Redpaper] [1]下载到我的笔记本电脑,然后转到Document Conversion Demo,点击选择文件并上传我刚下载的PDF,然后点击将单位JSON 作为所需的输出格式。起初,我没有看到任何事情发生。点击输出文档右侧的下载图标,可以下载转换后的JSON输出,并将其填入网页。重新加载页面,我将转换显示在演示页面上,而无需点击下载。

我是Node.js的新手。我使用当前watson-developer-cloud包(版本1.8.0)获得了以下代码(基于Document Conversion via 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));
  }
});

在咖啡店WiFi上运行需要10到20秒。

哦,我忘了解决你的问题" 为什么[它]试图转换为HTML "?文档转换服务始终转换为HTML,然后转换为规范化HTML。对于答案单元或纯文本,需要额外的步骤将规范化HTML转换为请求的格式。这在Document Conversion - Customizing中有所描述(这让我觉得奇怪的是基本的流文档)。

[1]:http://www.redbooks.ibm.com/redpapers/pdfs/redp5213.pdf红皮书