Есть ли способ сохранить изображения WebP в Microsoft Office (Word, PowerPoint) без повторного сжатия (декомпрессии)?
Недавно в Office добавлена возможность читать изображения WebP и интегрировать их в документы Office в виде изображений.
Формат WebP имеет множество преимуществ, в частности, он позволяет создавать файлы значительно меньшего размера с превосходным качеством изображения по сравнению с JPEG и другими форматами. Маски прозрачности также полностью поддерживаются.
К сожалению, похоже, что изображения WebP, встроенные в документы Office, сохраняются внутри как PNG, что увеличивает требования к памяти для сохранения изображений.
Или существует особый способ гарантировать, что изображения WebP, встроенные в документы Office, сохраняются без изменений, в их исходном формате WebP и сжатии?
1 ответ
Я попробовал несколько разных способов отключения сжатия/удаления данных изображения и т. д., но мне не удалось сделать это в Word.
Это скорее ядерный вариант для определенных случаев использования, но он работает — замена внутренних файлов PNG исходными изображениями WebP:
- Создайте документ как обычно, сохраните окончательную версию как .docx и закройте word.
- Разархивируйте файл docx, используя все, что захотите. powershell, 7zip, unzip.exe и т. д.
- Удалите файл изображения PNG, расположенный по адресу
[extract folder]\word\media\Image1.png
- Скопируйте изображение веб-сайта в ту же папку и переименуйте его в
Image1.png
- Теперь выберите все извлеченные папки и [Content_Types].xml и повторно заархивируйте их в новый файл .docx.
И вы сделали! Теперь у вас есть текстовый файл гораздо меньшего размера, в котором по-прежнему отображаются ваши веб-изображения.
Недостатки:
- Если вы откроете документ и повторно сохраните его, изображение снова преобразуется в еще больший формат .bin (хотя его можно заменить таким же образом).
- Хотя небольшие изменения, такие как изменение размера изображения (и даже обрезка), отлично работают с этим методом, я не уверен, насколько я бы доверял ему в отношении эффектов и тому подобного.
- По сути, вы удаляете любую обратную совместимость для просмотра этих файлов, если чья-то версия Office старше вашей.
Вот пример, в котором описаны шаги с использованием сценария PowerShell за один раз.
# extract the docx
mkdir "c:\test\extract"
Rename-Item -Path "C:\test\huge.docx" -NewName "C:\test\huge.zip"
Expand-Archive -Path "C:\test\huge.zip" -DestinationPath "c:\test\extract\"
# replace a png with webp
Get-Item "C:\test\extract\word\media\image1.png" | Remove-Item
Copy-Item "C:\test\test.webp C:\test\extract\word\media\image1.png"
# re-zip to docx
Get-Item -Path "C:\test\extract\*" | Compress-Archive -DestinationPath "c:\test\small.zip"
Rename-Item -Path "C:\test\small.zip" -NewName "C:\test\small.docx"
# clean up
Rename-Item -Path "C:\test\huge.zip" -NewName "C:\test\huge.docx"
Remove-Item -Recurse "C:\test\extract"