Слияние несколько файлов PDF с помощью pdftk датой создания

У меня есть несколько файлов PDF, и я хотел бы объединить эти файлы с помощью pdftk. Я могу сделать это как это

C:\pdftk *.pdf cat output merged.pdf

Это объединяет файлы с помощью их алфавитного порядка, но я хотел бы заказать файлы с помощью их даты создания (метка времени). Как это возможно? Я использую Победу XP.

0
задан 09.10.2009, 21:08

2 ответа

Я думаю, что лучший способ добавляет даты к именам файлов. Можно сделать это с Объемом, Переименовывают Утилиту, это - очень мощная утилита и свободный.

Или, можно использовать другое программное обеспечение для объединений/разделения файлов PDF с gui, как PDFsam.

0
ответ дан 27.11.2019, 20:23

Можно создать список файлов PDF, который заказан датой создания:

 dir /b /tc /od *.pdf > my-pdf-filelist.txt

(Если Вы хотите список - вместо отсортированного ко времени создания - сортировка, случающаяся использованием времени доступа'/ta'вместо'/tc'; если Вы хотите заказать ко времени изменения, используйте'/tw'.)

Затем используйте этот список для создания другого временного listfile, тот, который содержит метку времени и имена файлов PDF с добавленными датами + времена на той же строке:

 for /f "usebackq" %i in (my-pdf-filelist.txt) ^
        do (echo. %~ti %~nxi >> my-pdf-filelist.2)

Теперь проверьте если Ваш список файлов my-pdf-filelist.2 действительно содержит строки, бывшие похожие на это:

05/27/2009 06:08 AM fontproblems-in-footer-16_9_1557.pdf
01/20/2010 09:22 AM trainschedule-hannover.pdf
06/05/2010 07:30 PM Figure_001-a.pdf

В зависимости от установки для Вашего language+locale Ваш формат метки времени может отличаться, и Вы, возможно, должны адаптировать следующий шаг. В моем случае я должен заботиться о, "/PM" штука, а также datestring, чтобы удостовериться, что имена файлов позже действительно будут в алфавитном порядке, который совпадает с их порядком метки времени.

Наконец, используйте этот временный listfile для переименования исходных имен файлов так, чтобы они содержали свои метки времени как префикс к их настоящим именам. Но сначала протестируйте намеченную команду как это:

 for /f "usebackq tokens=1,2,3,4,5,6,7 delims=/: " %i in (my-pdf-filelist.2) ^
        do (echo.  "%o"  will be renamed to:  "%k-%j-%i-%n-%l-%m-%o")

Тщательно проверьте, работало ли это, как предназначено. Наконец, сделайте реальное переименование:

 for /f "usebackq tokens=1,2,3,4,5,6,7 delims=/: " %i in (my-pdf-filelist.2) ^
        do (ren "%o"  "%k-%j-%i-%n-%l-%m-%o")

Теперь, когда Ваши PDFs называют способом, который делает 'алфавитный порядок' == 'порядок метки времени', можно просто работать pdftk.exe:

 pdftk.exe *.pdf cat output merged.pdf
0
ответ дан 27.11.2019, 20:23

Теги

Похожие вопросы