2016-05-15 13 views
1

私は、PythonのPypandocモジュールを使用しています。私は変換に使用するコードである:docxからHTMLへの変換中にpandocが出力するHTMLを変更するには?

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

このコードは、「HTML」に格納されていると同時に、DOCXから画像を抽出し、名前image01によってメディアリポジトリにそれらを記憶するHTMLにDOCXを変換します.jpg。 HTML内のimg srcがされています。今、私は何をしたいのか、より便利な名前にimage01.jpgで画像の名前を変更され

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

。私はリポジトリ内の画像の名前を簡単に変更できます。しかし、pypandocが出力するHTMLのimg srcタグをどのように更新すればよいですか?

は、私は、問題が実際にDOCXに接続されていると考えるあなたに

答えて

0

私はちょうどそれ自身のディレクトリ(uploadX/index.htmluploadX/media/imageY.jpgなど)にアップロードするとします。

さも例えばによって、(非常に良くdocxファイルよりで動作するように)少なくともHTMLへの変換後にリネームを行いますuploadX_imageY.jpgのように、一意のIDを含むファイル名を付加し、HTMLParserのようなものを使用してリンクを調整します。

+0

ありがとうございます。私は美しいスープを使ってHTMLを修正しました。出来た。 –

+0

@ArunabhGhosh素晴らしい!受け入れ、答えをupvote自由に感じる:) – mb21

0

ありがとうございます。これらの文書では、たとえ隠されていても、各画像には独自の名前が付いています。あなたはイメージの所有者でそれを確認することができます - そして、自動名はもちろんです! - imageXX!だから、私は、ドキュメント自体のイメージの名前を変更し、再度変換することをお勧めします。

あなたはあまりにも多くの画像を持っていて、いくつかのバイナリエディタしようと、何らかの形でこのプロセスを自動化したい場合は(Linuxではghexを、私がお勧め)、および「検索と置換」機能。 "イメージ"を "何か"で置き換えることができ、結果ファイルは "somethingXX.jpg"

+0

私はPythonで上記のことを行うことができますか?状況は、私はdocxファイルをアップロードするようユーザーに求めているということです。私はdocxファイルを受け取って、それをPythonに変換します。それで、画像を検索して名前を変更できるPythonモジュールを持ったエディタがありますか? –

+0

もちろん、それは可能ですが、実際にあなたの場合の機能であるかどうかはわかりません。あなたは何を達成したいのですか?ユーザーが彼の写真を彼のdocxの中に適切に名づけたとしましょう。それ以外の場合、彼はimageXXものを取得します。それは私にとってまったく問題ないと思う。とにかく :ユーザーは、それはまたimage01.jpgと同じ名前を持つイメージを持っている別のファイルをアップロードするときhttps://github.com/mikemaccana/python-docx –

+0

を試してみてください。これらの画像は以前の画像を置き換えます。だから私はすべてのイメージに自分自身をユニークな名前で与えて置き換えられないようにしたかった。上記のリンクをありがとうございます! –

関連する問題