プロが教えるわが家の防犯対策術!

指定のフォルダ内にあるPDFファイルを一括で印刷するにはどうしたら良いでしょうか?

200ファイル以上ある想定ですので、
複数選択して、右クリック→印刷、というやり方は不可でお願いします。

PDFは全て1ファイルA4用紙1枚のフォーマットで統一されている想定で、
印刷設定等をする必要はないので、一度スタートさせたら止まる事無く
完了できるようにしたいです。

エクセルVBAでも、
コマンドプロンプトでbatファイルを作るでもやり方は構いません。
ただし何らかのソフトをインストールする方法以外でお願いします。
(インストール不要のフリーソフトなら可)

でもできれば勉強も兼ねて、新規ソフトに頼らない方法で解決したいです。

A 回答 (5件)

ANo.3です。



>ただし、これは私の環境の問題なのか、自動でAcrobatReaderが起動して、(恐らく)PDFファイルは閉じるのですが、
>AcrobatReader本体がタスクバーに最小化されて残ったままなのです。これを閉じないと次の印刷に進みません。
>つまりファイル数分、閉じる操作に付きっきりになってしまうのです。
>これもvarietyknowledgeさんの方では発生しなくて私の環境だと発生する問題なんでしょうかね。

自分の環境でもAcrobat Readerは最小化されて残ったままですが、印刷は並行して進みました。
環境依存のようですが、自分も原因は分かりません。

>何か回避方法ないでしょうか?

いろいろ調べてみましたが、現在のAcrobat Readerは一度開いてpdfデータを読み込んだ後、印刷処理を行う仕様のようです。

開くのを抑止する/sオプションもあるのですが、最低一度はAcrobat Readerを開かないと抑止が働かないようです。(それも中途半端な動きです)
苦肉の策ですが、以下を試していただけないでしょうか。

1. 以下のバッチファイルを作成します。(printpdf2.batとして、/sオプションを追加しています)
[printpdf2.bat]-----------------------------------------------------------------------------------------
@echo off
cd /d %~dp0

set rd_path="C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe"

:prloop

%rd_path% /s /h /p "%~dp1%~n1.pdf"

shift
if not "%~1"=="" goto prloop

exit
--------------------------------------------------------------------------------------------------------
※32bit環境の場合は、set rd_pathを下記に置き換えて下さい。
set rd_path="C:\Program Files\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe"

2.Acrobat Reader単体を起動し、最小化して下さい。
3.印刷対象のpdfファイルを全て選択し、1.で作成したバッチファイルにドラッグアンドドロップで入れて下さい。
※印刷対象分開く動作をするのですが、最後に/sオプションが働いて、最終的にはAcrobat Reader単体のみが残ります。
4.印刷が始まったら、残ったAcrobat Reader単体を終了して下さい。
※プリンタスプールにストックされているので、閉じても印刷には支障がでません。

動作確認は、最初は2つのpdfファイルで行うことをお勧めします。
    • good
    • 0
この回答へのお礼

できました!
最初にAcrobat Reader単体を起動しておくのがミソですね。
単体でなく適当なPDFファイルを開いておいた場合でも、正常動作しました。(適当に開いたPDF自体は印刷されません)
↑これをやっておかないと、手動で閉じるまで次のファイルに進まず、前回同様、ファイルの数だけ閉じる操作が必要になりますね。

単体で起動しておく方法であれば、/s を付けなくても同じ動作をしたのですが、付ける必要があるのでしょうか?
違いが知りたいです。

目的は達成されました。ありがとうございました。

お礼日時:2018/03/13 11:10

ANo.3/4です。



目的が遂げられたとのことでなによりです。

>単体で起動しておく方法であれば、/s を付けなくても同じ動作をしたのですが、付ける必要があるのでしょうか?
>違いが知りたいです。

オプションをいろいろ変えて確認しました。
結論からいうと、/sオプションは不要です。

/sの場合:
⇒PDFファイルを開く。閉じると次のPDFファイルが開く。(オプションなしと挙動が同じ)

/pの場合:
⇒PDFファイルを開くたび印刷ダイアログが出現する。

