自動合併具有相關文件名稱的 PDF 文件

自動合併具有相關文件名稱的 PDF 文件

我需要合併/組合多個 PDF 文件。

我有一個資料夾中的多個 PDF 檔案。需要組合/組合在一起的 PDF 將具有共同的部分文件名稱;例如:

123456_ABCD.pdf
123456_EFGH.pdf
123456_IJKL.pdf 

檔案名稱將以數字開頭,然後是下劃線,然後是檔案名稱。我將有數百個類似的 PDF,並且我正在尋找一種使用批次腳本、Excel 中的 VBA 或其他方式自動合併這些文件的方法。

新檔案的輸出應位於名稱為 的單獨資料夾中123456.pdf。我使用 Windows 作業系統。我的系統中安裝了 Adob​​e 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

(未經測試)

  1. 下載pdftk直接連結在這裡)。
  2. 將其提取到某處。
  3. 將 pdftk.exe 和批次放在一起。
  4. 然後打開cmd批次所在的位置*並運行它。
    *(shift+RightClic 在此處開啟命令提示字元)

如果資料夾結構如下所示,該腳本應該可以工作:

|
+---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如果您認為該批次沒問題,請刪除。

答案很大程度上受到啟發

更新: 有兩個答案補充了我的帖子

相關內容