Bu Blogda Ara

22 Eylül 2020 Salı

Fazla Yer Kaplayan Görselleri Olan Bir Word Dosyasının Boyutunu Visual Basic Script İle Azaltmak

Merhabalar.

21.09.2020 Pazartesi tarihinde karşılaştığımız, dosya boyutu bildiğimiz yöntemler ile düşürülemeyen bir word dosyası üzerine aşağıdaki vidyoyu hazırladım. 

Dosyanın şişmesinin sebebi, içerisindeki PNG, EMF biçimli ağır görsellerdi. Bunların boyutunun nasıl düşürüleceğini aşağıdaki bağlantıdan öğrendim.

https://superuser.com/questions/1013190/how-to-automate-paste-as-jpeg-for-pasting-pics-in-word-so-as-to-reduce-the-ent

Öncelikle word dosyasını açıyoruz. ALT+F11 ile Visual Basic Script Editor arayüzüne erişiyoruz. Bazı dizüstü bilgisayarlarda bu komut kısayolu, çalışmadığı için Dosya / Seçenekler / Şeridi Özelleştir / Geliştirici sekmesini aktif ederek bu arayüze erişebilirsiniz. Sol menüde ekrana gelen "This document" dosyasına yani aktif olan belgeye sağ tıklayıp "Insert / Module" komutunu uygulayınız. Yukarıdaki adresteki kodu kopyalayıp açılan iç pencereye yapıştırınız.

Makro kodu:

32 bit işletim sistemi için bu kodu kullanınız.


64 bit işletim sistemi için bu kodu kullanınız.

Kod, 9 Şubat 2022 Salı tarihinde güncellenmiştir. Burada süre milisaniye olarak belirtilmiştir. 1000 milisaniye, 1 saniyeye denk gelir. İşlemci, RAM, disk türüne göre bu süreyi belirleyebilirsiniz. 350 görselli 300 MB'lık bir dosya, bu şekilde 30 MB'a düşürülmüştür.

⚠️ Eğer kalite ve görsellik önplanda ise bu işlem önerilmez. Görseller sıkıştırma sonrasında orta kaliteli JPEG olarak kaydedilir. Görselin detay içeren kısımlarında "noise" görülür.

Kodu paylaştığı için Karel'e teşekkür ederim.

Ardından iç pencereden dosyayı kaydediniz. Kayıt esnasında, Word Makro Etkinleştirilmiş Belgesi yani DOCM dosya biçimini seçiniz. Sonra bu DOCM dosyasını açınız. "Makrolar" iç penceresini açınız. Eğer birden fazla word dosyası açık ise "Makro yeri" kısmını "Belge 1" veya "Sadece bu belge" ayarlarında çalıştırmanız önerilir. Ardından tekrar dosyanızı DOCX olarak kaydedebilirsiniz.

Yukarıdaki kaynak sitede verilen bilgiye göre bu şekilde dosya biçimi değiştirilmiş. Buna ek olarak DOCM dosyasını kullanmaya mecbur değilsiniz. Ben de DOCX üzerinde bu kodu yapıştırdıktan sonra, aşağıda görselde kırmızı alanda gösterilen, "Run" tuşuna basınız. İşlem tamamlandıktan sonra kodu siliniz. Dosyayı DOCX olarak kaydetmeye devam ediniz. Ekrana, dosyayı makrosuz olarak kaydetmek isteyip istemediğiniz ile ilgili iletide "Evet" butonuna tıklayınız.


 UYARI: Bu kod vidyodaki dosyada olumsuz bir durum yaratmamıştır. Fakat yine de bu kodun karşılaşacağı muhtemel olumsuz durumları sıralamak istiyorum:

- Bu dosya içi görsel formatlama işi EMF, GIF, PNG dosyaları ile denenmiştir. Diğer dosya biçimleri ile nasıl bir durum ortaya çıkacağı ön görülmemiştir.

- Dosyanızdaki her bir görselin "metin ile aynı hizada" konumlandırma ayarında olmasına özellikle dikkat ediniz. Eğer görselleriniz göreceli olarak sayfada konumlanmış ise bu kod çalıştıktan sonra, görseller, dosyaya ilk kez hangi satırda, kaçıncı karakterin önünde eklendiyse oraya kayacaktır.

- Görsellerinizi muhakkak gruplandırınız. Bir sayfada ayrı olarak bağımsız birden fazla şekil (oklar, şemalar, metin kutuları) varsa, bu şekilleri birbirine muhakkak bağlayınız. Aksi takdirde konumları kayabilir.

Faydalı olması dileğiyle.


Hiç yorum yok:

Yorum Gönder