我需要合併/組合多個 PDF 文件。
我有一個資料夾中的多個 PDF 檔案。需要組合/組合在一起的 PDF 將具有共同的部分文件名稱;例如:
123456_ABCD.pdf
123456_EFGH.pdf
123456_IJKL.pdf
檔案名稱將以數字開頭,然後是下劃線,然後是檔案名稱。我將有數百個類似的 PDF,並且我正在尋找一種使用批次腳本、Excel 中的 VBA 或其他方式自動合併這些文件的方法。
新檔案的輸出應位於名稱為 的單獨資料夾中123456.pdf
。我使用 Windows 作業系統。我的系統中安裝了 Adobe Reader、PDF995 和 CutePDFwriter。
我可以設法將所有 pdf 文件放在一個主資料夾中。該資料夾將包含多個 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
(未經測試)
如果資料夾結構如下所示,該腳本應該可以工作:
|
+---111111
| 111111_ABCD.pdf
| 111111_EFGH.pdf
|
+---123456
| 123456_ABCD.pdf
| 123456_EFGH.pdf
| 123456_IJKL.pdf
|
\---222222
222222_IJKL.pdf
222222_WXYZ.pdf
並且不是在所有文件都存在的單一資料夾中。
@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
如果您認為該批次沒問題,請刪除。
答案很大程度上受到啟發這
更新: 有兩個答案補充了我的帖子