チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル»docpythondocumentoperation

Displaying items by tag: docpythondocumentoperation

透かしとは、文書の本文の背面に半透明で表示される文字列や画像のことです。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 では、TextWatermark クラスを使用して文字の透かしを作成し、Document.Watermark プロパティを通じて文書に挿入できます。以下に手順を示します。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して、Word 文書を読み込みます。
  • TextWatermark クラスのインスタンスを作成します。
  • TextWatermark クラスの各種メソッドで、透かしに使用する文字列、フォントサイズ、色、レイアウト(斜めや水平など)を設定します。
  • Document.Watermark プロパティを使って、文字の透かしを文書に適用します。
  • Document.SaveToFile() メソッドで、編集後の文書を保存します。
  • Python
from spire.doc import Document, TextWatermark, Color, WatermarkLayout

# Documentオブジェクトを作成する
document = Document()

# Word文書を読み込む
document.LoadFromFile("Sample.docx")

# TextWatermarkオブジェクトを作成する
txtWatermark = TextWatermark()

# テキスト透かしの書式を設定する
txtWatermark.Text = "コピー厳禁"
txtWatermark.FontSize = 65
txtWatermark.Color = Color.get_Red()
txtWatermark.Layout = WatermarkLayout.Diagonal

# 文書にテキスト透かしを追加する
document.Watermark = txtWatermark

# 処理結果の文書を保存する
document.SaveToFile("output/テキスト透かし.docx")
document.Close()

Spire.DocでWord文書にテキスト透かしを挿入

Python で Word 文書に画像の透かしを挿入する

画像の透かしを設定するには、PictureWatermark クラスのメソッドを使用します。手順は以下の通りです。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドで Word 文書を読み込みます。
  • PictureWatermark クラスのインスタンスを作成します。
  • PictureWatermark.SetPicture() メソッドを使って透かしとして使用する画像を読み込み、画像の倍率や「ウォッシュアウト」効果(色を薄くする効果)を設定します。
  • Document.Watermark プロパティを使用して、画像の透かしを文書に適用します。
  • Document.SaveToFile() メソッドで、完成した文書を保存します。
  • Python
from spire.doc import Document, PictureWatermark

# Documentオブジェクトを作成する
document = Document()

# Word文書を読み込む
document.LoadFromFile("Sample.docx")

# PictureWatermarkオブジェクトを作成する
picture = PictureWatermark()

# 画像透かしの書式を設定する
picture.SetPicture("Watermark.png")
picture.Scaling = 100
picture.IsWashout = False  # 薄く表示しない(はっきり表示)

# 文書に画像透かしを追加する
document.Watermark = picture

# 処理結果の文書を保存する
document.SaveToFile("Output/画像透かし.docx")
document.Close()

Pythonを使ったWord文書への画像透かし挿入

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Published in 透かし

テキスト ボックスは、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にテキストボックスを挿入

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()

Spire.Docを使ってWordからテキストボックスを削除

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Word 文書の脚注は、文書の内容を補足し、参考情報や引用を提供するための便利な機能です。脚注を利用することで、複雑な概念の詳細な説明を追加したり、主張を裏付ける出典を明示したり、読者にとって興味深い補足情報を提示したりできます。学術論文や書籍、その他の引用や説明を要する文書を作成する際に、脚注はレイアウトをすっきりと保ちながら補足情報を提供するのに役立ちます。本記事では、Spire.Doc for 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 で特定の段落に脚注を挿入する

Spire.Doc for Python が提供する Paragraph.AppendFootnote(FootnoteType.Footnote) メソッドを使用すると、特定の段落に簡単に脚注を追加できます。手順は以下の通りです。

  • Document クラスのオブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
  • Document.Section[int] プロパティを用いて特定のセクションを取得し、Section.Paragraphs[int] プロパティを使ってセクション内の特定の段落を取得します。
  • Paragraph.AppendFootnote(FootnoteType.Footnote) メソッドを使用して、段落の末尾に脚注を追加します。
  • 脚注の本文を設定し、脚注のテキストおよび参照マークのフォントや色を調整します。
  • Document.SaveToFile() メソッドを使用して、結果の文書を保存します。
  • Python
from spire.doc import *
from spire.doc.common import *

# ドキュメントインスタンスを作成
document = Document()
# サンプルのWordドキュメントを読み込む
document.LoadFromFile("Sample.docx")

# 最初のセクションを取得
section = document.Sections.get_Item(0)

# セクション内の指定された段落を取得
paragraph = section.Paragraphs.get_Item(5)

# 段落の最後に脚注を追加
footnote = paragraph.AppendFootnote(FootnoteType.Footnote)

# 脚注のテキストコンテンツを設定
text = footnote.TextBody.AddParagraph().AppendText("Agrawal, A., Gans, J., & Goldfarb, A. (2018). 予測マシン: 人工知能の簡単な経済学。")

# テキストのフォントと色を設定
text.CharacterFormat.FontName = "Yu Mincho"
text.CharacterFormat.FontSize = 12
text.CharacterFormat.TextColor = Color.get_DarkBlue()

# 脚注参照マークのフォントと色を設定
footnote.MarkerCharacterFormat.FontName = "Calibri"
footnote.MarkerCharacterFormat.FontSize = 15
footnote.MarkerCharacterFormat.Bold = True
footnote.MarkerCharacterFormat.TextColor = Color.get_DarkCyan()

# 結果のドキュメントを保存
document.SaveToFile("output/Wordの段落に脚注を挿入.docx")
document.Close()

Spire.DocでWord文書の段落に脚注を挿入

Python で特定のテキストに脚注を挿入する

特定のテキストに脚注を追加する場合は、文書内の該当テキストを検索し、そのテキストが属する段落内の位置を取得した後に、脚注を挿入します。手順は以下の通りです。

  • Document クラスのオブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
  • Document.FindString() メソッドを使って特定のテキストを検索します。
  • TextSelection.GetAsOneRange() メソッドを使用して、検索結果を 1 つのテキスト範囲として取得します。
  • TextRange.OwnerParagraph プロパティを利用して、テキスト範囲が属する段落を取得します。
  • Paragraph.ChildObjects.IndexOf() メソッドを使用して、段落内でのテキスト範囲の位置を特定します。
  • Paragraph.AppendFootnote(FootnoteType.Footnote) メソッドで脚注を追加し、Paragraph.ChildObjects.Insert() メソッドで特定のテキストの後に脚注を挿入します。
  • 脚注の本文を設定し、脚注のテキストおよび参照マークのフォントや色を調整します。
  • Document.SaveToFile() メソッドを使用して、結果の文書を保存します。
  • Python
from spire.doc import *
from spire.doc.common import *

# ドキュメントインスタンスを作成
document = Document()
# サンプルのWordドキュメントを読み込む
document.LoadFromFile("Sample.docx")

# 特定のテキストを検索
selection = document.FindString("アルゴリズムのバイアス", False, True)

# 検索したテキストを1つのテキスト範囲として取得
textRange = selection.GetAsOneRange()

# テキスト範囲が存在する段落を取得
paragraph = textRange.OwnerParagraph

# 段落内でのテキスト範囲のインデックス位置を取得
index = paragraph.ChildObjects.IndexOf(textRange)

# 段落に脚注を追加
footnote = paragraph.AppendFootnote(FootnoteType.Footnote)

# テキスト範囲の後に脚注を挿入
paragraph.ChildObjects.Insert(index + 1, footnote)

# 脚注のテキストコンテンツを設定
text = footnote.TextBody.AddParagraph().AppendText("アルゴリズムのバイアス: AIシステムがデータに基づいて判断を下す際に、特定の偏りが生じる現象。これにより、誤った結果や不公平な結果が生じることがあります。")

# テキストのフォントと色を設定
text.CharacterFormat.FontName = "Yu Mincho"
text.CharacterFormat.FontSize = 12
text.CharacterFormat.TextColor = Color.get_DarkBlue()

# 脚注参照マークのフォントと色を設定
footnote.MarkerCharacterFormat.FontName = "Calibri"
footnote.MarkerCharacterFormat.FontSize = 15
footnote.MarkerCharacterFormat.Bold = True
footnote.MarkerCharacterFormat.TextColor = Color.get_DarkGreen()

# 結果のドキュメントを保存
document.SaveToFile("output/Wordのテキストに脚注を挿入.docx")
document.Close()

PythonでWord文書のテキストに脚注を挿入

Python で Word 文書の脚注を削除する

不要になった脚注を削除することで、文書をより整理された状態にできます。脚注を削除する手順は以下の通りです。

  • Document クラスのオブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
  • Document.Sections[int] プロパティを使って特定のセクションを取得します。
  • 取得したセクション内の各段落をループ処理し、脚注を検索します。
  • Paragraph.ChildObjects.RemoveAt() メソッドを使用して脚注を削除します。
  • Document.SaveToFile() メソッドを使用して、結果の文書を保存します。
  • Python
from spire.doc import *
from spire.doc.common import *

# ドキュメントインスタンスを作成
document = Document()
# サンプルのWordドキュメントを読み込む
document.LoadFromFile("output/Wordの段落に脚注を挿入.docx")

# ドキュメントの最初のセクションを取得
section = document.Sections.get_Item(0)

# セクション内の段落をループ処理
for y in range(section.Paragraphs.Count):
    para = section.Paragraphs.get_Item(y)
    index = -1
    i = 0
    cnt = para.ChildObjects.Count
    while i < cnt:
        pBase = para.ChildObjects.get_Item(i) if isinstance(para.ChildObjects.get_Item(i), ParagraphBase) else None
        if isinstance(pBase, Footnote):
            index = i
            break
        i += 1
    if index > -1:
        # 段落から脚注を削除
        para.ChildObjects.RemoveAt(index)

# 結果のドキュメントを保存
document.SaveToFile("output/Wordの脚注を削除.docx")
document.Close()

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Published in 脚注

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 文書にヘッダーとフッターを挿入する

Word 文書にヘッダーやフッターを挿入するには、まず Section.HeadersFooters.Header または Section.HeadersFooters.Footer プロパティを取得し、それに段落を追加して、画像やテキスト、ページ番号、日付などを挿入します。

ヘッダーとフッターを追加する手順

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
  • Document.Sections.get_Item() メソッドを使用して、対象のセクションを取得します。
  • ヘッダーを追加する
    • Section.HeadersFooters.Header プロパティを使用してヘッダーを取得します。
    • HeaderFooter.AddParagraph() メソッドで段落を追加し、段落の配置を設定します。
    • Paragraph.AppendPicture() メソッドで画像を追加し、画像の折り返しスタイルや位置を設定します。
    • Paragraph.AppendText() メソッドでテキストを追加し、フォント名、サイズ、色などを設定します。
  • フッターを追加する
    • Section.HeadersFooters.Footer プロパティを使用してフッターを取得します。
    • フッターに段落を追加し、テキストを挿入します。
    • Paragraph.Format.Borders プロパティを使用してフッターの枠線を取得し、上部の罫線スタイルや間隔を設定します。
  • Document.SaveToFile() メソッドを使用して、変更後の文書を保存します。
  • Python
from spire.doc import Document, HorizontalAlignment, TextWrappingStyle, VerticalOrigin, ShapeVerticalAlignment, Color, BorderStyle

# Document オブジェクトを作成します
document = Document()

# Word 文書を読み込みます
document.LoadFromFile("Sample.docx")

# 最初のセクションを取得します
section = document.Sections.get_Item(0)

# ヘッダーを取得します
header = section.HeadersFooters.Header

# ヘッダーに段落を追加し、配置スタイルを設定します
headerParagraph = header.AddParagraph()
headerParagraph.Format.HorizontalAlignment = HorizontalAlignment.Left

# ヘッダーの段落に画像を追加し、折り返しスタイルと位置を設定します
headerPicture = headerParagraph.AppendPicture("Logo.png")
headerPicture.TextWrappingStyle = TextWrappingStyle.Square
headerPicture.VerticalOrigin = VerticalOrigin.Paragraph
headerPicture.VerticalAlignment = ShapeVerticalAlignment.Center

# ヘッダーの段落にテキストを追加し、フォントスタイルを設定します
text = headerParagraph.AppendText("Spire.Doc for Python\nPython 用 Word 文書処理マスター")
text.CharacterFormat.FontName = "Yu Gothic UI"
text.CharacterFormat.FontSize = 10
text.CharacterFormat.Bold = True
text.CharacterFormat.TextColor = Color.get_Blue()

# フッターを取得します
footer = section.HeadersFooters.Footer

# フッターに段落を追加し、配置スタイルを設定します
footerParagraph = footer.AddParagraph()
footerParagraph.Format.HorizontalAlignment = HorizontalAlignment.Center

# フッターの段落にテキストを追加し、フォントスタイルを設定します
text = footerParagraph.AppendText("Copyright © 2013 e-iceblue. すべての権利を保有。")
text.CharacterFormat.FontName = "Yu Gothic UI"
text.CharacterFormat.FontSize = 10

# フッターの段落に罫線を設定します
footerParagraph.Format.Borders.Top.BorderType = BorderStyle.Single
footerParagraph.Format.Borders.Top.Space = 0.05

# 結果のファイルを保存します
document.SaveToFile("output/Wordのヘッダーとフッター.docx")
document.Close()

PythonでWord文書にヘッダーとフッターを挿入

最初のページと他のページで異なるヘッダー・フッター

最初のページのみにヘッダーやフッターを追加する場合、または最初のページとそれ以外のページで異なるヘッダーやフッターを設定したい場合があります。

Spire.Doc for Python では、Section.PageSetup.DifferentFirstPageHeaderFooter プロパティを使用することで、最初のページ専用のヘッダーやフッターを設定できます。以下の手順で実装できます。

