Как поместить две картинки на одном уровне в файл слова (.docx) Python - PullRequest
0 голосов
/ 20 ноября 2018

Я хочу разместить логотип и штрих-код на одном уровне, а не один поверх другого. Логотип должен оставаться слева, а штрих-код - справа от файла слова. Вот мой код,спасибо: enter image description here

import uuid 
import pandas as pd
import pyqrcode 
from docx import Document
from docx.shared import Inches


qr=pyqrcode.create(str(uuid.uuid4()).replace('-',''))
qr.png('somecode.png')

df=pd.DataFrame(pd.read_excel('Komplette- 
GastAccountFHZugangsdatenFertig.xlsx'))

Attributes=['Name', 'Vorname ', 'Geschlecht', 'Adresse (in Marokko)',
       'Telefonnummer', 'E-Mailadresse', 'Studiengang', 'Semester']


document = Document()

document.add_heading('Informationen.',level=0)

document.add_picture('Informatik_Logo.png',height=Inches(1.0))


p = document.add_paragraph()
r = p.add_run()


p_format=p.paragraph_format

p_format.left_indent=Inches(4.5)
r.add_picture('somecode.png',width=Inches(1.0))


table=document.add_table(len(Attributes),2,style='LightGrid-Accent1')


for i in range(len(Attributes)):
        row=table.rows[i]
        row.cells[0].text=Attributes[i]
        Infos=df[Attributes[i]]
        string=str(Infos[49])
        row.cells[1].text=string



document.save('sample.docx')

Ответы [ 2 ]

0 голосов
/ 30 мая 2019

Я могу помочь вам с этим, просто добавьте одно предложение в ваш код

r.add_picture('somecode.png',width=Inches(2.0))

, и все.просто напишите предложение еще раз. и если вам нужно больше картинок на том же уровне, все, что вам нужно сделать, это добавить предложение.Я пытался, и это работает для меня.

есть мой тестовый код

dc = Document()

run = dc.add_paragraph().add_run()
run.add_picture("./picture/danilise.jpg", width=Inches(1.1))
run.add_picture("./picture/danilise.jpg", width=Inches(1.3))
run.add_picture("./picture/danilise.jpg", width=Inches(1.5))

dc.save("test1.docx")
0 голосов
/ 20 ноября 2018

Из того, что я вижу в документации , python-docx в настоящее время поддерживает только встроенные картинки, а не плавающие картинки, что означает, что вы можете получить толькопосмотри у тебя сейчас есть.Из документов:

На момент написания статьи python-docx поддерживает только встроенные изображения.Плавающие картинки могут быть добавлены.Если у вас есть активный вариант использования, отправьте запрос функции на трекер проблем.Метод Document.add_picture () добавляет указанное изображение в конец документа в виде отдельного абзаца.

Основываясь на этом последнем предложении, я думаю, что вы пытаетесь сделать в настоящее времяневозможно.Обходным путем может быть вставка таблицы с одной строкой и двумя столбцами и вставка изображения в каждую ячейку.

...