5467915 ランダム
 ホーム | 日記 | プロフィール 【フォローする】 【ログイン】

星影の魔術師の魔法の呪文

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

PR

プロフィール

星影の魔術師

星影の魔術師

キーワードサーチ

▼キーワード検索

サイド自由欄

フリーページ

コメント新着

teapotto@ Re:日常が始まる週初め(10/21) New! (○´∀`)ノ゙こんにちゎ★ 博多旅行楽しんでこ…
星影の魔術師@ Re[1]:博多小旅行 3日目 最終日(10/20) New! 和活喜さんへ いつもありがとうございます…
和活喜@ Re:博多小旅行 3日目 最終日(10/20) New!  こんにちは。日曜日です。福岡宗像は晴…
星影の魔術師@ Re[1]:博多小旅行 2日目(10/19) 恵美子777さんへ いつもありがとうござい…
恵美子777@ Re:博多小旅行 2日目(10/19) 3位  23位  1位 でした。 いいね!も…

カテゴリ

2016.11.06
XML
カテゴリ:オンラインソフト
魔術師です。

PDF から JPEG 画像に切り出してページ毎のファイルを ZIP で固めるために

最初は手作業で
Adobe ReaderDC で PDF 読み込み
印刷で CubePDF を指定してオプションで JPEG 書き出し
最後にファイルを ZIP に固めて完了

それぞれの処理でいちいちダイアログを開いて設定して、正直メンドクサイ

次の段階
PDF-XChange Viewer を使えば JPEG 書き出しの手間が少しだけ省けることが判りました。
CubePDF のダイアログを操作する手間の分だけ省けました。

もう少し調べると PDF-XChange Viewer をコマンドラインから使えるらしいけど
残念ながら詳細を見つけることが出来ません、これはあきらめました。

やはり最終的にはコマンドラインから書き出せないとダメだと言うことで
ImageMagick と言う Unix/Linux 系の画像変換プログラム集の Windows 版で出来るとのことで試して見ましたが、PDF ファイルを操作するには Ghostscript が必要でした。

Ghostscript とはページ記述言語 PostScript 互換インタプリタ
PostScript は Adobe が開発して最初はレーザープリンタの記述コマンドとして、後に画面描画や Adobe Illustrator のデータ形式 EPS の元や PDF 形式の元になりました。

つまり PDF の内部データを解釈するには Ghostscript が必要である。
フリーの PDF 生成ソフトはほぼ 100% Ghostscript を使って PDF を生成しています。

結局、Ghostscript の Windows 版をインストールしました。

Ghostscript
http://www.ghostscript.com/

Ghostscript の日本語情報
http://khotta.html.xdomain.jp/ghost/

角藤版 Ghostscript と言う日本語対応版を使いました。
これでコマンドラインから PDF を JPEG に変換出来るようになりました。

少年マガジンの 2016年分全ファイルを一気に変換して気付きました。
JPEG 変換後のファイルサイズがトータル 16GB くらいになっている。
変換前の PDF が 1冊 120MB 程度ですが、JPEG 変換後のファイルサイズが 500MB 弱になっていました。
と言うことで解像度と JPEG 圧縮品質を調整して 240dpi Q=10 にしました。
デフォルトは 300dpi Q=75 ですから、かなり絞りました。
少しぼやけた感じがしますがマンガを読む分には許容範囲で、ファイルサイズが 120MB -> 80MB 程度になりました。
容量は少ないに越したことはありません、原本があるので品質が落ちるのはよいにしましょう。

変換時のコマンドライン・パラメータも多く変換の手間を省くため BAT を組みました。
更に自動で ZIP で固めるところまで BAT で処理出来ます。
コマンドラインでの ZIP ファイルの作成には、ポータブル版 7-zip を使うことにしました。


1. PDF2JPEG.bat
ファイル名でディレクトリを掘ってその中に JPEG 展開
-----
@echo off
set GSBIN="C:\Program Files\gs\gs9.20\bin\gswin64c.exe"
set GSJPGOPT=-r240 -dJPEGQ=10
set OUTFILEPATH=%~dp1
set OUTFILENAME=%~n1

mkdir "%OUTFILEPATH%\%OUTFILENAME%"
cd "%OUTFILEPATH%\%OUTFILENAME%"
%GSBIN% -dSAFER -dBATCH -dNOPAUSE -sDEVICE=jpeg %GSJPGOPT% -sOutputFile="%OUTFILEPATH%\%OUTFILENAME%\%OUTFILENAME%-%%03d.jpg" %1
-----

2. PDF2ZIPJPEG.bat
ファイル名でディレクトリを掘ってその中に JPEG 展開、ディレクトリ丸ごと ZIP 圧縮してディレクトリごと削除
-----
@echo off
set GSBIN="C:\Program Files\gs\gs9.20\bin\gswin64c.exe"
set GSJPGOPT=-r240 -dJPEGQ=10
set ZIPBIN=D:\PortableApps\7-ZipPortable\App\7-Zip64\7z.exe
set OUTFILEDRV=%~d1
set OUTFILEPATH=%~dp1
set OUTFILENAME=%~n1

mkdir "%OUTFILEPATH%\%OUTFILENAME%"
%GSBIN% -dSAFER -dBATCH -dNOPAUSE -sDEVICE=jpeg %GSJPGOPT% -sOutputFile="%OUTFILEPATH%\%OUTFILENAME%\%OUTFILENAME%-%%03d.jpg" %1

%ZIPBIN% a -sdel -tzip "%OUTFILEPATH%\%OUTFILENAME%.zip" "%OUTFILEPATH%\%OUTFILENAME%"
-----

3. PDFFILES2ZIPJPG.bat
特定ディレクトリの中にある全 PDF ファイルを JPEG 展開して ZIP ファイルとして固める
-----
@echo off
set PDF2JPG=C:\BAT\PDF2ZIPJPG.bat
set PDFDRV=%~d1
set PDFDIR=%~dpf1

:START
if not "%PDFDIR:~-1%" == "\" set PDFDIR=%PDFDIR%\

for %%i IN ("%PDFDIR%*.pdf") DO (
call %PDF2JPG% "%%i"
)

:END
-----

人間が苦労せずに手間をかけずに働いてもらうのがコンピュータの仕事ですから。


人気記事の一覧のあるトップ

星影の魔術師に
応援のクリックをポチッとお願いします。

にほんブログ村 携帯ブログ iPhoneへ にほんブログ村 IT技術ブログ IT技術メモへ  blogramで人気ブログを分析

PVアクセスランキング にほんブログ村

皆さんの、協力に感謝しています。

 





お気に入りの記事を「いいね!」で応援しよう

最終更新日  2016.11.06 17:48:23
コメント(0) | コメントを書く



© Rakuten Group, Inc.
X