最初のページとその他のページで異なるヘッダー・フッターを設定する手順

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドで Word 文書を読み込みます。
  • Document.Sections.get_Item() メソッドを使用して、対象のセクションを取得します。
  • Section.PageSetup.DifferentFirstPageHeaderFooter プロパティを True に設定し、最初のページのヘッダー・フッターを有効化します。
  • Section.HeadersFooters.FirstPageHeader プロパティを使用して最初のページのヘッダーを取得します。
  • 段落を追加し、画像を挿入します。
  • Section.HeadersFooters.FirstPageFooter プロパティを使用して最初のページのフッターを取得します。
  • 段落を追加し、テキストを挿入します。
  • その他のページのヘッダー・フッターを設定します。(最初のページのみにヘッダー・フッターを追加する場合は、この手順は不要です。)
  • Document.SaveToFile() メソッドで保存します。
  • Python
from spire.doc import Document, HorizontalAlignment, Color, BorderStyle

# Document オブジェクトを作成します
doc = Document()

# Word 文書を読み込みます
doc.LoadFromFile("Sample.docx")

# 最初のセクションを取得します
section = doc.Sections.get_Item(0)

# 先頭ページとその他のページで異なるヘッダーとフッターを有効にします
section.PageSetup.DifferentFirstPageHeaderFooter = True

# 先頭ページのヘッダーに段落を追加し、配置スタイルを設定します
headerParagraph = section.HeadersFooters.FirstPageHeader.AddParagraph()
headerParagraph.Format.HorizontalAlignment = HorizontalAlignment.Right

# ヘッダーの段落に画像を追加します
headerImage = headerParagraph.AppendPicture("Logo1.png")

# 先頭ページのフッターに段落を追加し、配置スタイルを設定します
footerParagraph = section.HeadersFooters.FirstPageFooter.AddParagraph()
footerParagraph.Format.HorizontalAlignment = HorizontalAlignment.Center

# フッターの段落にテキストを追加し、フォントスタイルを設定します
text = footerParagraph.AppendText("異なる最初のページのフッター")
text.CharacterFormat.FontSize = 11
text.CharacterFormat.FontName = "Yu Gothic UI"

# その他のページのヘッダーとフッターを設定します
# 先頭ページのみヘッダーとフッターを設定する場合、この処理は不要です
para = section.HeadersFooters.Header.AddParagraph()
para.Format.HorizontalAlignment = HorizontalAlignment.Left
paraText = para.AppendText("プロフェッショナルなWord Python API")
paraText.CharacterFormat.FontSize = 12
paraText.CharacterFormat.TextColor = Color.get_DeepPink()
paraText.CharacterFormat.FontName = "Yu Gothic UI"
para.Format.Borders.Bottom.BorderType = BorderStyle.Single
para.Format.Borders.Bottom.Space = 0.05

paragraph = section.HeadersFooters.Footer.AddParagraph()
paragraph.Format.HorizontalAlignment = HorizontalAlignment.Center
paraText = paragraph.AppendText("Spire.Doc for Python")
paraText.CharacterFormat.FontSize = 12
paraText.CharacterFormat.FontName = "Yu Gothic UI"
paraText.CharacterFormat.Bold = True
paraText.CharacterFormat.TextColor = Color.get_DodgerBlue()

# 結果の文書を保存します
doc.SaveToFile("output/異なる最初のページのヘッダーとフッター.docx")
doc.Close()

Spire.Docで挿入された異なる最初のページのヘッダーとフッター

奇数・偶数ページで異なるヘッダー・フッター

奇数ページと偶数ページで異なるヘッダーやフッターを設定するには、Spire.Doc for Python の Section.PageSetup.DifferentOddAndEvenPagesHeaderFooter プロパティを使用します。以下の手順で実装できます。

奇数ページと偶数ページで異なるヘッダー・フッターを設定する手順

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドで Word 文書を読み込みます。
  • Document.Sections.get_Item() メソッドを使用して、対象のセクションを取得します。
  • Section.PageSetup.DifferentOddAndEvenPagesHeaderFooter プロパティを True に設定し、奇数ページと偶数ページで異なるヘッダー・フッターを有効化します。
  • Section.HeadersFooters.OddHeader および Section.HeadersFooters.OddFooter プロパティを使用して、奇数ページのヘッダーとフッターを取得します。
  • 段落を追加し、テキストを挿入します。
  • Section.HeadersFooters.EvenHeader および Section.HeadersFooters.EvenFooter プロパティを使用して、偶数ページのヘッダーとフッターを取得します。
  • 段落を追加し、テキストを挿入します。
  • Document.SaveToFile() メソッドで保存します。
  • Python
from spire.doc import Document, HorizontalAlignment, Color

# Document オブジェクトを作成します
doc = Document()

# Word 文書を読み込みます
doc.LoadFromFile("Sample.docx")

# 最初のセクションを取得します
section = doc.Sections.get_Item(0)

# 奇数ページと偶数ページで異なるヘッダーとフッターを有効にします
section.PageSetup.DifferentOddAndEvenPagesHeaderFooter = True

# 奇数ページのヘッダーとフッターを追加します
OHPara = section.HeadersFooters.OddHeader.AddParagraph()
OHText = OHPara.AppendText("奇数ページのヘッダー")
OHPara.Format.HorizontalAlignment = HorizontalAlignment.Center
OHText.CharacterFormat.FontName = "Yu Gothic UI"
OHText.CharacterFormat.FontSize = 12
OHText.CharacterFormat.TextColor = Color.get_Red()

OFPara = section.HeadersFooters.OddFooter.AddParagraph()
OFText = OFPara.AppendText("奇数ページのフッター")
OFPara.Format.HorizontalAlignment = HorizontalAlignment.Center
OFText.CharacterFormat.FontName = "Yu Gothic UI"
OFText.CharacterFormat.FontSize = 12
OFText.CharacterFormat.TextColor = Color.get_Red()

# 偶数ページのヘッダーとフッターを追加します
EHPara = section.HeadersFooters.EvenHeader.AddParagraph()
EHText = EHPara.AppendText("偶数ページのヘッダー")
EHPara.Format.HorizontalAlignment = HorizontalAlignment.Center
EHText.CharacterFormat.FontName = "Yu Gothic UI"
EHText.CharacterFormat.FontSize = 12
EHText.CharacterFormat.TextColor = Color.get_Blue()

EFPara = section.HeadersFooters.EvenFooter.AddParagraph()
EFText = EFPara.AppendText("偶数ページのフッター")
EFPara.Format.HorizontalAlignment = HorizontalAlignment.Center
EFText.CharacterFormat.FontName = "Yu Gothic UI"
EFText.CharacterFormat.FontSize = 12
EFText.CharacterFormat.TextColor = Color.get_Blue()

# 結果の文書を保存します
doc.SaveToFile("output/奇数と偶数ページのヘッダーとフッター.docx")
doc.Close()

Pythonで挿入される奇数と偶数の異なるページヘッダーとフッター

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Word ドキュメントのフォントを変更すると、見た目や読みやすさが大きく変わります。文書のスタイルを向上させたり、特定のフォーマット要件に合わせたりするために、フォントの変更は有効です。Spire.Doc for Python を使用すると、Word ドキュメント内の段落または特定のテキストのフォントを変更できます。この記事では、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 で段落のフォントを変更する

Spire.Doc for Python を使用すると、ParagraphStyle オブジェクトを作成し、それを段落に適用することでフォント情報を指定できます。以下に、段落のフォントを変更する階段を紹介します。

  • Document インスタンスを作成します。
  • Document.LoadFromFile() メソッドを使用して Word ファイルを読み込みます。
  • Document.Sections[index] プロパティを使用して、特定のセクションを取得します。
  • Section.Paragraphs[index] プロパティを使用し、フォントを変更したい段落を取得します。
  • ParagraphStyle インスタンスを作成し、フォント名、フォントカラー、フォントスタイルを指定します。
  • Document.Styles.Add() メソッドを使用して、作成したスタイルをドキュメントに追加します。
  • Paragraph.ApplyStyle() メソッドを使用して、スタイルを段落に適用します。
  • Document.SaveToFile() メソッドを使用し、変更後の文書を保存します。
  • Python
from spire.doc import Document, ParagraphStyle, Color

# Document インスタンスを作成します
doc = Document()

# Word 文書を読み込みます
doc.LoadFromFile('Sample.docx')

# 最初のセクションを取得します
section = doc.Sections.get_Item(0)

# 特定の段落を取得します
paragraph = section.Paragraphs.get_Item(2)
print(paragraph.Text)

# 段落スタイルを作成します
style = ParagraphStyle(doc)
style.Name = '段落のフォント'
style.CharacterFormat.FontName = 'Yu Gothic UI'
style.CharacterFormat.Bold = True
style.CharacterFormat.Italic = True
style.CharacterFormat.TextColor = Color.get_Red()
doc.Styles.Add(style)

# スタイルを段落に適用します
paragraph.ApplyStyle(style.Name)

# 結果の文書を保存します
doc.SaveToFile('output/Wordの段落フォントの変更.docx')
doc.Dispose()

PythonでWord文書の段落のフォントを変更

Python で特定のテキストのフォントを変更する

Word ドキュメント内の特定の文字、句、文章のフォントを変更するためには、先に変更したいテキストを検索し、その文字に対してフォントカラーやスタイルを設定します。以下に詳細な階段を紹介します。

  • Document インスタンスを作成します。
  • Document.LoadFromFile() メソッドを使用して Word ファイルを読み込みます。
  • Document.FindAllString() メソッドを使用し、変更したい文字を検索します。
  • 検索結果をループ出力し、毎回の検索結果に対してフォントカラーやスタイルを変更します。
  • Document.SaveToFile() メソッドを使用し、変更後の文書を保存します。
  • Python
from spire.doc import Document, Color

# Document インスタンスを作成します
doc = Document()

# Word 文書を読み込みます
doc.LoadFromFile('Sample.docx')

# フォントを変更したいテキストを検索します
textSelections = doc.FindAllString('有効成分', False, True)

# テキストのフォントスタイルを変更します
for selection in textSelections:
    selection.GetAsOneRange().CharacterFormat.TextColor = Color.get_Red()
    selection.GetAsOneRange().CharacterFormat.Bold = True

# 結果の文書を保存します
doc.SaveToFile('output/Wordのテキストフォントの変更.docx')
doc.Dispose()

Spire.DocでWord文書テキストのフォントを変更

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Published in フォント

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.AppendComment() メソッドを使用して、指定した段落にコメントを追加できます。コメント対象のテキスト範囲は、コメントの開始マークと終了マークを設定することで制御します。以下の手順で段落にコメントを追加します。

  • Document クラスのオブジェクトを作成し、Document.LoadFromFile() メソッドで Word 文書を読み込みます。
  • Document.Sections.get_Item() メソッドを使用して最初のセクションを取得します。
  • Section.Paragraphs.get_Item() メソッドを使用して、そのセクションの最初の段落を取得します。
  • Paragraph.AppendComment() メソッドで、段落にコメントを追加します。
  • Comment.Format.Author プロパティを設定して、コメントの作成者を指定します。
  • コメントの開始マーク (CommentMark) と終了マーク (CommentMark) を作成し、それらを CommentMark.CommentId プロパティを通じてコメントの開始・終了位置として設定します。
  • Paragraph.ChildObjects.Insert() メソッドを使用して、コメントの開始マークと終了マークをそれぞれ段落の先頭と末尾に挿入します。
  • Document.SaveToFile() メソッドで Word 文書を保存します。
  • Python
from spire.doc import Document, CommentMark, CommentMarkType

# Document クラスのオブジェクトを作成し、Word 文書を読み込みます
doc = Document()
doc.LoadFromFile("Sample.docx")

# 最初のセクションを取得します
section = doc.Sections.get_Item(0)

# 4 番目の段落を取得します
paragraph = section.Paragraphs.get_Item(3)

# 段落にコメントを追加します
comment = paragraph.AppendComment("この部分はさらに説明が必要です。")

# コメントの著者を設定します
comment.Format.Author = "大輝"

# コメントの開始マークと終了マークを作成し、作成したコメントの開始マークと終了マークとして設定します
commentStart = CommentMark(doc, CommentMarkType.CommentStart)
commentEnd = CommentMark(doc, CommentMarkType.CommentEnd)
commentStart.CommentId = comment.Format.CommentId
commentEnd.CommentId = comment.Format.CommentId

# コメントの開始マークと終了マークを段落の先頭と末尾に挿入します
paragraph.ChildObjects.Insert(0, commentStart)
paragraph.ChildObjects.Add(commentEnd)

# 文書を保存します
doc.SaveToFile("output/段落へのコメント.docx")
doc.Close()

PythonでWordの段落にコメントを追加

Python で Word 文書のテキストにコメントを追加する

Spire.Doc for Python では、指定したテキストを検索し、その部分にコメントを追加することも可能です。以下の手順で、特定のテキストにコメントを追加します。

  • Document クラスのオブジェクトを作成し、Document.LoadFromFile() メソッドで Word 文書を読み込みます。
  • Document.FindString() メソッドを使用して、コメントを追加したいテキストを検索します。
  • Comment クラスのオブジェクトを作成し、Comment.Body.AddParagraph().Text プロパティでコメント内容を設定し、Comment.Format.Author プロパティで作成者を指定します。
  • TextSelection.GetAsOneRange() メソッドを使用して、検索したテキストを TextRange として取得し、TextRange.OwnerParagraph プロパティを使ってそのテキストが属する段落を取得します。
  • Paragraph.ChildObjects.Insert() メソッドで、検索したテキストの後にコメントを挿入します。
  • コメントの開始マーク (CommentMark) と終了マーク (CommentMark) を作成し、それらを CommentMark.CommentId プロパティを通じてコメントの開始・終了位置として設定します。
  • Paragraph.ChildObjects.Insert() メソッドを使用して、検索したテキストの前後にコメントの開始マークと終了マークを挿入します。
  • Document.SaveToFile() メソッドで Word 文書を保存します。
  • Python
