0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pythonを使用してWord文書から空白行を削除する

Posted at

空白段落は、文書の構造を乱し、レイアウトの混乱や可読性の低下を引き起こすだけでなく、自動化されたテキスト分析、データ抽出、フォーマット変換などの後続プロセスに干渉する可能性があります。数百ページに及ぶ文書や定期的なメンテナンスが必要な場合、手動で削除するのは時間がかかり、人的ミスが発生しやすいため、Pythonを使ってプログラムで自動化処理を行うことで、操作の精度とプロセスの標準化が大幅に向上します。本記事では、Pythonを使用してWord文書から空白段落を一括削除する方法について説明します。

本記事で使用する方法には、無料のFree Spire.Doc for Pythonライブラリが必要です。PyPI: pip install spire.doc.free

PythonでWord文書の空白段落を削除する方法

ライブラリのクラスとメソッドを使用して、Word文書の各セクションとその中の段落を繰り返し処理し、空の段落を検出して削除することで、文書内の空白段落を一括で削除できます。以下は、詳細な操作手順です:

  1. Documentオブジェクトを作成し、Word文書を処理します。
  2. LoadFromFileメソッドを使用して指定されたWord文書を読み込みます。
  3. 文書内の各セクション(section)を繰り返し処理し、その中の各子オブジェクトをチェックします。
  4. 各子オブジェクトがParagraph型であり、その内容が空であれば、その段落を文書から削除します。
  5. すべてのセクションと段落の処理が完了した後、修正された文書を新しいファイルとして保存します。
  6. リソースを解放するために文書オブジェクトを閉じます。

コード例

from spire.doc import Document, DocumentObjectType, Paragraph

# Documentクラスのオブジェクトを作成
doc = Document()

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

# 文書内の各セクションを繰り返し処理
for i in range(doc.Sections.Count):
    section = doc.Sections.get_Item(i)
    j = 0
    # セクション内の各子オブジェクトを繰り返し処理
    while j < section.Body.ChildObjects.Count:
        # 子オブジェクトがParagraph型かどうかをチェック
        if section.Body.ChildObjects[j].DocumentObjectType == DocumentObjectType.Paragraph:
            objItem = section.Body.ChildObjects[j]
            # 子オブジェクトがParagraphクラスのインスタンスかどうかをチェック
            if isinstance(objItem, Paragraph):
                paraObj = Paragraph(objItem)
                # 段落のテキストが空かどうかをチェック
                if len(paraObj.Text) == 0:
                    # テキストが空の場合、セクションの子オブジェクトリストから削除
                    section.Body.ChildObjects.Remove(objItem)
                    j -= 1
        j += 1

# 文書を保存
doc.SaveToFile("output/空白行の削除.docx")
doc.Close()

結果
2025-02-28_175616.png

本記事では、Pythonを使用してWord文書内の空白段落を削除する方法について紹介しました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?