1

Когда я экспортировал свой большой файл docx с помощью Microsoft Word 2010/13 в отфильтрованный html, я обнаружил, что изображения в формате png сжимаются независимо от настроек, описанных здесь. Преобразование Word в HTML - потеря качества изображения.

К сожалению, архивирование файла docx и доступ к нативным изображениям мне не помогают, так как эти изображения нумеруются иначе, чем изображения, созданные в диалоге экспорта.

Кто-нибудь из вас имеет представление, как я могу отключить такое сжатие.

С наилучшими пожеланиями

1 ответ1

0

Вы не можете отключить эту функцию в Word, но вы можете отредактировать исходный код документа HTML, чтобы он использовал исходное изображение вместо сжатого.

Если вы сохраните его в папке documentname-files, которая находится в той же папке, что и файл HTML, у вас будет два разных файла изображения для каждого изображения: одно сжатое изображение JPG и исходное изображение PNG. Исходное изображение PNG используется в старых версиях IE (версия 8 или более ранняя), которые поддерживают VML, а сжатое изображение JPG используется практически во всех других браузерах. Поскольку VML устарел с IE9, все современные браузеры используют сжатое JPG-изображение.

Однако даже самые последние версии Word по-прежнему используют VML при создании документов HTML, что позволяет экспортировать исходное изображение вместе с документом HTML, хотя практически ни один браузер не использует его. Если вы хотите использовать его, вы можете редактировать исходный код HTML. Для этого вам нужно знать, какие имена имеют изображения. Посмотрите в папке documentname-files (замените имя документа тем, что называется вашим файлом). Вот скриншот того, как это будет выглядеть, если у вас есть одно изображение PNG в вашем HTML-документе:

Здесь исходное изображение PNG называется image001.png, а сжатое изображение JPG называется image002.jpg. Затем откройте HTML-документ с помощью Блокнота или любого другого текстового редактора и найдите image002.jpg и замените все, что вы найдете, на image001.png (адаптируйте имена файлов к тем, которые вы получите). Затем сохраните его, и ваша проблема будет исправлена. Если вы хотите сэкономить место на диске, вы можете удалить сжатое изображение JPG, так как оно больше не полезно.

Word не делает это сжатие для экономии места на диске (поскольку исходное изображение все еще там), но если вы изменяете изображение в Word (поворачиваете его, меняете его размер и т.д.), Word обрабатывает его самостоятельно, вместо того, чтобы браузер справиться с этим. Word предпочитает создавать новое изображение, а не использовать сложный HTML5, который в некоторых случаях может иметь нежелательные эффекты в некоторых браузерах. Причина, по которой он использует VML в браузерах, которые его поддерживают, заключается в том, что VML, как и Word, разработан Microsoft, поэтому они уже знают, какие эффекты будет иметь VML. По этой причине вы не можете отключить эту функцию в Word, вы должны отредактировать источник HTML самостоятельно, как я объяснил.

Как отметил Марио в комментарии, я рекомендую всегда редактировать исходный текст HTML, а не редактировать HTML-документ с помощью Word. Если вы отредактируете его с помощью Word, не считая проблемы в вашем вопросе, вы, например, получите много бесполезного HTML, что значительно увеличит размер вашего HTML-документа. Например, для использования изображения PNG в документе HTML, Word генерирует этот код:

<span style="mso-no-proof:yes"><!--[if gte vml 1]><v:shapetype
 id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"
 path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
 <v:stroke joinstyle="miter"/>
 <v:formulas>
  <v:f eqn="if lineDrawn pixelLineWidth 0"/>
  <v:f eqn="sum @0 1 0"/>
  <v:f eqn="sum 0 0 @1"/>
  <v:f eqn="prod @2 1 2"/>
  <v:f eqn="prod @3 21600 pixelWidth"/>
  <v:f eqn="prod @3 21600 pixelHeight"/>
  <v:f eqn="sum @0 0 1"/>
  <v:f eqn="prod @6 1 2"/>
  <v:f eqn="prod @7 21600 pixelWidth"/>
  <v:f eqn="sum @8 21600 0"/>
  <v:f eqn="prod @7 21600 pixelHeight"/>
  <v:f eqn="sum @10 21600 0"/>
 </v:formulas>
 <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
 <o:lock v:ext="edit" aspectratio="t"/>
</v:shapetype><v:shape id="Bildobjekt_x0020_1" o:spid="_x0000_i1025" type="#_x0000_t75"
 style='width:468pt;height:323.5pt;visibility:visible;mso-wrap-style:square'>
 <v:imagedata src="Dok1-filer/image001.png" o:title=""/>
</v:shape><![endif]--><!--[if !vml]--><img width="624" height="431" src="Dok1-filer/image002.jpg" v:shapes="Bildobjekt_x0020_1"><!--[endif]--></span>

Если бы вы сами написали исходный код, он бы выглядел примерно так:

<img src="Dok1-filer/image001.png" width="624" height="431"/>

Поэтому я рекомендую всегда писать исходный код самостоятельно, а не позволять Word делать это.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .