はじめに
前回は画像の圧縮を作ってみました。
今回は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を友達に送るときなどにご利用ください!!
まとめ
いかがだったでしょうか?このようなオンラインサービスはありますが、クラウドは情報漏洩が怖いですよね。
簡単にサックと作れるので試してみる価値はあると思いますよ!!
コメント