はじめに
前回は画像の圧縮を作ってみました。
今回はPDFの圧縮を作ってみたいと思います。
方法は色々ありますが、一番簡単なghostscriptを使う方法で紹介します。
(今回のプログラムはPythonでなくても、BATでも作れるのですが、あえてPythonで)
準備
パッケージをインストールします。
pip install ghostscript
またWindowsの場合、下記の作業も必要になります。
①.下記よりghostscriptをダウンロードして、インストールしてください。
②.設定ファイルの作成。今回は「pdf_compress.ini」というファイル名で作成しています。
[BASE] gs_path = C:\Program Files\gs\gs9.56.1\bin\gswin64c.exe
※パスはご自身の環境に合わせて変えてください。
Pythonのプログラム
import os import sys import subprocess import configparser #!ls "/gdrive/My Drive/folder" def paf_compress(attach): for i,file in enumerate(attach): print(f'{i}:{file}') fname = os.path.basename(file) dname = os.path.dirname(file) outfile_name = fname.replace('.pdf', '_min.pdf') subprocess.check_output([gs_path ,'-sDEVICE=pdfwrite' ,'-dCompatibilityLevel=1.4' ,r'-dPDFSETTINGS=/screen' ,'-dBATCH' ,'-dNOPAUSE' ,'-dQUIET' ,f'-sOUTPUTFILE={dname}\\{outfile_name}' , file ]) if __name__ == '__main__': config = configparser.ConfigParser() config.read('pdf_compress.ini') gs_path = config['BASE']['gs_path'] paf_compress(sys.argv[1:]) print('PDFを圧縮しました。')
使い方は、必要なファイルをD&Dすれば圧縮されますよ。
無駄に容量の大きなPDFを友達に送るときなどにご利用ください!!
まとめ
いかがだったでしょうか?このようなオンラインサービスはありますが、クラウドは情報漏洩が怖いですよね。
簡単にサックと作れるので試してみる価値はあると思いますよ!!
コメント