質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

ImageMagick

ImageMagickとは、画像の表示や操作を行うオープンソースのソフトウェアです。プログラムはCで書かれており、GIFやJPEG、PDFなど画像ファイルフォーマット100種類以上に対応しています。

Q&A

解決済

2回答

6372閲覧

A3のPDFをA4のPDFに変換するプログラムについて

TakamiChie

総合スコア59

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

ImageMagick

ImageMagickとは、画像の表示や操作を行うオープンソースのソフトウェアです。プログラムはCで書かれており、GIFやJPEG、PDFなど画像ファイルフォーマット100種類以上に対応しています。

0グッド

1クリップ

投稿2016/12/03 13:18

編集2016/12/04 15:11

###前提・実現したいこと
A3のPDFファイル二つを読み込み、A4四枚のPDFに変換したく、ツールを作ろうとしています。

手段について検索した結果、どの言語を使用する場合であっても、ImageMagickを外部ツールとして使用するとよいという記事を見つけた為、まずはImageMagickをコマンドプロンプト上から利用して、A3のPDFをA4のPDFに変換しようとしています。

###発生している問題・エラーメッセージ

方針として、以下のような方法でA4のPDFを作成しようと考えています。

  1. A3のPDF二つを読み込み、PNGファイルに変換する
  2. 出力したPNGファイルを、左右別々のPNGファイルに変換する
  3. 出力したPNGファイルをリネームし、1, 2, 3, 4という名前に変更する
  4. 1で作成したPNGファイルをPDFファイルに変換する

上記手順で、以下のような問題が発生しています。

  • 画像が一部真っ白になってしまう(以下ソースでは1ページ目と3ページ目)
  • PDFの各ページがA3として出力されてしまう

###該当のソースコード
以下ソースはバッチファイルの形式です。

batch

1> rem PDF→画像変換 2> convert -density 600 ***一つ目のPDFファイル名*** 14.png 3> convert -density 600 ***二つ目のPDFファイル名*** 23.png 4> convert -crop 50%x100% 14.png 14.out.png 5> convert -crop 50%x100% 23.png 23.out.png 6> rem 画像のリネーム 7> ren 14.out-1.png out.1.png 8> ren 23.out-0.png out.2.png 9> ren 23.out-1.png out.3.png 10> ren 14.out-0.png out.4.png 11> rem 画像→PDF変換 12> convert -density 150 -geometry 1240x1754 out.*.png out.pdf

convertコマンドのオプションについては、以下のサイト記事を参考にした値を設定しています。

###試したこと

  • 最後のconvertコマンドのgeometry指定を、縦横10ピクセルずつ減らし1230x1744!として実行→変化無し
  • 最後のconvertコマンドの直前に、mogrify -resize 99%x99% out.*.png→画像自体の縮小は確認するも、出力データに変化無し

###補足情報

  • Windows 10 Home (Pro上でも同じ症状の発生を確認) Anniversary Update適用済み。
  • ImageMagick 7.0.3-8 Q16 x64 2016-11-24
  • Ghostscript 9.20

####その他補足事項
なお、上記で使用したPDFは、以下の手順で問題無くA3PDF→A4PDFに変換できることから、ファイルの中身には問題がないと考えています

  1. Acrobat Reader DCの機能を使ってA3のPDFをA4のPDF二ページに変換する
  2. SmallPDFというWebサービスでPDF結合を行い、ページ順序を変更する

このためSmallPDFでも処理ができるのですが、処理自体を自動化したいと考えており、今回ImageMagickを使った処理を検討しています。

以上、よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ikedas

2016/12/04 05:13 編集

解像度を「150」、ジオメトリを「1240x1754」という値にした根拠は何でしょうか。
guest

回答2

0

その後いくつかの方法を試した結果、以下の通り一時的に変換するファイルをpngからjpgに変えてみたところ、期待通りA44枚のPDFファイルが作成できることを確認しました。

回答頂きありがとうございました。

batch

1rem PDF→画像変換(透明色を白に変換する処理を追加) 2convert -density 150 ***一つ目のPDFファイル名*** ( +clone -alpha opaque -fill White -colorize 100% ) +swap -geometry +0+0 -compose Over -composite 14.jpg 3convert -density 150 ***二つ目のPDFファイル名*** ( +clone -alpha opaque -fill White -colorize 100% ) +swap -geometry +0+0 -compose Over -composite 23.jpg 4convert -crop 50%x100% 14.jpg 14.out.jpg 5convert -crop 50%x100% 23.jpg 23.out.jpg 6rem 画像のリネーム 7ren 14.out-1.jpg out.1.jpg 8ren 23.out-0.jpg out.2.jpg 9ren 23.out-1.jpg out.3.jpg 10ren 14.out-0.jpg out.4.jpg 11rem 画像→PDF変換 12convert -density 150 -geometry 1240x1754 out.*.jpg out.pdf

投稿2016/12/08 06:53

編集2016/12/08 06:56
TakamiChie

総合スコア59

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KSwordOfHaste

2016/12/08 09:28

png/jpgで動作が変わるとはわかりにくい仕様ですね…解決できてなによりです
guest

0

ベストアンサー

A3->PNGへ変換する際に600dpiにしているのが原因ではないでしょうか。
元のページが縦長なのか横長などか記載されてないので明確にはわかりませんが仮に横長だとすれば、画像分割により画像のドット数を1/2にしていることからA3->PNG/PNG->A4でのdpiは同じ(例えば150)に合わせないと計算が合わないように見えます。

投稿2016/12/05 15:55

KSwordOfHaste

総合スコア18394

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TakamiChie

2016/12/08 06:47

ありがとうございます。 全てのdensityの値を150に設定してみましたが、状況は変わりませんでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問