gpt4 book ai didi

javascript - NetSuite Suitelet 文件输出

转载 作者:行者123 更新时间:2023-11-28 03:43:09 24 4
gpt4 key购买 nike

我长期以来一直在 NetSuite 中使用 Suitelet 来生成和返回 PDF 文档。然而,有一段时间它们已经以 "scriptlet.nl" 的形式返回,而不是我以前得到的 "filename.pdf" 。对于我的一生,我不明白为什么。我使用了以下两种方法,得到了相同的结果:

function suiteletA(request, response) {
var xml = "";
// processing to generate XML
response.setContentType("PDF", "output.pdf", "inline");
var file = nlapiXMLToPDF(xml);
response.write(file.getValue());
}

function suiteletB(request, response) {
var xml = "";
// processing to generate XML
response.setContentType("PDF", "output.pdf", "inline");
response.renderPDF(xml);
}

我回顾了以前的代码,没有看到任何明显的东西可以解释它。我在这里错过了什么吗?我不知道这是否有什么不同,但我通常在 Chrome 中工作,所以我忍不住想知道这是否也与此有关,比如 Chrome 中是否发生了某些更改导致结果发生变化.

--编辑--

这是响应 header 的屏幕截图...

enter image description here

最佳答案

好的,我知道这是怎么回事了。

如果将 PDF 写回浏览器的脚本以 HTTP GET 方式执行,您可以使用实际 PDF 名称等下载文件,但如果脚本以 HTTP POST 方式运行,你得到了我报告的结果。至少,使用 Chrome 时会发生这种情况。同样,在 Firefox 中,您不会获得“scriptlet.nl”,而是看似“document.pdf”作为可下载文件。

因此,当涉及到 NetSuite 和 PDF 输出时,Chrome 确实显得有些愚蠢。它还严重渲染基于 BFO XML 的 PDF 文档,导致整行字符相互重叠渲染。您可以刷新文档,这样它看起来就不会很疯狂,但它仍然会在彼此之上打印字母,即使它们不再以这种方式出现在屏幕上。

关于javascript - NetSuite Suitelet 文件输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48751422/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com