Preciso mesclar/combinar vários arquivos PDF.
O que tenho são vários arquivos PDF em uma pasta. Os PDFs que precisam ser agrupados/combinados teriam um nome de arquivo parcial em comum; por exemplo:
123456_ABCD.pdf
123456_EFGH.pdf
123456_IJKL.pdf
O nome do arquivo começaria com números, sublinhado e depois o nome do arquivo. Terei centenas de PDFs semelhantes e estou procurando uma maneira de mesclar automaticamente esses arquivos usando um script em lote, VBA no Excel ou qualquer outra coisa.
A saída do novo arquivo deve estar em uma pasta separada com o nome 123456.pdf
. Eu uso um sistema operacional Windows. Tenho Adobe Reader, PDF995 e CutePDFwriter instalados em meu sistema.
Consigo colocar todos os PDFs em uma pasta principal. Essa pasta teria vários PDFs como abaixo.
123456_ABCD.pdf
123456_EFGH.pdf
123456_IJKL.pdf
111111_ABCD.pdf
111111_EFGH.pdf
222222_IJKL.pdf
222222_WXYZ.pdf
Neste cenário, os PDFs que espero na pasta de saída são:
123456.pdf
111111.pdf
222222.pdf
Responder1
(Não testado)
- Downloadpdftk(link direto aqui).
- Extraia em algum lugar.
- Coloque pdftk.exe e o lote juntos.
- Em seguida, abra
cmd
onde o lote está localizado* e execute-o.
*(shift + RightClic abre o prompt de comando aqui)
O script deve funcionar se a estrutura de pastas for assim:
|
+---111111
| 111111_ABCD.pdf
| 111111_EFGH.pdf
|
+---123456
| 123456_ABCD.pdf
| 123456_EFGH.pdf
| 123456_IJKL.pdf
|
\---222222
222222_IJKL.pdf
222222_WXYZ.pdf
E não em uma única pasta onde estão todos os arquivos.
@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"
)
Remova echo
se achar que o lote está bom.
Resposta amplamente inspirada poresse
Atualizar: Existem duas respostas que complementam minha postagem