Excel
office
Word
PowerPoint

Officeファイルを狙ったサイズにするために再圧縮する

「〇〇MBぐらいのOfficeファイルでテストしてみて」
と依頼され、そそくさとfallocateでダミーファイルを作って添付して完成!
としちゃうんだけど、保存すると圧縮されてかなりしぼんでしまう。
fallocateが中身0ばっかりなのも原因かもしれないが…

減ることを見越して多めにたくさんファイルを添付するでも良いが、
保存形式が2007年以降の形式(末尾にxがついているxlsxなど)
なら実態はzip形式なので、

  1. 拡張子を.zipに変更
  2. 展開
  3. 圧縮率を選べるソフトで無圧縮でzip化(展開したときにできるファイル名ディレクトリは使わない)
  4. 拡張子をもとに戻す

で、fallocateで作ったファイルサイズ+ちょっとのOfficeファイルになる。
もちろんちゃんと開くことができる。

ただし、上書き保存するとまた圧縮されるので注意。

linux - 1GBのダミーファイルを作成するコマンドは? - スタック・オーバーフロー