2012-04-30 18 views
6

¿hay alguna biblioteca C# o alguna herramienta gratuita que pueda convertir un archivo html con muchos recursos referenciados en un único archivo html "todo en uno"?¿Cómo incluir todos los recursos en un archivo html?

La tarea principal es tener sólo un archivo, significa que necesito incluir

  1. archivos externos de Javascript - esto probablemente significará reemplazar todas las etiquetas 'guión' con 'src' atributo por el 'guión' etiquetas con contenido leído del archivo referenciado
  2. Imágenes - reemplazar src = "picture.png" con URI de datos - algo así como src = "data: image/png; base64, encodedContent ..."
  3. archivos CSS
  4. puede haber olvidado algo i :)

Este archivo HTML debe ser legible en todos los navegadores, es por eso que no puedo usar el formato de archivo MHT (ilegible en Safari, iPad ...)

+0

¿Y por qué no utilizar la acción de compilación "Contenido" para copiar los archivos en la publicación? ¿De qué sirve hacerlos como recursos? – Candide

+0

@Ingenu No veo que se esté refiriendo a un contexto de compilación. Simplemente quiere obtener un documento HTML de una URL arbitraria y convertirlo en un documento independiente. –

+0

Exactamente. No soy el autor del HTML original. – cartas

Respuesta

2

Usted puede utilizar HTML Agility Pack ir leer/escribir el documento html . HTML Agility admite XPath para que pueda obtener una lista de nodos que desea modificar.

Usando esto, cambiar el valor del atributo de las etiquetas de imagen debería ser fácil. También puede obtener una lista de referencias js externas, leerlas y luego actualizar la etiqueta del script en consecuencia.

+0

Conozco el "HTML Agility Pack" y esa será probablemente la forma en que utilizaré si no encuentro otra solución. El problema será no olvidar incluir algo y tendré que escribirlo todo desde cero. Es por eso que estoy buscando una "solución" terminada. – cartas

Cuestiones relacionadas