1

Я пытаюсь извлечь все страницы из нескольких PDF-файлов одновременно.

Теперь он работает с:

for %%I in (*.pdf) do "pdftk.exe" "%%I" burst

Но я не получаю все страницы, потому что для каждого нового документа он перезаписывает предыдущие извлеченные страницы.

Итак, я попробовал:

for %%I in (*.pdf) do "pdftk.exe" "%%I" burst output "%%~nI_%02d.pdf"

Но тогда это вообще не работает ... Есть идеи?

1 ответ1

0

Попробуйте выполнить следующее, чтобы преобразовать все файлы PDF текущего каталога в пронумерованные одностраничные файлы PDF:

@echo off
setlocal

for %%F in (*.pdf) do call :burst "%%F"

goto xit

:burst
set name=%1
if not [%name:~1,5%]==[burst] (
  pdftk %1 burst output "burst_%~n1_%%04d.pdf"
  for %%d in (doc_data.txt) do del %%d
)
goto :EOF

:xit
pause
endlocal

Сценарий "burst_" ко всем сгенерированным именам файлов, чтобы избежать конфликта между исходными файлами PDF и вновь созданными. %%04d говорит pdftk добавить номер страницы в виде четырех цифр с начальными нулями. Двойной % необходим для выхода из оболочки CMD.

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