NetSuite RESTlet输出pdf

NetSuite RESTlet输出pdf,rest,pdf,netsuite,Rest,Pdf,Netsuite,上面的线程似乎提供了一个用NetSuite RESTlet输出pdf的解决方案。据我所知,您无法从restlet输出pdf,所以我非常困惑。我正在使用restlet生成报告,最终需要将信息输出到pdf,所以我试图看看是否有解决方法。我尝试了上面线程中的答案代码,得到了预期的错误:错误代码:INVALID\u RETURN\u DATA\u FORMAT错误消息:INVALID DATA FORMAT。您应该返回文本 我错过什么了吗?有没有一种方法可以使用NetSuite RESTlet将xml导

上面的线程似乎提供了一个用NetSuite RESTlet输出pdf的解决方案。据我所知,您无法从restlet输出pdf,所以我非常困惑。我正在使用restlet生成报告,最终需要将信息输出到pdf,所以我试图看看是否有解决方法。我尝试了上面线程中的答案代码,得到了预期的错误:错误代码:INVALID\u RETURN\u DATA\u FORMAT错误消息:INVALID DATA FORMAT。您应该返回文本


我错过什么了吗?有没有一种方法可以使用NetSuite RESTlet将xml导出到pdf?

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

NS方法nlapiEncryptcontent“base64”似乎是一个很好的起点


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

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

var pdfFile = genPDF(); // base this on the sample
return{
 fileName: pdfFile.getName(),
 fileContent: nlapiEncrypt(pdfFile.getValue(), 'base64')
};
然后你的接收者必须创建实际的文件

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


如果这是一个更大的应用程序的一部分,并且您需要RESTLet,那么请查看以下帖子:以获取显示RESTLet响应的选项

谢谢!这本来是一个Suitelet,但是它必须处理太多的信息,以至于在完成报告之前超时。正因为这个原因,它才被转移到RESTlet。也许有更有效的解决办法?我有一个客户端脚本,它向restlet发送一些参数并执行restlet,然后我想从restlet将信息发送到pdf。听起来我需要将数据从restlet发送回客户端脚本?一种策略是将请求发布到自定义记录,并触发一个计划脚本,该脚本根据自定义记录中的信息生成pdf。计划的脚本可以通过电子邮件发送文件,或者触发post的页面可以监视队列并在完成后检索结果。或者,如果这是一个日常事务,包含一天的订单的复杂PDF,您可以触发它按计划运行,工作人员可以在他们开始一天的工作时从Netsuite帐户中的链接中获取它。此脚本应该仅在有人按下按钮执行时才运行。现在我设置了restlet来创建一个自定义记录,并将该记录中的一个字段设置为来自restlet的xml字符串的值。我想在创建这个自定义记录时执行一个脚本,然后从xml字符串生成pdf。有没有一种方法可以让restlet等待附加到自定义记录的脚本的响应,获取生成的pdf的链接并在浏览器中显示?没有,正如我之前写的那样,可以让调用restlet的脚本启动轮询过程,以查看restlet创建的触发记录。但是首先要考虑的是,首先要处理的是RestLead?如果在循环中避免类似nlapiLoadRecord的事情,通常可以在Suitelet的治理中进行大量处理。通常合并项目ID等并使用搜索功能会有所帮助