My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Featured
Downloads

chmtopdf

Con este simple programa se pueden convertir nuestros archivos que se encuentran en formato .chm a .pdf, pasando por LaTeX primeramente. Esto nos permite tener un documento, libro o reporte con todo lo que brinda LaTeX.

chmtopdf está desarrollado en Python utilizando el módulo BeautifulSoup para generar el archivo .tex de LaTeX. Luego se utilizar el compilador de LaTeX para generar el archivo .pdf

Para la inserción de imágenes en el archivo .pdf es necesario un programa extra, sam2p, que convierte las imágenes de cualquier formato (gif, png, jpg, etc) a .eps (Encapsule PostScript) que son las soportadas por LaTeX.

Para realizar la conversión, necesitamos tener bastante información del archivo .chm, o mejor dicho, del .html que obtenemos luego de descomprimir este. Por el momento la búsqueda y selección de configuraciones no está automatizada y es bastante complicado de llevar a cabo.

screenshots

kchmtopdf gchmtopdf

ejemplo

El programa funciona convirtiendo las etiquetas HTML en código LaTeX de acuerdo a cómo se indique. Así mismo las páginas HTML pueden contener, en una misma etiqueta una hojas de estilo diferente, por lo que en el texto resultante se verá distinto. Esto también se le puede indicar al programa para que lo trabaje de la forma adecuada.

Si tenemos el siguiente texto por ejemplo, y le aplicáramos el programa chmtopdf:

<p class="docChapter">Latex</p>
<p class="docText">El <i>LaTeX</i> es un procesador de textos que está formado 
mayoritariamente por órdenes (macros) construidas a partir de comandos de TeX 
—un lenguaje «de bajo nivel», en el sentido de que sus acciones últimas son muy 
elementales— pero con la ventaja añadida, en palabras de Lamport<sup id="_ref-2" 
class="reference"><a href="#_note-2" title="">[3]</a></sup> , de «poder aumentar las 
capacidades de LaTeX utilizando comandos propios del TeX descritos en  <i>The 
TeXbook</i>»<sup id="_ref-3" class="reference"><a href="#_note-3" title="">[4]</a></sup>

<p class="docText">Esto es lo que convierte a <b>LaTeX</b> en una herramienta práctica 
y útil pues, a su facilidad de uso, se une toda la potencia de TeX. Estas características 
hicieron que <b>LaTeX</b> se extendiese rápidamente entre un amplio sector científico y  
técnico, hasta el punto de convertirse en uso obligado en comunicaciones y congresos, y 
requerido por determinadas revistas a la hora de entregar artículos académicos.</p>

Un fragmento del archivo .tex será algo muy similar a esto:

\chapter{Latex}
El \textit{LaTeX} es un procesador de textos que est'a formado mayoritariamente por
'ordenes (macros) construidas a partir de comandos de TeX --un lenguaje de bajo nivel,
en el sentido de que sus acciones 'ultimas son muy elementales-- pero con la ventaja
a~nadida, en palabras de Lamport $^{[3]}$, de poder aumentar las capacidades de LaTeX
utilizando comandos propios del TeX descritos en  \textit{The TeXbook} $^{[4]}$.

Esto es lo que convierte a \textbf{LaTeX} en una herramienta pr'actica y 'util pues,
a su facilidad de uso, se une toda la potencia de TeX. Estas caracter'isticas
hicieron que \textbf{LaTeX} se extendiese r'apidamente entre un amplio sector
cient'ifico y t'ecnico, hasta el punto de convertirse en uso obligado en comunicaciones
y congresos, y requerido por determinadas revistas a la hora de entregar art'iculos
acad'emicos.
\end{document}

Y el resultado final luego de compilarlo:

Nota: el texto fue extraído de Wikipedia, presisamente de aquí.

estado

Actualmente el programa está en desarrollo, aunque este se puede utilizar libremente para la conversión de archivos, no es tan sencillo de configurar. Los resultados de la conversión de los archivos en la mayoría de los casos es el esperado por el usuario, si este fué bien configurado y el archivo chm no está dañado.

En algunos casos se necesita corregir el archivo .tex para personalizarlo en cuanto a márgenes, quitar algún texto irrelevante, etc. Esto igualmente es en la minoría de los casos.

feedback

Se agradecería que todos los usuarios que utilicen el programa, dejen comentarios por cualquier fallo o incluso conversión exitosa para poder ir corrigiendo posibles bugs en el motor del programa y tener conocimientos sobre qué circunstancias funcionó correctamente.

Powered by Google Project Hosting