4

Я готовлю документы в Word 2013. Каждый документ состоит из сотен страниц, которые включают более 50 страниц фотографий в табличном формате. Таблица имеет три столбца:

Уровень моряНет ...Photograph ...Описание

На каждой странице будет около 3 фотографий.

Я изменил размер исходного изображения в 320 x 480 пикселей, используя ImageResizer (Microsoft powertoy). Это уменьшит размер картинки с 3 МБ до 100 КБ.

Когда я копирую + вставляю около 200 фотографий в документ, размер файла будет где-то от 10 МБ до 50 МБ. Но если я тогда делаю вырезать + вставить специальную + вставку в формате JPEG для каждого изображения, размер файла уменьшается до менее чем 5 МБ.

Есть ли способ для меня, чтобы скопировать картинку из папки и напрямую вставить в формате JPEG? Или, что еще лучше, есть ли способ пакетного редактирования всех изображений в документе, чтобы все они вставлялись как jpeg за один раз?

Любая подсказка в этом отношении будет огромной помощью, так как я трачу много времени и усилий на выбор каждого рисунка и вставляю его как jpeg.

Изменить: я должен отметить, что я полностью новичок, когда дело доходит до технических вещей. Можно управлять нажатием нескольких кнопок и т.д., Но коды и другие вещи стоят над моей головой.

3 ответа3

1

Итак ... вот еще одно, немного хакерское решение:

  1. Сохраните ваши документы в формате docx (если они у вас есть, перейдите к шагу 2);
  2. Измените расширение документа на zip (вы можете оставить docx раньше, например, yourdocumentname.docx.zip); если вы хотите, вы можете создать резервную копию вашего исходного документа, прежде чем делать что-либо;
  3. Извлеките содержимое zip-файла в папку (назовите его tmp) с помощью WinRAR или чего-либо еще;
  4. В папке, в которую вы распаковали zip, найдите папку с именем word ;
  5. В папке word находится папка media , хранятся изображения документа;
  6. Выполните пакетное преобразование для каждого изображения PNG с помощью вашего инструмента;
  7. Проверьте, нет ли в папке старых изображений png (если вы оставите их там, размер файла будет увеличиваться, а не уменьшаться, но я думаю, что это однозначно);
  8. Если у вас есть конвертированные изображения jpg в media папке, вернитесь к папке word , затем к _rels ;
  9. В папке _rels откройте файл document.xml.rels блокноте или в своем любимом текстовом редакторе (Sublime Text, Notepad++ и т.д.).;
  10. В файле есть разные узлы Relationship , замените все расширения "png" на "jpg" в атрибутах Target где это необходимо (например, Target = "media/image4.png" -> Target = "media/image4.jpg"; большинство редакторов имеют параметр « Заменить все» в диалоговом окне « Найти / заменить »);
  11. Сохраните отредактированный файл, вернитесь в корневую папку (tmp), выберите все, сожмите их обратно в zip-файл (Важно: не включайте папку tmp , только ее содержимое!, Zip-файл должен выглядеть как оригинал - переименован из docx - zip-файл);
  12. Переименуйте новый zip-файл в docx (например, yourdocumentname.docx), и все готово! :)


Там может быть менее сложный способ сделать это, но это дурацкая работа. Если бы у меня было немного больше времени, я бы создал инструмент для выполнения всего этого программным способом, это иногда может быть полезно и для меня ... Или есть инструмент для этого в сети, ИДК. (Я еще не встречал ничего подобного.)

1

Вы пробовали опцию « Compress pictures разделе Picture tools - « Format В диалоговом окне вы можете выбрать из разных количеств копрессии, и есть флажок Apply only to this picture . Если снять этот флажок, все изображения в вашем документе будут сжаты.
Изображения и многое другое смотрите в этой статье ("Сжать картинки", почти внизу).

0

Вы можете создать новый шаблон с поддержкой макросов. На вкладке "Разработчик" (может потребоваться настроить ленту, чтобы она была видна - она не отображается по умолчанию). Затем нажмите кнопку Visual Basic. Это перенесет вас в редактор VBA. Вставьте новый модуль, скопируйте и вставьте приведенный ниже код макроса в модуль. Сохрани и закрой. Сохраните файл .dotm в папку Word Startup, чтобы он был доступен для всех документов. Когда ваш документ с фотографиями содержит активный открытый документ, нажмите Alt F8 и выберите макрос (который вы можете переименовать из "test") из списка.

Макрос код:

Sub test()
Dim shp As InlineShape
If ActiveDocument.InlineShapes.Count = 0 Then Exit Sub
For i = ActiveDocument.InlineShapes.Count To 1 Step -1
   Set shp = ActiveDocument.InlineShapes(i)
    If shp.Type = wdInlineShapePicture Then
        shp.Select
        Selection.Cut
        Selection.PasteSpecial Link:=False, DataType:=15, Placement:=wdInLine, _
        DisplayAsIcon:=False
    End If
Next
End Sub

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