2016-05-15 3 views
1

Я использую модуль Pypandoc python. Код, который я использую для преобразования является:Как изменить HTML, выводимый pandoc при преобразовании из docx в HTML?

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

Этот код преобразует DOCX в HTML, который хранится в «HTML» и в то же время извлекает изображения из DOCX и заносит их в хранилище медиа под названием image01 .jpg. IMG SRC в HTML является:

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

Теперь то, что я хочу сделать, это изменить имя изображения, то есть image01.jpg в более удобное имя. Я могу легко изменить имя изображения в репозитории. Но как мне обновить тег img src в HTML, выведенный pypandoc?

Спасибо

ответ

0

Я просто поместил каждую загрузку в свой собственный каталог (uploadX/index.html и uploadX/media/imageY.jpg и т. Д.).

Или иначе переименование, по крайней мере, после преобразования в HTML (гораздо приятнее работать с docx), например, добавляя имена файлов с уникальным идентификатором, например uploadX_imageY.jpg, и корректируя ссылки, используя что-то вроде HTMLParser.

+0

Спасибо. Я использовал Beautiful soup для изменения HTML. Это сработало. –

+0

@ ArunabhGhosh отлично! то не стесняйтесь принимать и отстаивать ответ :) – mb21

0

Я думаю, что проблема на самом деле связана с DOCX. В этих документах каждое изображение имеет свое имя, даже если оно скрыто. Вы можете проверить его в образе образа - и, конечно же, автоматическое имя! - imageXX! Поэтому я предлагаю изменить имена изображений в самом документе, а затем снова преобразовать.

Если у вас слишком много изображений, и вы хотите каким-то образом автоматизировать этот процесс, попробуйте использовать hex-редактор (ghex в linux, я предлагаю) и функцию «искать и заменять». Вы можете заменить «изображение» на «что-то», а файлы результатов будут «somethingXX.jpg»

+0

Могу ли я сделать вышеуказанные вещи в python? Ситуация заключается в том, что я прошу пользователя загрузить файлы docx. Я получаю файлы docx, а затем конвертирую его в python. Так есть ли редактор, который имеет модуль Python, который может искать изображения и менять их имена? –

+0

Конечно, это возможно, но я не уверен, что это действительно особенность в вашем случае. Чего вы хотите достичь именно? Предположим, что пользователь правильно назвал свои снимки внутри своего docx - тогда он получает файлы с именами. В другом случае - он получает материал imageXX. Мне все хорошо. В любом случае: попробуйте https://github.com/mikemaccana/python-docx –

+0

Когда пользователь загружает другой файл, он также имеет изображения с таким же именем, как image01.jpg. Таким образом, эти изображения заменяют предыдущие изображения. Поэтому я хотел дать всем изображениям уникальное имя, чтобы оно не могло быть заменено. Спасибо за вышеуказанную ссылку! –

 Смежные вопросы

  • Нет связанных вопросов^_^