当我将代码写到NS高级pdf模板中时,我开始看到未反映在代码中的错误。有关第13行中的错误的详细信息:“第13行中的错误,模板中的第142列。
详细信息... <tr> kid is <p> not <td>: ignoring
。
我试图从出现代码的给定行中删除代码,但是它没有任何效果,即使如果注释了整个行或移动了行,也会弹出给定的错误。
<?xml version="1.0"?><!DOCTYPE pdf PUBLIC "-//big.faceless.org//report" "report-1.1.dtd">
<pdf>
<head>
<link name="NotoSans" type="font" subtype="truetype" src="${nsfont.NotoSans_Regular}" src-bold="${nsfont.NotoSans_Bold}" src-italic="${nsfont.NotoSans_Italic}" src-bolditalic="${nsfont.NotoSans_BoldItalic}" bytes="2" />
<#if .locale == "zh_CN">
<link name="NotoSansCJKsc" type="font" subtype="opentype" src="${nsfont.NotoSansCJKsc_Regular}" src-bold="${nsfont.NotoSansCJKsc_Bold}" bytes="2" />
<#elseif .locale == "zh_TW">
<link name="NotoSansCJKtc" type="font" subtype="opentype" src="${nsfont.NotoSansCJKtc_Regular}" src-bold="${nsfont.NotoSansCJKtc_Bold}" bytes="2" />
<#elseif .locale == "ja_JP">
<link name="NotoSansCJKjp" type="font" subtype="opentype" src="${nsfont.NotoSansCJKjp_Regular}" src-bold="${nsfont.NotoSansCJKjp_Bold}" bytes="2" />
<#elseif .locale == "ko_KR">
<link name="NotoSansCJKkr" type="font" subtype="opentype" src="${nsfont.NotoSansCJKkr_Regular}" src-bold="${nsfont.NotoSansCJKkr_Bold}" bytes="2" />
<#elseif .locale == "th_TH"> <!-- in this line error appears -->
<link name="NotoSansThai" type="font" subtype="opentype" src="${nsfont.NotoSansThai_Regular}" src-bold="${nsfont.NotoSansThai_Bold}" bytes="2" />
</#if>
<style type="text/css">table { font-size: 9pt; table-layout: fixed; width: 100%; }
th { font-weight: bold; font-size: 8pt; vertical-align: middle; padding: 5px 6px 3px; background-color: #e3e3e3; color: #333333; padding-bottom: 10px; padding-top: 10px; }
td { padding: 4px 6px; }
b { font-weight: bold; color: #333333; }
</style>
</head>
<body>
</body>
</pdf>
如何清除此错误,或者我该怎么做才能解决我的问题?
答案 0 :(得分:2)
您的错误消息与模板中的实际行不匹配的原因是NetSuite如何处理高级PDF / HTML模板。这里有两个图书馆。首先,Freemarker处理您的模板,以合并记录中的字段并生成XML文档,然后将其传递到BFO引擎,该引擎呈现PDF。如果BFO阶段出现错误,则显示的行号将指向生成的Freemarker输出中的行,而不是原始模板中的行。
就您所遇到的实际错误而言,听起来您的模板具有<p>
标记作为<tr>
的直接子代。
<table>
<tr>
<p>Problematic p tag (direct child of table row element)</p>
</tr>
</table>
您需要添加一个<td>
标签
<table>
<tr>
<td>
<p>Paragraph is now correctly in a table cell (td)</p>
</td>
</tr>
</table>