2017-01-20 10 views
0

MS-Word文書から太字と赤の内容をpython-docxで取得しようとしていますが、パラグラフ全体が太字の場合、run.boldはなしを返します。。 Python-docxでセルの書式設定の詳細を取得するにはどうすればいいですか?ここでテーブルセル内のコンテンツ全体が太字で表示されている場合、run.boldは何も返しません

は私のコードです:

for table in WordDoc.tables: 
for i in xrange(1, len(table.rows)): 
    for para in table.rows[i].cells[0].paragraphs: 
     for run in para.runs: 
      if run.bold: 
       print (run.text) 

答えて

0

これは正常な動作です。 Run.boldは、太字がそのテキスト行に明示的に適用されている場合にのみTrueを返します。テキストが太字で表示されるようになるいくつかの方法があります。最初は、文字スタイルが適用されたランです。次の段落には太字の書式を含む段落スタイルが含まれています。ナンバリングスタイルやテーブルスタイルなど、他の方法もありますが、最も一般的なシナリオは2つあります。

いずれの場合でも、python-docxは、実行の「効果的な太字」を報告せず、太字が明示的に適用されているかどうかだけを報告します。

+0

セルのテキスト全体が太字かどうかを確認するにはどうすればよいですか。私もdocument.xmlを試しましたが、タグ内にタグが見つかりませんでした。 –

+0

文字スタイル、段落スタイル、または表スタイルが疑わしいです。その順序で。その名前に 'style'を含むタグを探します。多分 'pStyle'または' charStyle'です。あなたがそれを掘り下げたいのであれば、このページは助けになるかもしれません:http://python-docx.readthedocs.io/en/latest/user/styles-understanding.html – scanny

+0

これも、各ページの[次へ]ボタン:http://python-docx.readthedocs.io/en/latest/dev/analysis/features/styles/index.html – scanny

関連する問題