跳到主要内容

插入 HTML - 丰富的内容指南

PDF4me的文档生成引擎支持直接 HTML 在 Word 模板中插入,使您能够添加格式丰富的文本、复杂的文本样式和结构化内容。 HTML 动态更新内容。当数据源包含预格式化内容时,此功能尤其有用。 HTML 内容。


HTML 插入语法

插入 HTML 使用以下内容 -html 切换到您的合并字段:

<<[token] -html>>

-html switch 语句指示模板引擎将字段值解析为 HTML 并以适当的格式将其渲染到生成的文档中。


基本的 HTML 插入

简易格式文本

数据来源:

{
"apicalls": "<b>PDF4me's API Calls or Automation calls</b> is the fuel for creating robust and powerful workflows to automate your document jobs. It lets you smoothly access various document generation and management features provided by PDF4me."
}

模板语法:

<<[apicalls] -html>>

生成的输出: 文本将显示为“PDF4meAPI “呼叫或自动化呼叫” 大胆的然后是其余文本,格式正常。


支持 HTML 元素

PDF4meHTML 渲染支持通用 HTML 格式化标签:

文本格式标签

粗体字:

<b>Bold text</b>
<strong>Strong text</strong>

斜体字:

<i>Italic text</i>
<em>Emphasized text</em>

强调:

<u>Underlined text</u>

删除线:

<s>Strikethrough text</s>
<del>Deleted text</del>

结构元素

段落:

<p>This is a paragraph.</p>
<p>This is another paragraph.</p>

换行符:

Line one<br>Line two<br>Line three

标题:

<h1>Heading 1</h1>
<h2>Heading 2</h2>
<h3>Heading 3</h3>

列表

无序列表:

<ul>
<li>First item</li>
<li>Second item</li>
<li>Third item</li>
</ul>

有序列表:

<ol>
<li>Step one</li>
<li>Step two</li>
<li>Step three</li>
</ol>

文本样式

字体颜色:

<span style="color: red;">Red text</span>
<span style="color: #0000FF;">Blue text</span>

字体大小:

<span style="font-size: 14pt;">Larger text</span>
<span style="font-size: 10pt;">Smaller text</span>

字体系列:

<span style="font-family: Arial;">Arial text</span>
<span style="font-family: 'Times New Roman';">Times text</span>

实际案例

示例 1:格式化的产品描述

数据:

{
"productDescription": "<h2>Premium Laptop Pro</h2><p><b>Features:</b></p><ul><li>Intel Core i9 Processor</li><li>32GB RAM</li><li>1TB SSD Storage</li><li>15.6\" 4K Display</li></ul><p><i>Perfect for professionals and power users.</i></p>"
}

模板:

Product Details:
<<[productDescription] -html>>

示例 2:条款和条件

数据:

{
"terms": "<h3>Terms and Conditions</h3><ol><li><b>Payment:</b> Payment due within 30 days of invoice date.</li><li><b>Warranty:</b> Limited 1-year warranty on all products.</li><li><b>Returns:</b> Returns accepted within <u>14 days</u> of purchase.</li></ol><p><i>For complete terms, visit our website.</i></p>"
}

模板:

<<[terms] -html>>

示例 3:格式化公告

数据:

{
"announcement": "<div style='text-align: center;'><h1 style='color: #0066CC;'>Important Notice</h1><p><b>System Maintenance Scheduled</b></p><p>Our systems will undergo maintenance on <u>January 15, 2024</u> from <b>2:00 AM to 6:00 AM EST</b>.</p><p><i>We apologize for any inconvenience.</i></p></div>"
}

模板:

<<[announcement] -html>>

合并 HTML 使用模板逻辑

整合 HTML 使用 foreach 循环和条件语句进行插入。

HTML 列表中的内容

模板:

<<foreach [section in sections]>>
<<[section.htmlContent] -html>>

<</foreach>>

数据:

{
"sections": [
{
"htmlContent": "<h3>Section 1</h3><p>Content with <b>bold</b> and <i>italic</i> text.</p>"
},
{
"htmlContent": "<h3>Section 2</h3><ul><li>Point A</li><li>Point B</li></ul>"
}
]
}

条件 HTML 展示

模板:

<<if [hasWarning]>>
<<[warningHtml] -html>>
<</if>>

<<[mainContent] -html>>

数据:

{
"hasWarning": true,
"warningHtml": "<div style='background-color: #FFF3CD; padding: 10px; border: 1px solid #FFC107;'><b>⚠ Warning:</b> Please review all terms carefully before proceeding.</div>",
"mainContent": "<p>Your contract details are listed below...</p>"
}

HTML 表格

插入完整 HTML 用于复杂数据呈现的表格结构。

例子: HTML 桌子

数据:

