HlpToChm Tools

Versión 1.3

SourceForge.net Logo

 

Para bajar el programa instalador, directamente, clique aquí:

Introducción

Con la aparición de Windows Windows Vista de Microsoft se deja de dar apoyo a las ayudas basadas en el formato hlp, esto obliga cambiar al formato chm, que de hecho es mejor. Existen varios programas comerciales que facilitan el cambio de uno al otro sistema. HlpToChm Tools son un conjunto de herramientas de código abierto (en Delphi), que he utilizado y utilizo, para facilitar la conversión.

Independientemente de la conversión, uno de los programas (ArrangeLinks) permite comprobar los enlaces de los anclajes y de las imágenes de un conjunto de archivos htm de un proyecto hhp.

La conversión

En resumen: comporta a parte de la conversión de los archivos hpj a hhp:

1. La conversión de los archivos rtf de ayuda a, habitualmente, varios archivos htm y la creación de un archivo h (map) y hhk (índice).

2. La conversión de los archivos de contenidos (contentos) cnt a archivos hhc.

Pasos a realizar

A. Copiar las notas de a pie de página del archivo rtf a un archivo de txt que de nombre empiece por fpn_.

Ejemplo::

MyProgram.rtf -> fpn_MyProgram.txt

fpn_MyProgram.txt, contendrá:

# Introduction
$ The introduction
# IntroAddressed
$ Addressed to
....  

 

B. Guardar el archivo rtf en un archivo en formato htm, creándose una carpeta que contiene todas las imágenes que estan enlazadas con el archivo htm.

Ejemplo:

MyProgram.rtf --Word--> MyProgram.htm el directorio MyProgram_files con filelist.xml, image001.png, image002.gif....

[ Si tiene varios fragmentos que corresponde al formato predeterminado (<pre>) puede cambiarlo a este formato con SetPre ]

[ Si el archivo/s htm contiene/n letras con acentos que no han estado cambiados a la forma &xxxx; puede utilizar el programa HtmWithoutDiacr ]

 

C. Eliminar:

Las notas de pie de página procedentes del rtf, ahora<div id=ftn1>,....

El <div inicial y el </div> del código htm.

Todo el código superfluo del archivo htm creado con el Word. Para hacerlo un excelente programa es TidyGUI, que lo puede encontrar en http://pagesperso-orange.fr/ablavier/TidyGUI/. En las opciones del programa (Configuration | Layout), escogéis un valor alto (por ejemplo 10000) en Wrap margin, así cada párrafo quedará en una sola línea, con el <p>, <h1>, <h2>, ... al principio de línea y sin indentación:

<h1>bla...bla...</h1>
<p>bla...bla..</p>

 

D. Ejecutar el programa DelOldHRef, que tiene tres funciones:

 

E. Ejecutar el programa PutAnchorH1, que solicitará el archivo fpn_nombre.txt creado anteriormente. Lo que hace es colocar el identificador antes del texto del encabezamiento:

<h1>Introduction/The introduction</h1>
<p>bla...bla..</p>
<h1>IntroAddressed/Addressed to</h1>
<p>bla...bla..</p>
<h1>MainWindow/Main Window</h1>
<p>bla...bla..</p> 

Y que posteriormente se utilizará como nombre del archivo htm a crear.

 

F. Editar el archivo htm, a su criterio, convirtiendo de encabezamiento 1 a encabezamiento 2 los encabezamientos que no constituirán archivos htm individualizados.

<h1>Introduction/The introduction</h1>
<p>bla...bla..</p>
<h2>IntroAddressed/Addressed to</h2>
<p>bla...bla..</p>
<h1>MainWindow/Main Window</h1>
<p>bla...bla..</p> 

 

G. Crear los anclajes de los encabezamientos 2, con el programa PutAnchorH2:

<h1>Introduction/The introduction</h1>
<p>bla...bla..</p>
<h2><a name="IntroAddressed">Addressed to</a></h2>
<p>bla...bla..</p>
<h1>MainWindow/Main Window</h1>
<p>bla...bla..</p> 

 

H. Si usted quiere comprobar los tamaños asignados para las imágenes y su existencia, usted puede utilizar el programa SetImg.

En el plafón de arriba se asigna el archivo htm, se clica Read images y colocará en el plafón de arriba a la izquierda los enlaces (ordenados por aparición, y las medidas discordantes aparecerán en negrita) y en el de la derecha los archivos (los inexistentes aparecerán en rojo).

[ Yo trabajo con diversos idiomes: catalán, español, inglés... y tengo por costumbre renombrar los archivos de imagen a su nombre real.

Ejemplo: image001.png, image002.gif -> LogoCatSalut.png, stock_edit-16.gif...

Eso sólo lo hago en uno de los idiomas, SetImg renombra los archivos de los otros idiomas de forma automática:

Se asigna en el plafón de arriba se asigna el archivo htm modelo, después Read se asigna el archivo htm de destino y se clica Replace images, cambiando el nombre. ]

 

I. Crear los archivos htm a partir del archivo principal (en el ejemple MyProgram.htm) con CreateHtm.

Siguiendo el ejemplo anterior, se crearían los archivos: Introduction.htm de título The introduction) y MainWindow.htm (de título Main Window).

 

J. Asignar los enlaces con ArrangeLinks.

Así, con el ejemplo: si

<p><u>Addressed to</u>IntroAddressed</p>

con el programa se cambia por:

<p><a href="IntroAddressed">Addressed to</a></p>

Para hacerlo hay que seleccionar los archivos a analizar, habitualmente todos y lo puede hacer con , revisar los enlaces en el plafón de la derecha, y una vez corregidos los errores (en los correspondientes archivos htm), puede ejecutar el cambio con .

Si no se ha hecho con anterioridad puede asignarse ahora el archivo css a todos los archivos htm seleccionados.

Posteriormente puede ver la integridad de los enlaces desde la segunda hoja, puede cambiar la ordenación de las parrillas clicando el título de la columna.

Después de numerar con :

Permite crear la lista de referencias para el archivo pas con :

  hcHlpToChmTools = 1000;
  ...

Permite crear el archivo h con :

#define HlpToChmTools 1000

....

Este programa también permite comprobar los enlaces de las imágenes, así como sus tamaños.

[ Raramente puede necesitar renombrar los archivos o las imágenes para diferenciarlos como grupo, añadiéndoles entonces un prefijo, para esto puede utilizar el programa RenDirFiles, al cambiar los nombres de las imágenes o archivos se cambian de forma automáticamente los nombres correspondientes de los enlaces a estas imágenes o archivos que hay dentro de los archivos htm ]

 

K. Crear la lista de contenidos hhc (desde el archivo cnt) con TableOfContents. El archivo final no será exactamente el deseado, pero lo facilitará mucho.