/s /pの場合:
⇒PDFファイルを開くたび印刷ダイアログが出現する。(/pと挙動は同じ)

/h /pの場合:
⇒PDFファイルを開くがダイアログはでず、クローズする。

/s /h /pの場合:
⇒PDFファイルを開くがダイアログはでず、クローズする。(/h /pと挙動は同じ)

以上から、現在のAcrobat Readerでは、/sオプションは無効化されていると思われます。

ですので、ANo.3で提示しましたバッチファイルを用意し、事前にAcrobat Reader(単体)を起動・最小化後に、バッチファイルに対して、印刷対象のPDFファイルをドラッグアンドドロップで入れれば、複数PDFファイルの一括印刷が可能です。
    • good
    • 0
この回答へのお礼

あースッキリしました。
詳しく調べて説明していただいてありがとうございました!

お礼日時:2018/03/13 22:55

以下の方法ではいかがでしょうか。


(動作確認済です)

1. 以下のバッチファイルを作成します。(printpdf.batにしていますが、.batであればファイル名は変えても構いません)

[printpdf.bat]-----------------------------------------------------------------------------------------
@echo off
cd /d %~dp0

set rd_path="C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe"

:prloop

%rd_path% /h /p "%~dp1%~n1.pdf"

shift
if not "%~1"=="" goto prloop

exit
--------------------------------------------------------------------------------------------------------

2. 印刷対象のpdfファイルを全て選択し、1.で作成したバッチファイルにドラッグアンドドロップで入れる。

留意点として、下記サイトで説明している /h オプションは「Acrobat を起動するが、表示しない(メモリ上にロードするのみ)」と書いてありますが、実際には画面に表示され、すぐ(自動で)閉じる動きをします。

https://helpx.adobe.com/jp/acrobat/kb/510705.html

煩わしいのですが、全く画面に表示しない方法が見つかりませんでした。

ご参考まで。
    • good
    • 0
この回答へのお礼

ありがとうございます。

ちなみに私の環境では"C:\Program Files\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe"でした。
これは32bitOSだからで、環境によって多少異なるのは問題ないです。

ただし、これは私の環境の問題なのか、自動でAcrobatReaderが起動して、(恐らく)PDFファイルは閉じるのですが、
AcrobatReader本体がタスクバーに最小化されて残ったままなのです。これを閉じないと次の印刷に進みません。
つまりファイル数分、閉じる操作に付きっきりになってしまうのです。

これもvarietyknowledgeさんの方では発生しなくて私の環境だと発生する問題なんでしょうかね。
何か回避方法ないでしょうか?

お礼日時:2018/03/12 14:02

一括で全てのPDFファイルを一つファイルに纏めるツールがあるのです。

Googleで検索して見つけるはずです。一つファイルになって、プリントできます。
    • good
    • 1
この回答へのお礼

ありがとうございます。
PDF結合の案について、
私の調べた範囲でお伝えすると、

Acrobatを使って結合するのは、
購入費がかかることと、追加ソフトをインストールする事は基本的にNGなんです。

あとオンラインでPDF結合してくれるサービスがありますが、
大事な情報の記載されたPDFなのでネット上にアップする事はNGです。

CubePDFを使って結合することができますが手作業での挿入追加作業は現実的でありません。一括結合出来るなら良いのですが・・・
その他情報があれば助かります。

お礼日時:2018/03/10 00:49

コマンドであれば、


print フォルダーパス\*.pdf
で可能なはずです。
これをbatファイルにすればよいでしょう。

> コマンドプロンプトでbatファイルを作るでも…
コマンドでバッチファイルを作っても中身が問題です。
*.txtでコマンドを記述し、その後*.batにするのが普通です。
    • good
    • 1
この回答へのお礼

なるほど。
printコマンドという手もありましたね。

PathコマンドでArobat Readerまでパスを通して、
ACRORD32.EXE /p フォルダーパス\*.pdf
でうまくいかなかったのでどうしたものかと悩んでいました。
ありがとうございます。

でも他にも方法ないか探索中です。

お礼日時:2018/03/09 20:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A