テキスト ボックスは、Word において非常に柔軟なツールであり、ページ上の任意の位置に文字列やその他の要素を配置できます。これにより、目を引くチラシ、パンフレット、報告書などを作成することが可能になります。特定の文章を強調したり、画像の近くにキャプションを追加したり、文書に装飾的な要素を加えたりと、テキスト ボックスを活用することで、実用的かつ視覚的に魅力的なドキュメント デザインが可能になります。
この記事では、Spire.Doc for Python を使用して、Python で Word 文書にテキスト ボックスを挿入・削除する方法を解説します。
Spire.Doc for Python のインストール
この操作には、Spire.Doc for Python と plum-dispatch v1.7.4 が必要です。これらは、Spire.Doc for Python の公式ウェブサイトから手動でダウンロードするか、以下の pip コマンドでインストールできます。
pip install Spire.Doc
Python で Word 文書にテキスト ボックスを挿入する
Spire.Doc for Python では、Paragraph.AppendTextBox() メソッドを使用して、特定の段落にテキスト ボックスを挿入できます。テキスト ボックスの内容や書式は、TextBox オブジェクトのプロパティを通じて設定します。以下に詳細な手順を示します。
- Document オブジェクトを作成します。
- Document.LoadFromFile() メソッドで Word 文書を読み込みます。
- Section.AddParagraph() メソッドを使用して、最初のセクションに段落を追加します。
- Paragraph.AppendTextBox() メソッドで、段落にテキスト ボックスを挿入します。
- TextBox.Format プロパティを使って、テキスト ボックスの書式を取得し、TextBoxFormat クラスのプロパティで折り返しの種類、配置位置、線の色、塗りつぶしの色などを設定します。
- TextBox.Body.AddParagraph() メソッドで、テキスト ボックス内に段落を追加します。
- Paragraph.AppendPicture() メソッドを使用して、テキスト ボックス内の段落に画像を追加します。
- Paragraph.AppendText() メソッドで、テキスト ボックスに文字列を追加します。
- Document.SaveToFile() メソッドで、編集結果を別ファイルとして保存します。
- Python
from spire.doc import Document, TextWrappingStyle, HorizontalOrigin, VerticalOrigin, Color, HorizontalAlignment
# Documentオブジェクトを作成します
document = Document()
# Word文書を読み込みます
document.LoadFromFile("Sample.docx")
# テキストボックスを挿入し、折り返しのスタイルを設定します
textBox = document.Sections[0].Paragraphs[0].AppendTextBox(135, 300)
textBox.Format.TextWrappingStyle = TextWrappingStyle.Square # 四角形で折り返し
# テキストボックスの位置を設定します
textBox.Format.HorizontalOrigin = HorizontalOrigin.RightMarginArea # 右マージン基準
textBox.Format.HorizontalPosition = -145.0 # 水平方向の位置
textBox.Format.VerticalOrigin = VerticalOrigin.Page # ページ基準
textBox.Format.VerticalPosition = 120.0 # 垂直方向の位置
# テキストボックスの枠線のスタイルと塗りつぶし色を設定します
textBox.Format.LineColor = Color.get_DarkBlue() # 枠線の色
textBox.Format.FillColor = Color.get_LightGray() # 背景色
# テキストボックス内に画像を段落として挿入します
para = textBox.Body.AddParagraph()
picture = para.AppendPicture("Wikipedia.png")
# 段落の配置を中央揃えにします
para.Format.HorizontalAlignment = HorizontalAlignment.Center
# 挿入した画像のサイズを設定します
picture.Height = 90.0
picture.Width = 90.0
# テキストボックス内にテキストを第2段落として挿入します
textRange = para.AppendText("ウィキペディアは、利用者によって共同で執筆されている無料の百科事典です。"
"2001年の創設以来急速に成長し、現在では英語版だけでも670万本以上の記事が掲載され、"
"毎月数十億回の閲覧数を誇る世界最大の参考情報サイトとなっています。")
# 段落の配置を中央揃えにします
para.Format.HorizontalAlignment = HorizontalAlignment.Center
# テキストのフォントを設定します
textRange.CharacterFormat.FontName = "Calibri"
textRange.CharacterFormat.FontSize = 11.0
textRange.CharacterFormat.Italic = True # 斜体
# 結果をファイルに保存します
document.SaveToFile("output/テキストボックスの挿入.docx")
document.Close()
Python で Word 文書からテキスト ボックスを削除する
Spire.Doc for Python では、Document.TextBoxes.RemoveAt(int index) メソッドを使用して、指定したテキスト ボックスを削除できます。文書内のすべてのテキスト ボックスを一括で削除したい場合は、Document.TextBoxes.Clear() メソッドを使用します。以下は、最初のテキスト ボックスを削除する例です。
- Document オブジェクトを作成します。
- Document.LoadFromFile() メソッドで Word 文書を読み込みます。
- Document.TextBoxes.RemoveAt(int index) メソッドを使用して、最初のテキスト ボックスを削除します。
- Document.SaveToFile() メソッドで、編集済みの文書を別ファイルとして保存します。
- Python
from spire.doc import Document
# Documentオブジェクトを作成します
document = Document()
# Word文書を読み込みます
document.LoadFromFile("output/テキストボックスの挿入.docx")
# 最初のテキストボックスを削除します
document.TextBoxes.RemoveAt(0)
# すべてのテキストボックスを削除する場合(コメントを外して使用):
# document.TextBoxes.Clear()
# 結果の文書を保存します
document.SaveToFile("output/テキストボックスの削除.docx")
document.Close()
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。