from spire.doc import Document, Comment, CommentMark, CommentMarkType

# Document クラスのオブジェクトを作成し、Word 文書を読み込みます
doc = Document()
doc.LoadFromFile("Sample.docx")

# コメントを追加するテキストを検索します
text = doc.FindString("抗酸化作用", True, True)

# コメントを作成し、コメントの内容と著者を設定します
comment = Comment(doc)
comment.Body.AddParagraph().Text = "抗酸化作用について、さらに詳しく説明する必要があります。"
comment.Format.Author = "奈々"

# 検索したテキストをテキスト範囲として取得し、それが属する段落を取得します
range = text.GetAsOneRange()
paragraph = range.OwnerParagraph

# コメントを段落に追加します
paragraph.ChildObjects.Insert(paragraph.ChildObjects.IndexOf(range) + 1, comment)

# コメントの開始マークと終了マークを作成し、作成したコメントの開始マークと終了マークとして設定します
commentStart = CommentMark(doc, CommentMarkType.CommentStart)
commentEnd = CommentMark(doc, CommentMarkType.CommentEnd)
commentStart.CommentId = comment.Format.CommentId
commentEnd.CommentId = comment.Format.CommentId

# 作成したコメントの開始マークと終了マークを、検索したテキストの前後に挿入します
paragraph.ChildObjects.Insert(paragraph.ChildObjects.IndexOf(range), commentStart)
paragraph.ChildObjects.Insert(paragraph.ChildObjects.IndexOf(range) + 1, commentEnd)

# 文書を保存します
doc.SaveToFile("output/テキストへのコメント.docx")
doc.Close()

Spire.DocでWordのテキストにコメントを追加

Python で Word 文書のコメントを削除する

Spire.Doc for Python では、Document.Comments.RemoveAt() メソッドを使用して特定のコメントを削除できます。また、Document.Comments.Clear() メソッドを使用すれば、すべてのコメントを削除できます。以下の手順でコメントを削除します。

  • Document クラスのオブジェクトを作成し、Document.LoadFromFile() メソッドで Word 文書を読み込みます。
  • Document.Comments.RemoveAt() メソッドを使用して特定のコメントを削除する、または Document.Comments.Clear() メソッドですべてのコメントを削除します。
  • Document.SaveToFile() メソッドで Word 文書を保存します。
  • Python
from spire.doc import Document

# Document クラスのオブジェクトを作成し、Word 文書を読み込みます
doc = Document()
doc.LoadFromFile("Sample1.docx")

# 2 番目のコメントを削除します
doc.Comments.RemoveAt(1)

# すべてのコメントを削除します
# doc.Comments.Clear()

# 文書を保存します
doc.SaveToFile("output/コメントの削除.docx")
doc.Close()

PythonでWordからコメントを削除

Python で Word 文書のコメントに返信する

Spire.Doc for Python を使用すると、Comment.ReplyToComment(Comment) メソッドを利用して、特定のコメントに対して返信を追加できます。以下の手順でコメントに返信を追加します。

  • Document クラスのオブジェクトを作成し、Document.LoadFromFile() メソッドで Word 文書を読み込みます。
  • Document.Comments.get_Item() メソッドを使用して、対象のコメントを取得します。
  • Comment クラスのオブジェクトを作成し、Comment.Body.AddParagraph().Text プロパティでコメント内容を設定し、Comment.Format.Author プロパティで作成者を指定します。
  • Comment.ReplyToComment() メソッドを使用して、作成したコメントを取得したコメントへの返信として設定します。
  • Document.SaveToFile() メソッドで Word 文書を保存します。
  • Python
from spire.doc import Document, Comment

# Document クラスのオブジェクトを作成し、Word 文書を読み込みます
doc = Document()
doc.LoadFromFile("output/テキストへのコメント.docx")

# コメントを取得します
comment = doc.Comments.get_Item(0)

# 返信コメントを作成し、内容と著者を設定します
reply = Comment(doc)
reply.Body.AddParagraph().Text = "これは次のバージョンに追加されます。"
reply.Format.Author = "優花"


# 取得したコメントへの返信として作成したコメントを設定します
comment.ReplyToComment(reply)

# 文書を保存します
doc.SaveToFile("output/コメントへの返信.docx")
doc.Close()

Python用Spire.DocでWordのコメントに返信

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Published in コメント

Word 文書にブックマークを追加すると、特定の位置をマークしてすばやく参照したり移動したりできるようになります。ブックマークは仮想的な目印として機能し、長い文書内の重要なセクションを簡単に見つけるのに役立ちます。本記事では、Spire.Doc for Python を使用して Word 文書にブックマークを追加する方法を紹介します。

Spire.Doc for Python のインストール

この操作には、Spire.Doc for Python と plum-dispatch v1.7.4 が必要です。これらは、Spire.Doc for Python の公式ウェブサイトから手動でダウンロードするか、以下の pip コマンドでインストールできます。

pip install Spire.Doc

Word の段落にブックマークを追加する

Spire.Doc for Python では、BookmarkStart クラスがブックマークの開始位置を、BookmarkEnd クラスがブックマークの終了位置を表します。段落をブックマークするには、段落の先頭に BookmarkStart オブジェクトを挿入し、末尾に BookmarkEnd オブジェクトを追加します。具体的な手順は次のとおりです。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word ファイルを読み込みます。
  • Document.Sections[index].Paragraphs[index] プロパティを使用して対象の段落を取得します。
  • Paragraph.AppendBookmarkStart() メソッドで BookmarkStart を作成し、Paragraph.Items.Insert() メソッドで段落の先頭に挿入します。
  • Paragraph.AppendBookmarkEnd() メソッドを使用して段落の末尾に BookmarkEnd を追加します。
  • Document.SaveToFile() メソッドを使用して、文書を別の Word ファイルとして保存します。
  • Python
from spire.doc import Document

# Document オブジェクトを作成します
doc = Document()

# サンプルの Word ファイルを読み込みます
doc.LoadFromFile('Sample.docx')

# 2 番目の段落を取得します
paragraph = doc.Sections.get_Item(0).Paragraphs.get_Item(1)

# ブックマークの開始を作成します
start = paragraph.AppendBookmarkStart('ブックマーク 1')

# 段落の先頭に挿入します
paragraph.Items.Insert(0, start)

# 段落の末尾にブックマークの終了を追加します
paragraph.AppendBookmarkEnd('ブックマーク 1')

# ファイルを保存します
doc.SaveToFile('output/段落にブックマークを追加.docx')
doc.Dispose()

Spire.DocでWord文書の段落にブックマークを挿入

