NetSuite Restlet PDF 文件编码问题
NetSuite Restlet PDF file encoding issue
我的代码正确地在文档存储库中创建一个文件,并将其附加到NetSuite中的记录。但是,文件类型是"其他二进制文件",而它应该是PDF。我读到对于 PDF,我们必须以 base 64 编码,但即便如此,它也不会生成 PDF。有人看到问题吗?
var fileobj = nlapiCreateFile(docname, doctype, doccontent)
fileobj.setName(docname)
fileobj.setFolder(folderid)
fileobj.setIsOnline(true)
fileobj.setEncoding('UTF-8')
var fileid = nlapiSubmitFile(fileobj)
传入数据:
{
"filecontent" : "test",
"filename" : "PO Doc Test",
"filetype" : "PDF",
"folderid" : 521,
"recordtype": "purchaseorder",
"recordid": 13832
}
您必须使用 BFO 生成 PDF。下面是一个快速示例,它生成一个包含字符串"test"的 PDF:
function createPDFFile(docname, folderid)
{
var xml = "<?xml version='"1.0'"?>'n<!DOCTYPE pdf PUBLIC '"-//big.faceless.org//report'" '"report-1.1.dtd'">'n<pdf>'n<body font-size='"18'">test</body>'n</pdf>";
var fileobj= nlapiXMLToPDF(xml);
fileobj.setName(docname);
fileobj.setFolder(folderid);
fileobj.setIsOnline(true);
fileobj.setEncoding('UTF-8');
var fileid = nlapiSubmitFile(fileobj);
}
在我的代码测试中,将文件名从 PO Doc Test
更改为 PO Doc Test.pdf
会在文件柜中创建一个具有 PDF 文件类型而不是其他二进制文件的文件。
虽然这会创建一个 NetSuite 识别为 PDF 文件类型的文件,但似乎test
不是有效的 PDF 文件内容,因此生成的文件无法由 Acrobat 阅读器打开。
文档说,在尝试创建 PDF 等二进制文件时,内容必须采用 base64 编码,因此您应该将内容包装在 nlapiEncrypt(content, 'base64')
中。
另外,请查看nlapiXMLToPDF()
. 此函数允许您在 XML 字符串中定义内容并从中生成 PDF。
相关文章:
- ajax表单提交的编码问题
- 导出为 CSV 时的编码问题
- 地理编码器 - IE8 中的编码问题
- 参数未正确传递给AJAX-编码问题
- AngularJS/Grunt编码问题
- Outlook中的HTML锚定邮件主题编码问题
- NetSuite Restlet PDF 文件编码问题
- 在安卓中使用 JavaScript 设置内容时出现编码问题
- Javascript到csv导出编码问题
- 为什么此字符编码问题仅在选定系统上出现
- JavaScript utf-8 编码问题
- JavaScript WebSocket 字符编码问题(文本)
- 文档.引荐来源网址编码问题
- jquery单词计数器的输入编码问题
- JSP、JQuery和Javascript的字符集编码问题
- 外部gem的资产管道编码问题(UTF-8与ASCII-8BIT)
- 集成Moment JS库时出现编码问题
- Expressjs:res.download期间图像文件编码问题
- php中日语字符的编码问题
- Strophe字符编码问题