{
"salesTable": "<table border='1' cellpadding='5' cellspacing='0'><tr><th>Product</th><th>Units Sold</th><th>Revenue</th></tr><tr><td>Product A</td><td>150</td><td>$15,000</td></tr><tr><td>Product B</td><td>230</td><td>$23,000</td></tr><tr><td><b>Total</b></td><td><b>380</b></td><td><b>$38,000</b></td></tr></table>"
}

模板:

Sales Summary:
<<[salesTable] -html>>

混合内容文件

将标准合并字段与 HTML 用于灵活生成文档的内容。

示例:混合格式报表

模板:

Report Title: <<[reportTitle]:caps>>
Generated: <<[generatedDate]:"MMMM dd, yyyy">>

Executive Summary:
<<[executiveSummary] -html>>

Details:
<<foreach [item in items]>>
• <<[item.name]>> - <<[item.status]>>
<</foreach>>

Conclusion:
<<[conclusion] -html>>

HTML 格式最佳实践

HTML 内容指南

  1. 有效的 HTML - 使用格式良好、有效的字符串 HTML 标记
  2. 内联样式 - 优先选择内联 CSS 样式表取代外部样式表
  3. 简单结构 - 保持 HTML 结构相对简单
  4. 测试渲染 测试差异 HTML 渲染输出文档
  5. 逃脱特殊角色 - 正确转义引号和特殊字符 HTML

穿搭建议

  1. 基本格式 坚持基本原则 HTML 格式化标签
  2. 避免复杂 CSS - 复杂的 CSS 可能无法按预期渲染
  3. 字体兼容性 使用广泛可用的字体系列
  4. 颜色代码 - 为保持一致性,请使用十六进制颜色代码(#RRGGBB)。
  5. 尺寸单位 - 字体大小请使用 pt(磅)作为单位。

安全考量

接受时 HTML 来自外部来源:

  1. 对输入进行消毒 - 清除潜在的恶意行为 HTML
  2. 验证结构 - 核实 HTML 结构良好
  3. 限制标签 - 考虑限制允许的 HTML 标签
  4. 转义用户输入 - 正确转义用户生成的内容
  5. 测试输出 - 检查生成的文档是否存在意外内容

HTML 与模板格式对比

何时使用 HTML 插入

使用 HTML 什么时候:

  • 内容来自 WYSIWYG 编辑
  • 需要复杂的格式。
  • 内容包括表格、列表和混合格式。
  • 保留来自外部来源的富文本

在以下情况下使用模板格式:

  • 简单的文本格式就足够了。
  • 处理结构化数据
  • 对输出格式的最大控制
  • 表现至关重要

局限性和注意事项

渲染限制

  1. CSS 支持 - 有限的 CSS 支持;内联样式效果最佳
  2. 复杂的布局 非常复杂 HTML 可能无法完美渲染
  3. JavaScript - JavaScriptHTML 未执行
  4. 外部资源 - 外部的 CSS图片可能无法加载
  5. 浏览器特定功能 - 先进的 HTML5 某些功能可能不受支持。

表现

  1. 处理时间 - HTML 解析会增加处理开销。
  2. 大量内容 - 非常大 HTML 字符串可能会影响性能
  3. 多个实例 - 许多 HTML 插入可能减缓生成

完整示例:新闻稿模板

模板:

<<[companyName]:upper>> Newsletter - <<[issueDate]:"MMMM yyyy">>

<<[headerHtml] -html>>

Articles:
<<foreach [article in articles]>>
<<[article.contentHtml] -html>>
---
<</foreach>>

<<[footerHtml] -html>>

数据:

{
"companyName": "Tech Innovations Inc.",
"issueDate": "2024/01/01",
"headerHtml": "<div style='background-color: #4A90E2; color: white; padding: 20px; text-align: center;'><h1>Monthly Tech Update</h1><p>Your source for the latest technology news</p></div>",
"articles": [
{
"contentHtml": "<h3>New Product Launch</h3><p>We're excited to announce our <b>latest innovation</b> in cloud computing. <a href='https://example.com/product'>Learn more</a></p>"
},
{
"contentHtml": "<h3>Industry Insights</h3><p>Recent studies show that <i>automation</i> is transforming the workplace. Here's what you need to know:</p><ul><li>Increased efficiency</li><li>Cost savings</li><li>Better accuracy</li></ul>"
}
],
"footerHtml": "<p style='font-size: 10pt; color: #666;'><i>© 2024 Tech Innovations Inc. All rights reserved.</i></p>"
}

:::提示 HTML 测试

始终进行测试 HTML 插入示例数据以验证渲染是否符合预期。不同的文档格式(Word、 PDF) 可能渲染 HTML 略有不同。

:::

:::警告 HTML 复杂性

保持 HTML 内容应尽量简单,以获得最佳效果。非常复杂 HTML 具有先进结构的 CSS 可能无法在所有输出格式中完美呈现。

:::