特定の Word のテキストにブックマークを追加する

特定のテキストをブックマークするには、まず文書内で該当するテキストを見つけ、その段落内の位置を取得します。次に、そのテキストの前に BookmarkStart を、後に BookmarkEnd を挿入します。具体的な手順は次のとおりです。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word ファイルを読み込みます。
  • 文書内でブックマークを付けたい文字列を検索します。
  • その文字列が属する段落を取得し、段落内での位置を特定します。
  • 文字列の前に BookmarkStart を挿入し、後に BookmarkEnd を挿入します。
  • Document.SaveToFile() メソッドを使用して、文書を別の Word ファイルとして保存します。
  • Python
from spire.doc import Document

# Document オブジェクトを作成します
doc = Document()

# サンプルの Word ファイルを読み込みます
doc.LoadFromFile('Sample.docx')

# 検索する文字列を指定します
stringToFind = '抗酸化作用'

# 文書内で指定した文字列を検索します
finds = doc.FindAllString(stringToFind, False, True)
specificText = finds[0]

# 検索した文字列が含まれる段落を取得します
paragraph = specificText.GetAsOneRange().OwnerParagraph

# 段落内での文字列のインデックスを取得します
index = paragraph.ChildObjects.IndexOf(specificText.GetAsOneRange())

# ブックマークの開始を作成します
start = paragraph.AppendBookmarkStart("ブックマーク 2")

# 指定したインデックスの位置にブックマークの開始を挿入します
paragraph.ChildObjects.Insert(index, start)

# ブックマークの終了を作成します
end = paragraph.AppendBookmarkEnd("ブックマーク 2")

# 検索した文字列の末尾にブックマークの終了を挿入します
paragraph.ChildObjects.Insert(index + 2, end)

# 文書を別のファイルとして保存します
doc.SaveToFile("output/テキストにブックマークを挿入.docx")
doc.Dispose()

PythonでWord文書のテキストにブックマークを挿入

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Published in ブックマーク

ハイパーリンクは、動的でインタラクティブな 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.AppendHyperlink() メソッドを提供します。以下に詳細な手順を示します。

  • Document オブジェクトを作成します。
  • セクションと段落を追加します。
  • Paragraph.AppendHyperlink(link: str, text: str, type: HyperlinkType) メソッドを使用して、テキストに基づいたハイパーリンクを挿入します。
  • Paragraph.AppendPicture() メソッドを使用して、段落に画像を追加します。
  • Paragraph.AppendHyperlink(link: str, picture: DocPicture, type: HyperlinkType) メソッドを使用して、画像に基づいたハイパーリンクを挿入します。
  • Document.SaveToFile() メソッドを使用して、結果の文書を保存します。
  • Python
from spire.doc import *

# Word文書を作成する
doc = Document()

# セクションを追加する
section = doc.AddSection()
section.PageSetup.Margins.All = 72.0

# 段落スタイルを作成する
style = ParagraphStyle(doc)
style.Name = "例のスタイル"
style.CharacterFormat.FontName = "Yu Gothic UI"
style.CharacterFormat.FontSize = 16.0
doc.Styles.Add(style)

# 段落を追加する
paragraph = section.AddParagraph()
paragraph.ApplyStyle(style.Name)
paragraph.AppendHyperlink("https://jp.e-iceblue.com/", "ホームページ", HyperlinkType.WebLink)

# 改行を挿入する
paragraph.AppendBreak(BreakType.LineBreak)
paragraph.AppendBreak(BreakType.LineBreak)

# メールリンクを追加する
paragraph.AppendHyperlink("mailto:support @e-iceblue.com", "メールを送る", HyperlinkType.EMailLink)

# 改行を挿入する
paragraph.AppendBreak(BreakType.LineBreak)
paragraph.AppendBreak(BreakType.LineBreak)

# ファイルリンクを追加する
filePath = "レポート.xlsx"
paragraph.AppendHyperlink(filePath, "レポートを開く", HyperlinkType.FileLink)

# 改行を挿入する
paragraph.AppendBreak(BreakType.LineBreak)
paragraph.AppendBreak(BreakType.LineBreak)

# 別のセクションを追加し、ブックマークを作成する
section2 = doc.AddSection()
bookmarkParagraph = section2.AddParagraph()
bookmarkParagraph.AppendText("ここにブックマークがあります")
start = bookmarkParagraph.AppendBookmarkStart("myBookmark")
bookmarkParagraph.Items.Insert(0, start)
bookmarkParagraph.AppendBookmarkEnd("myBookmark")

# ブックマークへのリンクを追加する
paragraph.AppendHyperlink("myBookmark", "この文書内の場所へ移動", HyperlinkType.Bookmark)

# 改行を挿入する
paragraph.AppendBreak(BreakType.LineBreak)
paragraph.AppendBreak(BreakType.LineBreak)

# 画像リンクを追加する
imagePath = "Logo.png"
picture = paragraph.AppendPicture(imagePath)
paragraph.AppendHyperlink("https://jp.e-iceblue.com/", picture, HyperlinkType.WebLink)

# ファイルに保存する
doc.SaveToFile("output/Wordでハイパーリンクを作成.docx", FileFormat.Docx2019)
doc.Dispose()

PythonコードによるWord文書へのハイパーリンク挿入

Python で Word からハイパーリンクを削除する

Word 文書内のすべてのハイパーリンクを一度に削除するには、文書内のすべてのハイパーリンクを見つけて、それらをフラット化するカスタムメソッド FlattenHyperlinks() を作成する必要があります。以下に詳細な手順を示します。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して、サンプルの Word 文書を読み込みます。
  • カスタムメソッド FindAllHyperlinks() を使用して、文書内のすべてのハイパーリンクを見つけます。
  • ハイパーリンクをループして、カスタムメソッド FlattenHyperlinks() を使用してすべてをフラット化します。
  • Document.SaveToFile() メソッドを使用して、結果の文書を保存します。
  • Python
from spire.doc import *
from spire.doc.common import *


# ドキュメント内のすべてのハイパーリンクを検索する関数
def FindAllHyperlinks(document):
    hyperlinks = []
    for i in range(document.Sections.Count):
        section = document.Sections.get_Item(i)
        for j in range(section.Body.ChildObjects.Count):
            sec = section.Body.ChildObjects.get_Item(j)
            if sec.DocumentObjectType == DocumentObjectType.Paragraph:
                for k in range((sec if isinstance(sec, Paragraph) else None).ChildObjects.Count):
                    para = (sec if isinstance(sec, Paragraph)
                            else None).ChildObjects.get_Item(k)
                    if para.DocumentObjectType == DocumentObjectType.Field:
                        field = para if isinstance(para, Field) else None
                        if field.Type == FieldType.FieldHyperlink:
                            hyperlinks.append(field)
    return hyperlinks


