2016-10-15 17 views
-1

私は、文字列内にあるテキストを色付けし、文字列を別のpythonファイルに渡して、受け取った色の文字列をdocxファイルに入れたいとします。私はこの方法で試しましたが、うまくいきません。テキストを後でdocxファイルに書き込む方法を教えてください。

from termcolor import colored 
from docx import Document 

document = Document() 
item_i="\n\n Comma is required in line dependent clause is in beginning\n\n" 
ctxt = colored(item_i, 'blue') 
p=document.add_paragraph() 
p.add_run(ctxt) 
document.add_page_break() 

document.save('demo.docx') 

、端末に正しく表示されなくファイルに、それが正しく表示され、このフォーマットでエラー

from termcolor import colored 

item_i="\n\n Comma is required in line dependent clause is in beginning\n\n" 
ctxt = colored(item_i, 'blue') 
print ctxt 

を示しています。親切にも私はこの問題を解決するのに役立ちます。

+3

私はtermcolorは、端末上で文字に色をことができますね。そして、私はdocxがマイクロソフトワードフォーマットと関係があると思います。 2つは無関係です。ターミナルでの色付けは、ms単語での色付け文字とはまったく異なります。 –

+0

はい、でもファイル上で同じことをしたいですか? –

+0

mswordで開くか端末(黒いコンソールウィンドウ)で印刷するファイルを意味しますか? –

答えて

3

docxのテキストフォーマットを使用する必要があります.Jaques de Hoogeが言ったように、termcolorは端末用です。 hereを参照してください。

from docx.shared import RGBColor 

その後

run = p.add_run(item_i) 
run.font.color.rgb = RGBColor(0x00, 0x00, 0xFF) 
+0

ありがとうございました。私もこれを試してみましたが、ファイルの文字列をdocxファイルに入れるために、stringの変更を別のファイルに戻す必要があります。私は返品item_iを与えるか、または変更を実行すると、そこにあることを意味します。 –

+0

私はpythonには新しかったので、私はこれらのタイプの疑問を持っています。 –

+0

あなたが何を意味するかわからない - テキストファイルから文字列を読み込んでそれをdocxファイルに書き込む必要がありますか? – xli

関連する問題