2017-01-25 7 views
2

Kann ich mit Python-docx ein Bild in eine vorhandene Datei einfügen? Ich würde etwas wie "insert_before_paragraph" zum Einfügen von Bildern benötigen. DankBild einfügen mit python-docx

+0

Es gibt keine API-Unterstützung dafür. Sie müssen in die Interna graben, wenn Sie das schlimm genug wollen. Am besten beginnen Sie mit dem Verständnis des Codes für '.add_picture()', da Sie in der Lage sein sollten, einiges davon wiederzuverwenden. – scanny

Antwort

0

Je nachdem, was Sie tun wollen, könnte es eine kühne Abhilfe sein: docx machen Umstellung auf docx mit pandoc, und Ihre eigenen Filter in der Mitte setzen, mit panflute geschrieben.

pandoc sample.docx -o sample2.docx --filter=my_filter.py 

Pandoc ist ein Tool, das mehrere Formate von Dokumenten in einem standardisierten Abstract Syntax-Baum (AST) transformiert. Filter arbeiten auf dem AST. Es passiert, dass Pandoc Filter können vorbereitete Bilder einfügen (hier sind examples of what filters can do).

Es bedeutet, dass Sie ein docx Dokument in HTML konvertieren können, aber auch wieder in docx ... und Sie haben den zusätzlichen Vorteil, dass Sie (wenn Sie möchten) Ihre Ausgabe in vielen Formaten bekommen können.

In dem Prozess, Sie werden verlieren die feinen Punkte Ihrer Formatierung (Überschriften, fett und Kursivschrift sollte beibehalten werden), aber das ist kein Problem für Sie, das wäre in Ordnung.

Dies ist nicht gerade der einfache Weg, aber sobald man den Dreh raus hat, sind Pandoc Filter nicht schlecht und sie sind ein mächtiges Werkzeug.