# ハイパーリンクフィールドを平坦化する関数
def FlattenHyperlinks(field):
    ownerParaIndex = field.OwnerParagraph.OwnerTextBody.ChildObjects.IndexOf(
        field.OwnerParagraph)
    fieldIndex = field.OwnerParagraph.ChildObjects.IndexOf(field)
    sepOwnerPara = field.Separator.OwnerParagraph
    sepOwnerParaIndex = field.Separator.OwnerParagraph.OwnerTextBody.ChildObjects.IndexOf(
        field.Separator.OwnerParagraph)
    sepIndex = field.Separator.OwnerParagraph.ChildObjects.IndexOf(
        field.Separator)
    endIndex = field.End.OwnerParagraph.ChildObjects.IndexOf(field.End)
    endOwnerParaIndex = field.End.OwnerParagraph.OwnerTextBody.ChildObjects.IndexOf(
        field.End.OwnerParagraph)

    FormatFieldResultText(field.Separator.OwnerParagraph.OwnerTextBody,
                          sepOwnerParaIndex, endOwnerParaIndex, sepIndex, endIndex)

    field.End.OwnerParagraph.ChildObjects.RemoveAt(endIndex)

    for i in range(sepOwnerParaIndex, ownerParaIndex - 1, -1):
        if i == sepOwnerParaIndex and i == ownerParaIndex:
            for j in range(sepIndex, fieldIndex - 1, -1):
                field.OwnerParagraph.ChildObjects.RemoveAt(j)

        elif i == ownerParaIndex:
            for j in range(field.OwnerParagraph.ChildObjects.Count - 1, fieldIndex - 1, -1):
                field.OwnerParagraph.ChildObjects.RemoveAt(j)

        elif i == sepOwnerParaIndex:
            for j in range(sepIndex, -1, -1):
                sepOwnerPara.ChildObjects.RemoveAt(j)
        else:
            field.OwnerParagraph.OwnerTextBody.ChildObjects.RemoveAt(i)


# フィールドをテキスト範囲に変換し、テキストの書式設定をクリアする関数
def FormatFieldResultText(ownerBody, sepOwnerParaIndex, endOwnerParaIndex, sepIndex, endIndex):
    for i in range(sepOwnerParaIndex, endOwnerParaIndex + 1):
        para = ownerBody.ChildObjects[i] if isinstance(
            ownerBody.ChildObjects[i], Paragraph) else None
        if i == sepOwnerParaIndex and i == endOwnerParaIndex:
            for j in range(sepIndex + 1, endIndex):
                if isinstance(para.ChildObjects[j], TextRange):
                    FormatText(para.ChildObjects[j])

        elif i == sepOwnerParaIndex:
            for j in range(sepIndex + 1, para.ChildObjects.Count):
                if isinstance(para.ChildObjects[j], TextRange):
                    FormatText(para.ChildObjects[j])
        elif i == endOwnerParaIndex:
            for j in range(0, endIndex):
                if isinstance(para.ChildObjects[j], TextRange):
                    FormatText(para.ChildObjects[j])
        else:
            for j, unusedItem in enumerate(para.ChildObjects):
                if isinstance(para.ChildObjects[j], TextRange):
                    FormatText(para.ChildObjects[j])


# テキストをフォーマットする関数
def FormatText(tr):
    tr.CharacterFormat.TextColor = Color.get_Black()
    tr.CharacterFormat.UnderlineStyle = UnderlineStyle.none


# ドキュメントオブジェクトを作成
doc = Document()

# Wordファイルを読み込む
doc.LoadFromFile("output/Wordでハイパーリンクを作成.docx")

# すべてのハイパーリンクを取得
hyperlinks = FindAllHyperlinks(doc)

# すべてのハイパーリンクを平坦化
for i in range(len(hyperlinks) - 1, -1, -1):
    FlattenHyperlinks(hyperlinks[i])

# 異なるファイルに保存
doc.SaveToFile("output/Wordからハイパーリンクを削除.docx")
doc.Close()

Spire.DocでWord文書からハイパーリンクを削除

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Published in ハイパーリンク

Word 文書に画像を挿入すると、大量のテキストを分割し、内容を視覚的にわかりやすくすることができます。また、複雑な概念や説明しにくい内容を効果的に伝える手段にもなります。本記事では、Spire.Doc for 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.AppendPicture() メソッドを使用して Word 文書に画像を挿入できます。以下の手順で実装できます。

  • Document オブジェクトを作成します。
  • Document.AddSection() メソッドを使用してセクションを追加します。
  • Section.AddParagraph() メソッドを使用して、セクションに 2 つの段落を追加します。
  • 段落にテキストを追加し、書式を設定します。
  • 画像を読み込み、Paragraph.AppendPicture() メソッドを使用して指定した段落に追加します。
  • DocPicture.Width および DocPicture.Height プロパティを使用して、画像の幅と高さを設定します。
  • DocPicture.TextWrappingStyle プロパティを使用して、画像のテキストの折り返しスタイルを設定します。
  • Document.SaveToFile() メソッドを使用して、結果の文書を保存します。
  • Python
from spire.doc import Document, TextWrappingStyle, FileFormat

# Documentオブジェクトを作成
document = Document()

# セクションを追加
section = document.AddSection()
section.PageSetup.Margins.All = 50

# 段落を追加
paragraph1 = section.AddParagraph()
# 段落にテキストを追加し、フォーマットを設定
tr = paragraph1.AppendText("Spire.Doc for Pythonは、開発者が高速かつ高品質なパフォーマンスでWord文書を作成、読み取り、書き込み、変換、および比較するために特別に設計されたプロフェッショナルなWord Python APIです。")
tr.CharacterFormat.FontName = "Yu Gothic UI"
tr.CharacterFormat.FontSize = 11
paragraph1.Format.LineSpacing = 18
paragraph1.Format.BeforeSpacing = 10
paragraph1.Format.AfterSpacing = 10

# 別の段落を追加
paragraph2 = section.AddParagraph()
tr = paragraph2.AppendText("Spire.Doc for Pythonは、多くのWord文書処理タスクを実行することを可能にします。Word 97-2003 / 2007 / 2010 / 2013 / 2016 / 2019をサポートしており、XML、RTF、TXT、XPS、EPUB、EMF、HTMLなどの一般的に使用されるファイル形式への変換やその逆も可能です。さらに、Pythonを使用してWord Doc/DocxをPDFに変換したり、WordをSVGやPostScriptに高品質で変換することをサポートしています。")
# 段落にテキストを追加し、フォーマットを設定
tr.CharacterFormat.FontName = "Yu Gothic UI"
tr.CharacterFormat.FontSize = 11
paragraph2.Format.LineSpacing = 18

# 指定した段落に画像を追加
picture = paragraph1.AppendPicture("Spire.Doc for Python.png")

# 画像の幅と高さを設定
picture.Width = 100
picture.Height = 100

# 画像のテキスト折り返しスタイルを設定
picture.TextWrappingStyle = TextWrappingStyle.Square

# 結果の文書を保存
document.SaveToFile("output/Wordに画像を挿入.docx", FileFormat.Docx)
document.Close()

