複数の PDF ファイルを結合/結合する必要があります。
1 つのフォルダに複数の PDF ファイルがあります。まとめる必要がある PDF には、部分的なファイル名が共通しています。たとえば、次のようになります。
123456_ABCD.pdf
123456_EFGH.pdf
123456_IJKL.pdf
ファイル名は数字で始まり、次にアンダースコア、そしてファイル名になります。類似の PDF が何百もあるので、バッチ スクリプト、Excel の VBA などを使用してこれらのファイルを自動的に結合する方法を探しています。
新しいファイルの出力は、 という名前の別のフォルダーに保存されるはずです123456.pdf
。私は Windows OS を使用しています。私のシステムには Adobe Reader、PDF995、CutePDFwriter がインストールされています。
すべての PDF を 1 つのメイン フォルダーにまとめることができます。そのフォルダーには、以下のように複数の PDF が含まれます。
123456_ABCD.pdf
123456_EFGH.pdf
123456_IJKL.pdf
111111_ABCD.pdf
111111_EFGH.pdf
222222_IJKL.pdf
222222_WXYZ.pdf
このシナリオでは、出力フォルダーに期待される PDF は次のとおりです。
123456.pdf
111111.pdf
222222.pdf
答え1
(未テスト)
- ダウンロードpdftk(直接リンクはこちら)。
- どこかに抽出してください。
- pdftk.exe とバッチを一緒にします。
- 次に、
cmd
バッチが配置されている場所を開いて実行します
。(Shift+右クリックでコマンドプロンプトを開きます)
フォルダー構造が次のようになっている場合、スクリプトは動作するはずです。
|
+---111111
| 111111_ABCD.pdf
| 111111_EFGH.pdf
|
+---123456
| 123456_ABCD.pdf
| 123456_EFGH.pdf
| 123456_IJKL.pdf
|
\---222222
222222_IJKL.pdf
222222_WXYZ.pdf
すべてのファイルが 1 つのフォルダーに保存されるわけではありません。
@echo off
setlocal enabledelayedexpansion
rem source root folder where to crawl pdfs.
set "source=c:\mydoc\pdf"
rem destination folder
set "destination=c:\mydoc\merged"
for /f "delims=" %%a in ('dir /b /s /ad /o:n "%source%"') do (
set _pdffiles=
for /f "delims=" %%i in ('dir /b /a-d /o:n "%%a\*.pdf"') do (
set _pdffiles=!_pdffiles! "%%i"
set "_outputpdf=%%~ni"
)
echo pdftk.exe !_pdffiles! cat output "%destination%\!_outputpdf:~0,6!.pdf"
)
echo
バッチが問題ないと思われる場合は削除します。
回答は主にこれ
アップデート: 私の投稿を補足する回答が2つあります