Ogni tanto ricevo un documento di Word che devo visualizzare come pagina web. Attualmente sto usando le flatpage di Django per ottenere ciò afferrando il contenuto html generato da MS Word. L'html generato è abbastanza disordinato. C'è un modo migliore che può generare un html molto semplice per risolvere questo problema usando Python?Come si converte un documento di Word in html molto semplice in Python?
risposta
Una buona soluzione implica il caricamento in Google Docs e l'esportazione della versione html da esso. (Ci deve essere una API per questo?)
Fa così tanti "clean up"; Beautiful Soup in fondo alla strada può essere utilizzato per apportare ulteriori modifiche, a seconda dei casi. È la libreria di analisi html più potente ed elegante del pianeta.
Questo è uno standard noto per le società di giornalisti.
Dipende da quanta formattazione e immagini hai a che fare. Faccio una delle un paio di cose:
- Google Docs: Probabilmente il più vicino si arriva alla formattazione originale e utilizzabile HTML.
- Markdown: Abbandona la formattazione. Incollalo in un editor di testo semplice, eseguilo su Markdown e fissa il resto a mano.
Come ottengo l'HTML da Google Doc? È l'opzione Scarica come HTML? –
+1: i file Word Doc sono * molto * difficili da utilizzare. Molti strumenti li convertiranno, tra cui Open Office. Google Documenti ha una semplice API poiché è un servizio Web HTTP. –
MS Word -> HTML è semplicemente il male. Avevo un client che mi dava un 95 (!) Documento di pagina contenente centinaia di "luoghi da vedere" e dicevo "dovrebbe essere facile inserirlo nel database". Arrggghh! L'ho fatto e gli ho addebitato $ 100/ora per il privilegio, ma penso di aver pagato meno della quantità di dolore. L'HTML è stato il peggiore con cui abbia mai avuto a che fare. –
È inoltre possibile utilizzare Abiword/wvWare convertire il documento parola per XHTML e poi analizzarlo con BeautifulSoup/ElementTree/etc. per preelaborarlo se necessario. Nella mia esperienza, Abiword fa un ottimo lavoro nel convertire file Word e produrre file XHTML relativamente puliti.
Devo dire che Abiword può essere eseguito sulla riga di comando, quindi è facile integrarlo in un processo automatizzato.
mio super-semplice applicazione WordOff ha un API per ripulire cruft da HTML Word-esportato. È possibile sovrascrivere il metodo di salvataggio del modello flatpages per reindirizzare il codice HTML attraverso l'API la prima volta che viene salvato. Qualcosa di simile:
import urllib
import urllib2
def decruft(html):
data = urllib.urlencode({'html' : html})
req = urllib2.Request('http://wordoff.org/api/clean', data)
response = urllib2.urlopen(req)
return response.read()
def save(self, **kwargs):
if not self.pk: # only de-cruft when content is first added
self.content = decruft(self.content)
super(FlatPage, self).save(**kwargs)
WordOff è abbastanza carino in questo genere di cose –
Se si desidera utilizzare wordoff localmente, è possibile scaricare il modulo e utilizzare il suo metodo "superClean" per ottenere lo stesso risultato: https://raw.github.com/tomdyson/wordoff/ master/wordoff.py –
Hey tomd, WordOff.org è scaduto già con – fedmich
Word 2010 ha la capacità di "salvare come pagina Web filtrata". Ciò eliminerà la stragrande maggioranza dell'HTML che Word inserisce.
ho trovato questa pagina web: http://www.textfixer.com/html/convert-word-to-html.php
converte un testo formattato per semplice markup HTML, conservando grassetto, corsivo, link e paragrafi, ma non l'aggiunta di tag per font-dimensioni e volti. Esattamente quello di cui avevo bisogno per risparmiare un po 'di tempo.
Questo è davvero fantastico! Funziona esattamente come vorrei. – Justin
- 1. Come creare un documento Word in WinRT
- 2. Come posso creare un documento Word usando Python?
- 3. Come si trasforma un documento Mongoose in un oggetto semplice?
- 4. Utilizzo di DiagrammeR in un documento Word (generato utilizzando rMarkdown)
- 5. Come si converte un oggetto datetime.date in datetime.datetime in python?
- 6. Libreria per convertire il testo del documento Word in HTML
- 7. Compilare un documento word in asp.net?
- 8. generazione javadoc come documento word
- 9. Word Add-In di trascinamento sul documento
- 10. python: serializza un dizionario in un semplice output html
- 11. Come si può modificare un documento word con Java
- 12. Come si converte LF in CRLF?
- 13. Come posso ridimensionare un'immagine in un documento word generato da HTML mantenendo le proporzioni?
- 14. Come si converte un numero in un INTERVALLO di minuti?
- 15. Documento Word HTML generato che non visualizza correttamente l'immagine
- 16. Molto semplice server in C
- 17. Come si converte un file Bib Bibex in XML Word 2010?
- 18. Python aggiorna il documento HTML
- 19. Office HTML Word header
- 20. problemi di rendering di un * molto * semplice parziale in una semplice applicazione * molto *
- 21. conversione file documento word in chm file
- 22. Come si converte un InputStream in una stringa in Java?
- 23. Converti documento Word in XSL-FO
- 24. Come si converte un UnsafeMutablePointer <Void> in UInt8?
- 25. Converti documento Word in PDF utilizzando Java
- 26. Come si converte una stringa in un metodo di classe?
- 27. Semplice disinfettante HTML in Javascript
- 28. Documento HTML in PDF?
- 29. Come si converte un colore in un pennello in XAML?
- 30. Estrazione di tabelle da un documento di Word DOCX in python
Ma come si fa esattamente da Google Documenti? Carico il mio MSWord doc e scelgo l'opzione di conversione - perde tutti gli schemi – likejiujitsu