2008-10-20 17 views
7

Tengo una base de datos completa de pequeños documentos HTML y tengo que insertar mediante programación varios en, digamos, un documento PDF con iText o un documento de Word con Aspose.Words. Necesito preservar cualquier formateo dentro de los documentos HTML (dentro de lo razonable, honrar <b> etiquetas es imprescindible, CSS como < span style = "blah" > es una buena idea para tener).¿Cómo programáticamente inspeccionar un documento HTML

Tanto iText y Aspose trabajo (más o menos) a lo largo de las líneas:

Document document = new Document(Size.A4, Aspect.PORTRAIT); 

document.setFont("Helvetica", 20, Font.BOLD); 
document.insert("some string") 
document.setBold(true); 
document.insert("A bold string"); 

Por lo tanto (creo) que necesitan algún tipo de analizador de HTML que será puedo inspeccionar para cuerdas y estilos para insertar en mi documento.

¿Alguien puede sugerir una buena biblioteca o un enfoque sensato para este problema? La plataforma es Java

Respuesta

2

HTMLparser es un buen analizador de HTML.

Lo he usado para analizar HTML en uno de mis proyectos.

Usted puede escribir sus propios filtros para analizar el código HTML de lo que quiere, por lo que la etiqueta <br> no debe ser difícil de analizar fuera de

Yo puede analizar fuera de CSS usin la CssSelectorNodeFilter

+0

Esta sugerencia me permitió construir una versión rudimentaria de lo que quiero en aproximadamente una hora y alrededor de 100 líneas de código. ¡Eres un ganador! – banjollity

0

Adobe Acrobat Pro le permite capturar sitios a través de HTTP y hace un excelente trabajo para preservar el estilo y el diseño. No lo he usado desde un aspecto API, pero puede valer la pena investigarlo.

1

Si el HTML es "XML bien formado" (XHTML), por qué no usar un analizador XML (como Xerces) y luego inspeccionar programáticamente el árbol DOM.

0

Usted' Probablemente sería mejor obtener un componente que vaya directamente de HTML a PDF, o Word, y luego intentar analizar el documento HTML y duplicar el formato usted mismo basado en el HTML. Si desea convertir HTML a PDF y usa .Net, Winnovative proporciona una buena solución.

Cuestiones relacionadas