1

Мне нужно объединить / объединить несколько файлов PDF.

У меня есть несколько файлов PDF в одной папке. PDF-файлы, которые необходимо объединить / объединить, будут иметь общее частичное имя; например:

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

Имя файла начинается с цифр, затем подчеркивается, а затем имя файла. У меня будут сотни похожих PDF-файлов, и я ищу способ автоматического объединения этих файлов с помощью пакетного сценария, VBA в Excel или чего-либо еще.

Вывод нового файла должен быть в отдельной папке с именем 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 ответ1

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 если вы думаете, что партия в порядке.

Ответ во многом вдохновлен этим

Обновление: есть два ответа, которые дополняют мой пост

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .