Ho un'applicazione web. Ho generato documenti MS Word in formato xml (documento Word 2003 XML) sul lato server. Ho bisogno di mostrare questo documento a un utente su un lato client usando un qualche tipo di visualizzatore. Quindi, la domanda è: quali librerie posso usare per risolvere questo problema? Ho bisogno di un'API per visualizzare il documento word sul lato client utilizzando java.Visualizzazione del file .doc con l'applet java
risposta
Non è possibile visualizzare in modo affidabile un documento di Word in una pagina Web utilizzando Java (o qualsiasi altra tecnologia semplice). Ci sono diverse librerie commerciali disponibili per il rendering di Word, ma non le troverai come soluzioni facili, economiche o affidabili.
cosa si dovrebbe fare è la seguente:
(1) Aprire il motore di Word sul server utilizzando un programma .NET (2) convertire il documento in Rich Text utilizzando il motore di Word (3) Visualizzazione il testo ricco sia utilizzando il widget di RTF swing, o convertire in HTML:
String rtf = [your document rich text];
BufferedReader input = new BufferedReader(new StringReader(rtf));
RTFEditorKit rtfKit = new RTFEditorKit();
StyledDocument doc = (StyledDocument) rtfKit.createDefaultDocument();
rtfEdtrKt.read(input, doc, 0);
input.close();
HTMLEditorKit htmlKit = new HTMLEditorKit();
StringWriter output = new StringWriter();
htmlKit.write(output, doc, 0, doc.getLength());
String html = output.toString();
il rischio principale di questo approccio è che il motore di Word sarà o incidente o di avere una perdita di memoria. Per questo motivo è necessario disporre di un meccanismo per riavviarlo periodicamente e testarlo per assicurarsi che sia funzionale e non per conservare la memoria.
docx4all è un'applet basata su Swing che esegue Word 2007 XML (ovvero non Word 2003 XML), che abbiamo scritto diversi anni fa.
Scarica da svn.
Questo è un possibile approccio per la modifica. Se tutto ciò che vuoi è un visualizzatore, che non converti in HTML o PDF? Puoi usare docx4j per quello. (Disclosure: "my" project).
se ho capito bene, docx4j può visualizzare i file doc xml tramite l'applet? – kant
È possibile visualizzare il file Doc con la classe JRViewer di jasperreport? – kant
L'applet docx4all utilizza docx4j per visualizzare/modificare il file docx – JasonPlutext
Si potrebbe dare un'occhiata allo Apache POI - Java API to Handle Microsoft Word Files che è in grado di leggere tutti i tipi di documenti di parole (formati OLE2 e OOXML, estensione .doc e .docx rispettivamente).
La lettura di un file doc può essere facile come:
import java.io.*;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.extractor.WordExtractor;
public class ReadDocFile {
public static void main(String[] args) {
File file = null;
WordExtractor extractor = null ;
try {
file = new File("c:\\New.doc");
FileInputStream fis=new FileInputStream(file.getAbsolutePath());
HWPFDocument document=new HWPFDocument(fis);
extractor = new WordExtractor(document);
String [] fileData = extractor.getParagraphText();
for(int i=0;i<fileData.length;i++){
if(fileData[i] != null)
System.out.println(fileData[i]);
}
}
catch(Exception exep){}
}
}
È possibile trovare maggiori a: HWPF Quick-Guide (in particolare HWPF unit tests)
Si noti che, secondo il sito POI:
HWPF è ancora in fase di sviluppo iniziale.
Ho bisogno di scrivere file doc. 'POI' non è applicabile per questo. – kant
Suggerirei di guardare il codice sorgente di openoffice e implementarlo. Dovrebbe essere scritto in java.
- 1. Lettura del file .doc tramite DocumentFormat.OpenXml dll
- 2. Java - Converti file doc/docx in chm file
- 3. Visualizzazione albero con Java
- 4. Come escludere i file di origine Java nell'attività doc?
- 5. Crea file PDF/Word (Doc) nell'app
- 6. Visualizzazione delle proprietà del sistema Java con Swing
- 7. Testo sublime auto Java doc commento
- 8. Connessione del proprietario del file alla visualizzazione del numero
- 9. Descrizione del metodo Objective-C (commenti del doc)
- 10. Monitorare le sottocartelle con un servizio di visualizzazione Java
- 11. visualizza file .doc, .docx, .rtf, .ppt in iphone utilizzando Webview
- 12. codice java per cercare tutti i file .doc e .docx dal sistema locale
- 13. Come leggere il documento Doc o Docx in java?
- 14. Visualizzazione dell'output errato durante la lettura dal file in java
- 15. Java: POI Apache: posso ottenere testo pulito dai file MS Word (.doc)?
- 16. Come leggere il documento doc e docx in java con POI api
- 17. Visualizzazione di ppt, doc e xls in UIWebView non funziona, ma pdf fa
- 18. Visualizzazione del conteggio delle pagine con ReportLab
- 19. come leggere i file .doc, .docx, .xls in android
- 20. Finestra, Documento contro $ wnd, $ doc
- 21. Numero di pagine in una parola doc in java
- 22. IntelliJ IDEA mouse sopra metodo show Doc Java
- 23. Visualizzazione del timestamp del build in un'applicazione
- 24. Generazione automatica di file di origine e doc in Netbeans
- 25. Visual Studio racchiude in file doc inutili XML WP8 XAP
- 26. Yard doc e `define_method`
- 27. Android come aprire un file di estensione .doc?
- 28. Visualizzazione dell'immagine in Java JFrame
- 29. Visualizzazione dell'animazione Gif in java
- 30. Download di file con Java
Dato che il codice lato server genera il report, perché non generarlo come HTML e visualizzarlo in una scheda del browser '01dagitalPane' ? –
perché l'attività è di generare un rapporto doc, che può essere aperto in ms word se necessario. – kant
Se l'utente desidera aprirlo in MS Word, spingere la parola doc direttamente nel browser con il tipo di contenuto appropriato. (Si noti che in questa finestra verrà caricato da Open Office.) Se l'utente vuole prima visualizzarlo in anteprima, generarlo come HTML e mostrarlo nel browser. –