Word jak przekonwertować wszystkie obrazy w dokumencie aby były w skali szarości

Niedawno otrzymałem zlecenie napisania jednego rozdziału do pewnej książki. Oczywiście tworząc zrzuty ekranów były one w kolorze natomiast wydruk będzie czarno-biały. Ręczne konwertowanie 50 kolorowych obrazków na takie w skali szarości nie jest zbyt wygodne (w sumie 50 to jeszcze nie tak źle, ale gdybym miał za zadanie napisanie całej książki to by było tego kilka razy więcej).

Pierwsza myśl – napiszemy makro.

Option Explicit 
Sub Szarosc() 
    Dim i As Integer 

    For i = 1 To ActiveDocument.InlineShapes.Count 
        If ActiveDocument.InlineShapes.Item(i).Type = wdInlineShapePicture Then  
ActiveDocument.InlineShapes.Item(i).PictureFormat.ColorType = msoPictureGrayscale 
        End If 
    Next i 

    For i = 1 To ActiveDocument.Shapes.Count 
        If ActiveDocument.InlineShapes.Item(i).Type = msoPicture Then 
ActiveDocument.InlineShapes.Item(i).PictureFormat.ColorType = msoPictureGrayscale 
        End If 
    Next i 
End Sub

Dlaczego mamy tutaj dwie pętle For? Otóż w dokumencie mamy dwa rodzaje obrazów: osadzone wewnątrz akapitu i pływające.

Inny pomysł – Zabawa w hakera

Jakiś czas temu w artykule: Jak wydobyć wszystkie grafiki z dowolnego dokumentu utworzonego w MS Office pisałem, że pliki tworzone przez pakiet Office to tak naprawdę pliki XML (i inne pomocnicze np. grafiki) skompresowane w formacie ZIP. Możemy więc:

  1. Zapisać dokument, zamknąć program Word
  2. Profilaktycznie wykonać kopię pliku, zanim go uszkodzimy 😉
  3. Zmienić rozszerzenie naszego pliku z docx na zip
  4. Rozpakować archiwum
  5. Przejść do folderu word\media
  6. Hurtowo przekonwertować pliki znajdujące się w tym katalogu np. na te w odcieniach szarości
  7. Z powrotem skompresować wszystkie pliki do archiwum zip
  8. Zmienić rozszerzenie z docx na zip.

Pojawia się pytanie: jak hurtowo przekonwertować kilkadziesiąt plików i się nie napracować? Ja np. do tego celu korzystam z programu XnView. Po jego zainstalowaniu:

  1. Uruchom program XnView. Z menu Narzędzia wybierz polecenie Konwertowanie wielu plików (lub naciśnij CTRL+U).
  2. Upewnij się, że masz aktywną kartę Wejście. Następnie kliknij w przycisk Dodaj folder i wskaż folder wewnątrz którego są obrazy.
  1. Przejdź na kartę Operacje. Domyślnie są tutaj operacje, które były wykonywane przy ostatniej hurtowej konwersji. Jeśli są jakieś operacje to kliknij w przycisk Wyczyść wszystko. Ponieważ my zainstalowaliśmy ten program przed chwilą to pewnie nie ma tutaj zdefiniowanych żadnych operacji. Następnie kliknij w przycisk Dodaj operację. Rozwinie się menu. Wybierz polecenie Obraz -> Zmień głębię koloru
  1. Pojawi się pierwsza operacja. Wybierz opcję Skala szarości
  1. Przejdź na kartę Wyjście. Tutaj będzie sporo rzeczy do ustawienia. Po pierwsze folder w którym będą zapisywane nasze szare zdjęcia to ten sam folder w którym są oryginalne pliki dlatego w ramce Wyjście zaznaczam Folder źródłowy. Następnie nazwa pliku musi być taka sama jak oryginalna więc upewniam się, że w polu Nazwa pliku jest wpisane samo {Filename} (jakbym chciał zachować oryginały to bym po {Filename} dopisał coś np. – szary wtedy plik oryginalny miałby nazwę image1.png a przekonwertowany image1 – szary.png). Ostatnia rzecz do zaznaczenia to Jeżeli pliki docelowe już istnieją wybieram nadpisz.

  1. Ostatnia rzecz jaką należy wykonać to kliknąć w przycisk Konwertuj i możemy cieszyć się komunikatami o kolejnych plikach, które zostały przekonwertowane.
Ten wpis został opublikowany w kategorii sztuczki i oznaczony tagami , , . Dodaj zakładkę do bezpośredniego odnośnika.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.