質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Visual Studio Code

Visual Studio Codeとは、Microsoft社が開発したマルチプラットフォーム対応のテキストエディタです。Visual Studioファミリーの一員でもあります。拡張性とカスタマイズ性が高く、テキストエディタでありながら、IDEと遜色ない機能を備えることができます。

Word

Microsoft WordはMicrosoftが開発した業務用の文書生成用のソフトウェアです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

2回答

1259閲覧

python-docxで画像が文の間に貼り付けられない

ikanosumi

総合スコア11

Visual Studio Code

Visual Studio Codeとは、Microsoft社が開発したマルチプラットフォーム対応のテキストエディタです。Visual Studioファミリーの一員でもあります。拡張性とカスタマイズ性が高く、テキストエディタでありながら、IDEと遜色ない機能を備えることができます。

Word

Microsoft WordはMicrosoftが開発した業務用の文書生成用のソフトウェアです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

1クリップ

投稿2023/04/23 05:53

実現したいこと

python-docx で行と行の間に画像を挿入する

前提

python-docxで 文、画像、文、画像、文、画像 のように段落ごとに貼り付けたいです。

発生している問題・エラーメッセージ

画像が最後にすべて張り付けられてしまいます。
文、文、文、画像、画像、画像 の順になってしまいます。
どなたかご教授ください。よろしくお願いします。

該当のソースコード

python

1from docx import Document 2from docx.shared import Mm 3import time 4doc=Document() 5problem=0 6 7p = doc.add_paragraph() 8for i in range(5): 9 for ii in range(3): 10 problem+=1 11 p.add_run(str(problem)+". 1の国の名前を書きなさい\n") 12 p.add_run("\t\t\t\t\t\t一一一一一一一一一一一一一一一一\n") 13 doc.add_picture(r"picture\GGtest_asia.jpeg") 14 p.add_run("?\n") 15num=8 16doc.save("TEST"+str(num)+".docx")

試したこと

画像の前後に”?”を書けとの動作を入れる⇒?だけが入る
それぞれ一回ずつ保存⇒変わらず
保存後1秒待つ⇒変わらず
python-docxのアップデート⇒変わらず

補足情報(FW/ツールのバージョンなど)

VScode
python3.10.11
python docx 0.8.11

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

JoeSmith

2023/04/25 14:58

最近使ってないので正確には答えられないが doc.add_picture() を使ってるのが違う気がする。 Runオブジェクトにadd_picture() メソッドがあるからこれを使うのでは? r = p.add_run() でRunインスタンス(?)が返ってくる? r.add_picture() で画像ファイルを入れられないか。
guest

回答2

0

ベストアンサー

最近使ってないので正確には答えられないが
doc.add_picture() を使ってるのが違う気がする。
Runオブジェクトにもadd_picture() メソッドがある。これを使ってみては?
r = p.add_run() でRunインスタンス(?)が返ってくる?
r.add_picture() で画像ファイルを入れられないか。

投稿2023/04/25 15:11

JoeSmith

総合スコア16

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ikanosumi

2023/05/07 13:43

返信遅れて申し訳ありません。python_docxのページを参照したところおっしゃった通りだとわかりました。他のところでも応用したいと思います。この度はご尽力いただき誠にありがとうございます。
guest

0

doc.add_picture()を使う場合は、
前後でパラグラフ追加し、独立したパラグラフに画像一個だけ入れればレイアウトしやすいのでは。
↓このように。

doc.add_paragraph()
doc.add_picture()
doc.add_paragraph()

投稿2023/04/26 00:56

JoeSmith

総合スコア16

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問