관련 파일 이름을 가진 PDF 파일을 자동으로 병합

관련 파일 이름을 가진 PDF 파일을 자동으로 병합

여러 PDF 파일을 병합/결합해야 합니다.

내가 가지고 있는 것은 하나의 폴더에 여러 개의 PDF 파일이 있습니다. 함께 묶거나 결합해야 하는 PDF는 부분적인 파일 이름을 공통으로 갖습니다. 예를 들어:

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

파일 이름은 숫자로 시작하고 밑줄을 그은 다음 파일 이름을 지정합니다. 수백 개의 유사한 PDF가 있을 예정이며 배치 스크립트, Excel의 VBA 등을 사용하여 이러한 파일을 자동으로 병합하는 방법을 찾고 있습니다.

새 파일의 출력은 이름이 .인 별도의 폴더에 있어야 합니다 123456.pdf. 나는 Windows OS를 사용합니다. 내 시스템에는 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

(테스트되지 않음)

  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배치가 괜찮다고 생각되면 제거하세요 .

다음에서 크게 영감을 받은 답변이것

업데이트: 내 게시물을 보완하는 두 가지 답변이 있습니다

관련 정보