2012-05-02 29 views
6

Ho un'idea di conversione di documenti Word (.doc/.docx) in file di aiuto (.chm). Voglio usare Java per la conversione dei file. La mia formula è semplice. Per rendere la pagina del sommario e altri collegamenti nel documento word, come explorer del pacchetto o Esplora file, rendere la navigazione dell'utente più semplice, più rapida e facile da navigare tra le pagine del documento.Java - Converti file doc/docx in chm file

Quindi, la mia domanda è:

Ci sono delle librerie native in Java che possono essere importati e utilizzati per la conversione di file?

Si prega di condividere le vostre idee per attuare il concetto di cui sopra.

+2

Sembra una buona idea, ma estremamente difficile nella pratica. Convertire DOC in tutto è piuttosto difficile, DOCX meno così ma ancora un grande lavoro. Dato che stai lavorando nel regno di Java, potresti voler trovare un formato di guida che funzioni su tutte le piattaforme (chm è solo per Windows). –

+1

@jowierun si, so che chm è solo per Windows .. –

+2

Apache POi ha [supporto per la lettura e la scrittura di file doc] (https://poi.apache.org/hwpf/index.html). – oers

risposta

6

È un compito piuttosto difficile da eseguire in Java. Ma puoi ancora farlo se installi il Workshop della Guida HTML di Microsoft.

  1. Innanzitutto è possibile estrarre il testo dei documenti di Word tramite Apache POI e quindi inviarli come documenti HTML in una directory temporanea.
  2. Quindi è necessario creare un file HHP. Dovrebbe essere abbastanza facile da creare in quanto è un file di testo. Basta seguire le specifiche fornite here
  3. Quindi si dovrebbe avere anche un file HHC corrispondente. È un semplice documento HTML nel seguente 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> 
    

    Analogamente, cercare la struttura per un file HHK.

  4. Una volta terminato è possibile eseguire hhc.exe <inputfile.hhp> da Java. Questo dovrebbe fare il lavoro.
+0

@Avadhani Sì capisco.Ma usare il compilatore della Guida HTML sembra essere l'unico modo possibile per ottenere il file CHM finale perché CHM è puro formato proprietario di Windows. –

+0

@Sakha Ok ma vediamo la soluzione migliore .... –

0

Non che io sappia o che potrei trovare. Ma invece, che ne dici di creare un programma java che faccia tutto per te, manipolando il software necessario che useresti se lo facessi manualmente? semplicemente inviando i comandi e fallo farlo per te. Fornirei del codice, ma non l'ho fatto in java.

Un'alternativa sarebbe quella di farlo in VBscript, chiamando determinate classi Java per l'esecuzione e utilizzando VBScript per inviare sequenze di tasti ai programmi. L'unico svantaggio di questo metodo sarebbe che non si poteva avere eseguito in background e non è stato possibile utilizzare il computer fino al completamento.