如何在PDF套件中以格式化方式反映文本区域/长文本字段值

问题描述 投票:0回答:1

我们有一个正在创建 PDF 的套件。在我们的 NetSuite UI 中,有一个长文本和一个文本区域字段,分别为“目标”和“描述”。 当用户在其中输入一些值时,他会在文本中包含一些空格和换行符,这些内容确实会显示在 UI 中,但不会显示在 PDF 中。

用户界面示例:

但是在我们的 PDF 中它是这样反映的:

代码块:

                       strTable += '<table width="100%" table-layout="fixed" margin-top="30px">'
                            strTable += '<tr>'
                                strTable += '<td><b>Objective:</b></td>'
                            strTable += '</tr>'
                            strTable += '<tr height="110px">'
                                strTable += '<td style="background-color:#89AD81; color:white;"><p align="left">' + objective + '</p></td>'
                            strTable += '</tr>'
                            strTable += '<tr margin-top="30px">'
                                strTable += '<td><b>Description:</b></td>'
                            strTable += '</tr>'
                            strTable += '<tr height="210px">'
                                strTable += '<td style="background-color:#89AD81; color:white;"><p align="left">' + description + '</p></td>'
                            strTable += '</tr>'
                        strTable += '</table>'

请注意:我尝试使用富文本字段,它反映了所需的结果,但当文本很大时,它会从页面末尾被剪切。

pdf netsuite suitescript suitescript2.0
1个回答
0
投票

问题在于换行符在 XML 中不表示为换行符,而 XML 是为 BFO 库处理为 PDF 生成的换行符。您可以修改字段的内容以保存 XML(或 XML 兼容的 HTML - XHTML),但对于您的用例,只需用 XHTML 中断标记替换换行符就足够了:

objective.replace(/\n/g, '<br />')
© www.soinside.com 2019 - 2024. All rights reserved.