Insertar HTML - Guía de contenido enriquecido
PDF4meEl motor de generación de documentos admite la dirección HTML inserción dentro de plantillas de Word, lo que le permite agregar contenido con formato enriquecido, estilos de texto complejos y estructurado. HTML contenido dinámicamente. Esta capacidad es particularmente útil cuando su fuente de datos contiene contenido preformateado. HTML contenido.
HTML Sintaxis de inserción
Insertar HTML contenido utilizando el -html Intercambia con tu campo de combinación:
<<[token] -html>>
El -html El interruptor indica al motor de plantillas que analice el valor del campo como HTML y mostrarlo con el formato adecuado en el documento generado.
Básico HTML Inserción
Texto con formato simple
Fuente de datos:
{
"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."
}
Sintaxis de la plantilla:
<<[apicalls] -html>>
Salida generada: El texto aparecerá con "PDF4me's API Llamadas o llamadas de automatización" en atrevido, seguido del resto del texto en formato normal.
Compatible HTML Elementos
PDF4me's HTML La representación admite funciones comunes HTML etiquetas de formato:
Etiquetas de formato de texto
Texto en negrita:
<b>Bold text</b>
<strong>Strong text</strong>
Texto en cursiva:
<i>Italic text</i>
<em>Emphasized text</em>
Subrayar:
<u>Underlined text</u>
Tachado:
<s>Strikethrough text</s>
<del>Deleted text</del>
Elementos estructurales
Párrafos:
<p>This is a paragraph.</p>
<p>This is another paragraph.</p>
Saltos de línea:
Line one<br>Line two<br>Line three
Encabezados:
<h1>Heading 1</h1>
<h2>Heading 2</h2>
<h3>Heading 3</h3>
Liza
Listas no ordenadas:
<ul>
<li>First item</li>
<li>Second item</li>
<li>Third item</li>
</ul>
Listas ordenadas:
<ol>
<li>Step one</li>
<li>Step two</li>
<li>Step three</li>
</ol>
Estilo de texto
Color de la fuente:
<span style="color: red;">Red text</span>
<span style="color: #0000FF;">Blue text</span>
Tamaño de fuente:
<span style="font-size: 14pt;">Larger text</span>
<span style="font-size: 10pt;">Smaller text</span>
Familia de fuentes:
<span style="font-family: Arial;">Arial text</span>
<span style="font-family: 'Times New Roman';">Times text</span>
Ejemplos prácticos
Ejemplo 1: Descripción del producto formateada
Datos:
{
"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>"
}
Plantilla:
Product Details:
<<[productDescription] -html>>
Ejemplo 2: Términos y condiciones
Datos:
{
"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>"
}
Plantilla:
<<[terms] -html>>
Ejemplo 3: Anuncio formateado
Datos:
{
"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>"
}
Plantilla:
<<[announcement] -html>>
Combinando HTML con lógica de plantilla
Integrar HTML Inserción con bucles foreach y sentencias condicionales.
HTML Contenido en listas
Plantilla:
<<foreach [section in sections]>>
<<[section.htmlContent] -html>>
<</foreach>>
Datos:
{
"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>"
}
]
}
Condicional HTML Mostrar
Plantilla:
<<if [hasWarning]>>
<<[warningHtml] -html>>
<</if>>
<<[mainContent] -html>>
Datos:
{
"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 Tablas
Insertar completo HTML Estructuras de tablas para presentaciones de datos complejos.
Ejemplo: HTML Mesa
Datos:
{
"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>"
}
Plantilla:
Sales Summary:
<<[salesTable] -html>>
Documentos de contenido mixto
Combine campos de combinación estándar con HTML Contenido para la generación flexible de documentos.
Ejemplo: Informe de formato mixto
Plantilla:
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 Buenas prácticas de formato
HTML Directrices de contenido
- Válido HTML - Utilice palabras bien formadas y válidas. HTML margen
- Estilos en línea - Preferir en línea CSS estilos sobre hojas de estilo externas
- Estructuras simples - Mantener HTML estructuras razonablemente simples
- Renderizado de prueba - Prueba cuán diferentes HTML se muestra en los documentos de salida
- Personajes especiales de escape - Escapar correctamente las comillas y los caracteres especiales en HTML
Recomendaciones de estilo
- Formato básico - Cíñete a lo básico HTML etiquetas de formato
- Evite lo complejo CSS - Complejo CSS Puede que no se muestre como se espera
- Compatibilidad de fuentes - Utilice familias de fuentes ampliamente disponibles.
- Códigos de color - Utilice códigos de color hexadecimales (#RRGGBB) para mayor coherencia.
- Unidades de tamaño - Utilice pt (puntos) para los tamaños de fuente.
Consideraciones de seguridad
Al aceptar HTML de fuentes externas:
- Desinfectar la entrada - Limpiar posibles amenazas HTML
- Validar la estructura - Verificar HTML está bien formado
- Etiquetas límite - Considere restringir los permitidos HTML etiquetas
- Evitar la entrada del usuario - Evitar correctamente el contenido generado por el usuario.
- Salida de prueba - Revisar los documentos generados en busca de contenido inesperado.
HTML vs. Formato de plantilla
Cuándo usar HTML Inserción
Usar HTML cuando:
- El contenido proviene de WYSIWYG editores
- Se requiere un formato complejo.
- El contenido incluye tablas, listas y formatos mixtos.
- Conservación de texto enriquecido de fuentes externas
Utilice el formato de plantilla cuando:
- Un formato de texto simple es suficiente.
- Trabajar con datos estructurados
- Máximo control sobre el formato de salida
- El rendimiento es fundamental
Limitaciones y consideraciones
Limitaciones de renderizado
- CSS apoyo - Limitado CSS Soporte; los estilos en línea funcionan mejor
- Diseños complejos - Muy complejo HTML Puede que no se muestre perfectamente
- JavaScript - JavaScript en HTML no se ejecuta
- Recursos externos - Externo CSSEs posible que las imágenes no se carguen.
- Características específicas del navegador - Avanzado HTML5 Es posible que algunas funciones no sean compatibles.
Actuación
- Tiempo de procesamiento - HTML El análisis sintáctico añade sobrecarga de procesamiento.
- Gran contenido - Muy grande HTML Las cuerdas pueden afectar el rendimiento
- Múltiples instancias - Muchos HTML Las inserciones pueden ralentizar la generación.
Ejemplo completo: Plantilla de boletín informativo
Plantilla:
<<[companyName]:upper>> Newsletter - <<[issueDate]:"MMMM yyyy">>
<<[headerHtml] -html>>
Articles:
<<foreach [article in articles]>>
<<[article.contentHtml] -html>>
---
<</foreach>>
<<[footerHtml] -html>>
Datos:
{
"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>"
}
:::consejo HTML Pruebas Siempre realiza pruebas HTML inserción con datos de muestra para verificar que la representación aparezca como se espera. Diferentes formatos de documento (Word, PDF) puede generar HTML ligeramente diferente.
:::
:::advertencia HTML Complejidad Mantener HTML Contenido razonablemente simple para obtener mejores resultados. Muy complejo. HTML estructuras con avanzado CSS Es posible que no se visualice perfectamente en todos los formatos de salida.
:::