2012-05-02 11 views
6

Tengo una idea de convertir archivos de documento de Word (.doc/.docx) al formato de archivo de Ayuda (.chm). Quiero usar Java para la conversión de archivos. Mi fórmula es simple. Para hacer que la página de tabla de contenido y otros enlaces en documento de Word, como explorador de paquetes o explorador de archivos y hacer que la navegación del usuario sea más simple, más rápido y fácil de navegar entre las páginas del documento.Java - Convertir archivo doc/docx en archivo chm

Por lo tanto, mi pregunta es:

¿Hay bibliotecas nativas en Java que pueden ser importados y utilizados para la conversión de archivos?

Por favor, comparta sus ideas para implementar el concepto anterior.

+2

Suena como una buena idea, pero extremadamente difícil en la práctica. La conversión de DOC a algo es bastante difícil, DOCX no tanto, pero sigue siendo un gran trabajo. Dado que está trabajando en el reino de Java, es posible que desee encontrar un formato de ayuda que funcione en todas las plataformas (chm es solo para Windows). –

+1

@jowierun sí, sé que chm es solo para Windows ... –

+2

Apache POi tiene [soporte para leer y escribir archivos doc] (https://poi.apache.org/hwpf/index.html). – oers

Respuesta

6

Es una tarea bastante difícil de realizar en Java. Pero aún puede hacerlo si instala Microsoft HTML Help Workshop.

  1. Primero puede extraer el texto de los documentos de Word a través del Apache POI y luego enviarlos como documentos HTML a un directorio temporal.
  2. A continuación, debe crear un archivo HHP. Debería ser bastante fácil de crear, ya que es un archivo de texto. Simplemente siga las especificaciones dadas here
  3. Luego también debe tener un archivo HHC correspondiente. Es un documento HTML simple en el siguiente formato:

    <html> 
    <head> 
    </head> 
    <body> 
    <ul> 
    <li><object type="text/sitemap"> 
    <param name="Name" value="Foo Directory"> 
    <param name="Local" value="BarDirectory/index.htm"> 
    <param name="ImageNumber" value="1"> 
    </object></li> 
    <ul> 
    <li><object type="text/sitemap"> 
    <param name="Name" value="Topic1"> 
    <param name="Local" value="BarDirectory/Bar.htm"> 
    <param name="ImageNumber" value="11"> 
    </object></li> 
    <li><object type="text/sitemap"> 
    <param name="Name" value="Topic1"> 
    <param name="Local" value="BarDirectory/Foo.htm"> 
    <param name="ImageNumber" value="11"> 
    </object></li> 
    </ul> 
    </ul> 
    </body> 
    </html> 
    

    Busque de forma similar la estructura de un archivo HHK.

  4. Una vez que haya terminado, puede ejecutar hhc.exe <inputfile.hhp> desde Java. Eso debería hacer el trabajo.
+0

@Avadhani Sí, lo entiendo.Pero el uso del Compilador de Ayuda HTML parece ser la única forma posible de obtener el archivo CHM final porque CHM es un formato exclusivo de propiedad de Windows. –

+0

@Sakha Bien, veamos la mejor solución ... –

0

No es que yo sepa o que pueda encontrar. Pero, en cambio, ¿qué tal hacer un programa Java que haga todo por ti, manipulando el software necesario que usarías si lo hicieras manualmente? simplemente enviando los comandos y que lo haga por usted. Proporcionaría algún código, pero no lo hice en Java.

Una alternativa sería hacerlo en VBscript, llamar a ciertas clases de Java para que se ejecuten, y usar VBScript para enviar pulsaciones de teclas a los programas. El único inconveniente de este método sería que no podría ejecutarse en segundo plano. y no podría usar su computadora hasta que termine.

Cuestiones relacionadas