Spire.Doc for PythonでWord文書に画像を挿入

Python で Word 文書の指定位置に画像を挿入する

画像を Word 文書の特定の位置に配置したい場合は、DocPicture.HorizontalPosition および DocPicture.VerticalPosition プロパティを設定することで調整できます。以下の手順で実装できます。

  • Document オブジェクトを作成します。
  • Document.AddSection() メソッドを使用してセクションを追加します。
  • Section.AddParagraph() メソッドを使用して、セクションに段落を追加します。
  • 段落にテキストを追加し、書式を設定します。
  • Paragraph.AppendPicture() メソッドを使用して、段落に画像を追加します。
  • DocPicture.Width および DocPicture.Height プロパティを使用して、画像の幅と高さを設定します。
  • DocPicture.HorizontalPosition および DocPicture.VerticalPosition プロパティを使用して、画像の横位置と縦位置を設定します。
  • DocPicture.TextWrappingStyle プロパティを使用して、画像のテキストの折り返しスタイルを設定します。
  • Document.SaveToFile() メソッドを使用して、結果の文書を保存します。
  • Python
from spire.doc import Document, FileFormat, TextWrappingStyle, Color

# Document オブジェクトを作成します。
doc = Document()

# セクションを追加します。
section = doc.AddSection()
section.PageSetup.Margins.All = 50

# セクションに段落を追加します。
paragraph = section.AddParagraph()

# 段落にテキストを追加し、書式を設定します。
textRange = paragraph.AppendText("このサンプルは、Word 文書の指定した位置に画像を挿入する方法を示します。")
textRange.CharacterFormat.FontName = "Yu Gothic UI"
textRange.CharacterFormat.FontSize = 14
textRange.CharacterFormat.TextColor = Color.get_BlueViolet()

# 段落に画像を追加します。
picture = paragraph.AppendPicture("Image.jpg")

# 画像の位置を設定します。
picture.HorizontalPosition = 150.0
picture.VerticalPosition = 80.0

# 画像のサイズを設定します。
picture.Width = 100.0
picture.Height = 160.0

# 画像の折り返しスタイルを設定します。
# (テキストの折り返しスタイルが「インライン」の場合、位置設定は適用されません。)
picture.TextWrappingStyle = TextWrappingStyle.Through

# 文書を保存します。
doc.SaveToFile("output/Wordに画像を挿入.docx", FileFormat.Docx)
doc.Close()

PythonでWord文書に任意の位置に画像を挿入

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Published in 画像と図形

Word 文書に背景色や画像を追加することで、視覚的な魅力を高め、読者の関心を引くことができます。プロフェッショナルなレポート、クリエイティブなチラシ、個人的な招待状など、適切な背景色や画像を取り入れることで、通常の文書を魅力的な作品へと変えることが可能です。本記事では、Spire.Doc for Python を使用して、Word 文書に背景色や背景画像を追加する方法を紹介します。

Spire.Doc for Python のインストール

この操作には、Spire.Doc for Python と plum-dispatch v1.7.4 が必要です。これらは、Spire.Doc for Python の公式ウェブサイトから手動でダウンロードするか、以下の pip コマンドでインストールできます。

pip install Spire.Doc

Word 文書に背景色を追加する

Word 文書の背景色を設定するには、背景の種類を「Color」に変更し、背景色を指定します。具体的な手順は以下のとおりです。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
  • Document.Background プロパティを取得して背景を取得します。
  • Background.Type プロパティを「Color」に設定します。
  • Background.Color プロパティで背景色を設定します。
  • Document.SaveToFile() メソッドを使用して変更後の文書を保存します。
  • Python
from spire.doc import Document, BackgroundType, Color

# Document オブジェクトを作成します
document = Document()
# Word 文書を読み込みます
document.LoadFromFile("Sample.docx")

# 文書の背景を取得します
background = document.Background

# 背景の種類をカラーに設定します
background.Type = BackgroundType.Color
# 背景色を設定します
background.Color = Color.get_AliceBlue()

# 処理結果の文書を保存します
document.SaveToFile("output/背景色の追加.docx")
document.Close()

Spire.Doc for Pythonで追加されたWord文書の単一色背景

Word 文書にグラデーション背景を追加する

グラデーション背景とは、2 色以上の色が滑らかに移り変わる背景スタイルです。グラデーション背景を追加するには、背景の種類を「Gradient」に変更し、グラデーションの色、シェーディングのバリエーション、スタイルを指定します。具体的な手順は以下のとおりです。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
  • Document.Background プロパティを取得して背景を取得します。
  • Background.Type プロパティを「Gradient」に設定します。
  • Background.Gradient.Color1 および Background.Gradient.Color2 プロパティで2つのグラデーション色を設定します。
  • Background.Gradient.ShadingVariant および Background.Gradient.ShadingStyle プロパティでグラデーションのシェーディングバリエーションとスタイルを設定します。
  • Document.SaveToFile() メソッドを使用して変更後の文書を保存します。
  • Python
from spire.doc import Document, BackgroundType, Color, GradientShadingStyle, GradientShadingVariant

# Document オブジェクトを作成します
document = Document()
# Word 文書を読み込みます
document.LoadFromFile("Sample.docx")

# 文書の背景を取得します
background = document.Background

# 背景の種類をグラデーションに設定します
background.Type = BackgroundType.Gradient

# 2 色のグラデーションを設定します
background.Gradient.Color1 = Color.get_White()
background.Gradient.Color2 = Color.get_LightBlue()

# グラデーションのシェーディングのバリアントとスタイルを設定します
background.Gradient.ShadingVariant = GradientShadingVariant.ShadingDown
background.Gradient.ShadingStyle = GradientShadingStyle.Horizontal

# 処理結果の文書を保存します
document.SaveToFile("output/グラデーション背景の追加.docx")
document.Close()

Pythonを使ったWord文書のグラデーション背景設定

Word 文書に背景画像を追加する

Word 文書の背景に画像を追加するには、背景の種類を「Picture」に変更し、画像を設定します。具体的な手順は以下のとおりです。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
  • Document.Background プロパティを取得して背景を取得します。
  • Background.Type プロパティを「Picture」に設定します。
  • Background.SetPicture() メソッドを使用して背景画像を設定します。
  • Document.SaveToFile() メソッドを使用して変更後の文書を保存します。
  • Python
from spire.doc import Document, BackgroundType

# Document オブジェクトを作成します
document = Document()
# Word 文書を読み込みます
document.LoadFromFile("Sample.docx")

# 文書の背景を取得します
background = document.Background

# 背景の種類を画像に設定します
background.Type = BackgroundType.Picture

# 背景画像を設定します
background.SetPicture("BackgroundImage.jpg")

# 処理結果の文書を保存します
document.SaveToFile("output/背景画像の追加.docx")
document.Close()

PythonコードでWord文書の画像背景を追加

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Published in ページの背景
1 / 2