NetSuite Restlet PDF 文件编码问题
NetSuite Restlet PDF file encoding issue
我的代码正确地在文档存储库中创建了一个文件,并将其附加到 NetSuite 中的一条记录。但是,文件类型是 'Other Binary File',而它应该是 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
}
在我对您的代码的测试中,将文件名从 PO Doc Test
更改为 PO Doc Test.pdf
在文件柜中创建了一个 PDF 文件类型而不是其他二进制文件的文件。
虽然这会创建一个 NetSuite 识别为 PDF 文件类型的文件,但 test
似乎不是有效的 PDF 文件内容,因此 Acrobat 无法打开生成的文件 reader .
文档说,当尝试创建 PDF 等二进制文件时,内容必须采用 base64 编码,因此您应该将内容包装在 nlapiEncrypt(content, 'base64')
.
中
此外,请查看 nlapiXMLToPDF()
。此函数可让您在 XML 字符串中定义内容并从中生成 PDF。
您必须使用 BFO 生成 PDF。这是一个生成 PDF 的简单示例,其中包含字符串 "test":
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);
}
我的代码正确地在文档存储库中创建了一个文件,并将其附加到 NetSuite 中的一条记录。但是,文件类型是 'Other Binary File',而它应该是 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
}
在我对您的代码的测试中,将文件名从 PO Doc Test
更改为 PO Doc Test.pdf
在文件柜中创建了一个 PDF 文件类型而不是其他二进制文件的文件。
虽然这会创建一个 NetSuite 识别为 PDF 文件类型的文件,但 test
似乎不是有效的 PDF 文件内容,因此 Acrobat 无法打开生成的文件 reader .
文档说,当尝试创建 PDF 等二进制文件时,内容必须采用 base64 编码,因此您应该将内容包装在 nlapiEncrypt(content, 'base64')
.
此外,请查看 nlapiXMLToPDF()
。此函数可让您在 XML 字符串中定义内容并从中生成 PDF。
您必须使用 BFO 生成 PDF。这是一个生成 PDF 的简单示例,其中包含字符串 "test":
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);
}