NetSuite RESTlet输出pdf

时间:2016-07-05 17:08:00

标签: rest pdf netsuite

NetSuite Restlet PDF file encoding issue

上述主题似乎是提供了一个使用NetSuite RESTlet输出pdf的解决方案。据我所知,你不能从restlet输出pdf,所以我很困惑。我正在使用restlet来生成报告,最终需要将信息输出到pdf,所以我试图查看是否有解决方法。我尝试了上面的线程中的答案代码,我得到了预期的错误:“错误代码:INVALID_RETURN_DATA_FORMAT错误消息:数据格式无效。您应该返回TEXT。”

我错过了什么吗?有没有办法使用NetSuite RESTlet将xml导出到pdf?

2 个答案:

答案 0 :(得分:2)

您引用的主题讨论了如何在Netsuite中生成PDF文件。如果要从RESTLet返回PDF,则必须将其作为JSON对象的成员返回。 e.g:

var pdfFile = genPDF(); // base this on the sample
return{
 fileName: pdfFile.getName(),
 fileContent: nlapiEncrypt(pdfFile.getValue(), 'base64')
};

然后你的接收器必须创建实际的文件。

回想一下,RESTLets用于应用程序到系统的通信。如果您尝试将PDF返回到浏览器,则应该使用Suitelet。

如果这是更大的应用程序的一部分,并且您需要RESTLet,请查看此帖子:Save base64 string as PDF at client side with JavaScript以获取显示RESTLet响应的选项。

答案 1 :(得分:1)

通过回答,您似乎需要在返回之前将PDF编码/转换为字符串格式,因此您需要使用base64编码。

NS方法nlapiEncrypt(content, 'base64')似乎可能是一个很好的起点。

调查的另一个途径,我还没有尝试过,首先将PDF保存在文件柜中,然后返回该文件的公共链接。您需要确保该文件具有正确的权限。