我想将徽标和条形码放在同一水平上,而不是一个放在另一个顶部。徽标应保留在word文件的最左侧,条形码应位于单词文件的最右侧。这是我的代码,谢谢:
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')
答案 0 :(得分:1)
根据我在the documentation中看到的情况,python-docx
目前仅支持内联图片,而不支持 floating 图片,这意味着您只能获得您当前的外观。从文档中:
在撰写本文时,python-docx仅支持嵌入式图片。可以添加浮动图片。如果您有活跃的用例,请在问题跟踪器上提交功能请求。 Document.add_picture()方法将指定的图片添加到文档末尾的自己的段落中。
根据最后一句话,我认为您目前无法做到。一种解决方法是插入一张具有一行和两列的表,然后在每个单元格中插入一个图像。
答案 1 :(得分:0)
我可以为您提供帮助,只需在代码中添加一句话
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")