2016-05-15 3 views
1

Ich benutze das Pypendoc-Modul von Python. Der Code, den ich für die Umwandlung verwenden ist:Wie ändert man den HTML-Code, der bei der Konvertierung von docx nach HTML von Pandoc ausgegeben wird?

html = pypandoc.convert(
      tmp_loc, 
      'html5', 
      extra_args=['--extract-media='] 
      ) 

Dieser Code setzt die docx in HTML, die in ‚html‘ und zugleich gespeichert wird extrahiert die Bilder von docx und speichert sie in Medienarchiv unter dem Namen image01 .jpg. Das img src in HTML ist:

<img src="/media/image01.jpg" /> 

Nun, was ich will zu tun ist, den Namen des Bildes zu ändern, das heißt image01.jpg zu einem geeigneteren Namen. Ich kann den Namen des Bildes im Lager leicht ändern. Aber wie aktualisiere ich das img src-Tag in der HTML-Ausgabe von pypandoc?

Danke

Antwort

0

Ich würde nur jeden Upload in ein eigenes Verzeichnis (uploadX/index.html und uploadX/media/imageY.jpg usw.) setzen.

Oder die Umbenennung zumindest nach der Konvertierung in HTML (viel schöner als mit docx), z. Voranstellen der Dateinamen mit einer eindeutigen ID, wie uploadX_imageY.jpg, und Anpassen der Links mit etwas wie HTMLParser.

+0

Danke. Ich habe Schöne Suppe benutzt, um das HTML zu modifizieren. Es funktionierte. –

+0

@ArunabhGhosh großartig! dann zögern Sie nicht zu akzeptieren und upvote die Antwort :) – mb21

0

ich glaube, das Problem docx tatsächlich verbunden ist. In diesen Dokumenten hat jedes Bild seinen eigenen Namen, auch wenn es versteckt ist. Sie können es in Bildeigenschaften überprüfen - und, automatischer Name ist natürlich! - BildXX! Daher schlage ich vor, die Namen der Bilder im Dokument selbst zu ändern und dann erneut zu konvertieren.

Wenn Sie zu viele Bilder haben und diesen Prozess irgendwie automatisieren möchten, versuchen Sie einige Hex-Editor (Ghex in Linux, ich schlage vor) und "Suchen und Ersetzen" -Funktion. Sie können "Bild" durch "etwas" ersetzen, und Ergebnisdateien wären "somethingXX.jpg"

+0

Kann ich die oben genannten Dinge in Python tun? Die Situation ist, dass ich den Benutzer auffordere, docx-Dateien hochzuladen. Ich bekomme die docx-Dateien und wandle sie in Python um. Gibt es einen Editor, der ein Python-Modul hat, das nach Bildern suchen und deren Namen ändern kann? –

+0

Natürlich ist es möglich, aber ich bin mir nicht sicher, ob es wirklich ein Feature in Ihrem Fall ist. Was willst du genau erreichen? Nehmen wir an, dass der Benutzer seine Bilder in seinem docx richtig benannt hat - dann erhält er gut benannte Dateien. In anderen Fällen - er bekommt imageXX Zeug. Es klingt vollkommen in Ordnung für mich. Wie auch immer: versuchen Sie https://github.com/mikemaccana/python-docx –

+0

Wenn der Benutzer eine andere Datei hochlädt, hat es auch Bilder, die den gleichen Namen wie image01.jpg haben. Diese Bilder ersetzen also die vorherigen Bilder. Daher wollte ich allen Bildern einen eindeutigen Namen geben, damit sie nicht ersetzt werden können. Danke für den obigen Link !! –

Verwandte Themen