pptx_notes_word プログラム仕様
- 概要:
PowerPointのpptxファイルとノートファイル間のノートテキストを変換します。
- 詳細説明:
word2pptxモードでは、docxファイルやtxtファイル、mdファイルからスライドセクションを読み込み、 対応するPowerPointスライドのノートを上書きします。 pptx2wordモードでは、PowerPointスライドのすべてのノートを抽出し、 docxファイルやtxtファイル、mdファイルに保存します。 スライドのヘッダーは特定のパターンで認識され、スライド 3 や Slide 3 のような書式に対応します。 依存関係としてpython-pptxが必要で、docxファイルを扱う場合はpython-docxが必要です。
- pptx_notes_word.build_parser() ArgumentParser
- 概要:
コマンドライン引数のパーサーを構築します。
- 戻り値:
- returns:
設定済みの引数パーサーオブジェクト。
- rtype:
argparse.ArgumentParser
- pptx_notes_word.compose_notes(manuscript: str, narration: str | None) str
- 概要:
指定された区切り文字を使用して原稿とナレーションを結合します。
- 引数:
- param manuscript:
原稿のテキスト。
- type manuscript:
str
- param narration:
ナレーションのテキスト。
- type narration:
str | None
- 戻り値:
- returns:
結合されたノートテキスト。
- rtype:
str
- pptx_notes_word.duplicate_slide(prs: Presentation, source_slide)
- 概要:
指定されたスライドのコピーを追加し、新しいスライドを返します。
- 詳細説明:
python-pptxにはスライドをコピーする公開APIがないため、 図形と外部関係を同じレイアウトの新しいスライドにコピーします。
- 引数:
- param prs:
プレゼンテーションオブジェクト。
- type prs:
pptx.presentation.Presentation
- param source_slide:
コピー元のスライド。
- type source_slide:
pptx.slide.Slide
- 戻り値:
- returns:
コピーして作成された新しいスライドオブジェクト。
- rtype:
pptx.slide.Slide
- pptx_notes_word.get_slide_notes(slide) str
- 概要:
ノートスライドを作成せずに1つのスライドのノートテキストを返します。
- 引数:
- param slide:
読み込み対象のスライドオブジェクト。
- type slide:
pptx.slide.Slide
- 戻り値:
- returns:
ノートのテキスト文字列。
- rtype:
str
- pptx_notes_word.move_slide_after(prs: Presentation, slide, after_slide) None
- 概要:
スライドをプレゼンテーション内の別のスライドの直後に移動します。
- 引数:
- param prs:
プレゼンテーションオブジェクト。
- type prs:
pptx.presentation.Presentation
- param slide:
移動するスライドオブジェクト。
- type slide:
pptx.slide.Slide
- param after_slide:
このスライドの直後に移動します。
- type after_slide:
pptx.slide.Slide
- 戻り値:
- returns:
なし。
- rtype:
None
- 例外:
- raises RuntimeError:
スライドの順序を特定できなかった場合。
- pptx_notes_word.nonempty_lines(text: str) list[str]
- 概要:
空行を無視してテキストを行のリストに分割します。
- 引数:
- param text:
分割対象のテキスト。
- type text:
str
- 戻り値:
- returns:
空でない行のリスト。
- rtype:
list[str]
- pptx_notes_word.notes_to_pptx(pptx_path: Path, manuscript_path: Path, narration_path: Path | None, output_path: Path | None, split_lines: bool) int
- 概要:
原稿とナレーションのノートを読み込み、pptxファイルのノートに反映させます。
- 引数:
- param pptx_path:
対象のpptxファイルのパス。
- type pptx_path:
pathlib.Path
- param manuscript_path:
原稿ファイルのパス。
- type manuscript_path:
pathlib.Path
- param narration_path:
ナレーションファイルのパス、またはNone。
- type narration_path:
pathlib.Path | None
- param output_path:
出力するpptxファイルのパス、またはNone。
- type output_path:
pathlib.Path | None
- param split_lines:
行ごとにスライドを分割するかどうかのフラグ。
- type split_lines:
bool
- 戻り値:
- returns:
終了ステータスコード。
- rtype:
int
- pptx_notes_word.pptx_to_notes(pptx_path: Path, notes_path: Path) int
- 概要:
pptxファイルからノートを抽出し、docxやtxt、mdファイルにエクスポートします。
- 引数:
- param pptx_path:
入力元のpptxファイルのパス。
- type pptx_path:
pathlib.Path
- param notes_path:
出力先のノートファイルのパス。
- type notes_path:
pathlib.Path
- 戻り値:
- returns:
終了ステータスコード。
- rtype:
int
- 例外:
- raises RuntimeError:
docx出力でpython-docxがない場合。
- raises ValueError:
サポートされていないファイルの拡張子の場合。
- pptx_notes_word.read_notes_sections(notes_path: Path) dict[int, str]
- 概要:
docxやtxt、mdファイルからスライド番号ごとのノートセクションを読み込みます。
- 引数:
- param notes_path:
読み込むノートファイルのパス。
- type notes_path:
pathlib.Path
- 戻り値:
- returns:
スライド番号をキー、ノートテキストを値とする辞書。
- rtype:
dict[int, str]
- 例外:
- raises RuntimeError:
python-docxパッケージがインストールされていない場合。
- raises ValueError:
サポートされていないファイルの拡張子の場合。