0

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

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

4

1 回答 1

0

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

我是 Node.js 的新手。我使用当前包(即 version )获得了以下代码(基于通过 Node 进行的文档转换) 。watson-developer-cloud1.8.0

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 上运行。

哦,我忘了解决你的问题“为什么[它]试图转换为 HTML ”?文档转换服务总是先转换为 HTML,然后再转换为规范化的 HTML。对于答案单元或纯文本,它需要一个额外的步骤,将规范化的 HTML 转换为请求的格式。这在文档转换 - 定制中有所描述(这让我觉得奇怪的是基本流程文档不碍事)。

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

于 2016-05-13T21:28:46.043 回答