HtmlToWord è stato creato per l'uso in un'applicazione che utilizza Word per generare rapporti sulla base di input HTML da un frontend web & nbsp; Si può usare in questo modo.:
importazione HtmlToWord, win32com.client
Parola = win32com.client.gencache.EnsureDispatch ("Word.Application")
word.Visible = True # Non impostare questo su True in produzione!
documento = word.Documents.Add ()
parser = HtmlToWord.Parser ()
Html = "" "
Questo è un titolo
Questo è un testo in una paragrafo
- Boo! Sono un list
& Nbsp;
"" "
parser.ParseAndRender (HTML, Word, document.ActiveWindow.Selection)
Oppure, se non si vuole usare l'HTML è possibile creare un albero di tag da te (elementi Lista omessi):
da HtmlToWord.elements importare *
parser.Render (parola, [
& Nbsp; Titolo 3 ([Text ("Questo è un titolo")]),
& Nbsp; Il paragrafo ([Immagine (attributi = {"src": "http://placehold.it/150x150", "alt": "Io vado di seguito"})]),
& Nbsp; Il paragrafo ([
& Nbsp; Corsivo ([Text ("Questa è"), Grassetto ([Text ("alcuni")]), Text ("text")]),
& Nbsp; Text ("in un"),
& Nbsp; HyperLink ([Text ("punto")], {"href": "http://google.com"}),
& Nbsp;])
], Document.ActiveWindow.Selection)
tag e estensioni supportate
HtmlToWord attualmente supporta i seguenti tag HTML:
- P
- B / strong
- Br
- Div
- Em / i
- U
- Ul
- Olo
- Li
- Tavolo
- Tbody
- Tr
- Td
- Img
- Un
- H1 / 2/3/4
Estensione
Estendere HtmlToWord è abbastanza facile. Ogni tag è una classe che eredita da BaseElement. Ha due metodi che sono chiamati: StartRender e EndRender. Date un'occhiata in elementi / headings.py ed elementi / text.py per alcuni semplici esempi.
Motivazione
Perché Word? Perché non ODF o OpenOffice?
Time. Parole Object Model è molto ben documentato, con un sacco di campioni disponibili su internet - qualsiasi codice .NET in VB o C # può essere tradotto abbastanza facilmente. In cima a questo è possibile registrare di macro all'interno di Word che genera codice Visual Basic mentre si gioca con un documento, cioè la sua molto veloce per sapere come fare le cose. ODF sembra freddo, ma ancora una volta non sono più giovane e l'interfaccia COM di parola soddisfatto tutte le aspettative. . In futuro potrei estendere questo modulo per generare XML ODF, ma per ora è un sogno irrealizzabile
Requisiti :
- Python
I commenti non trovato