Я хочу сохранить / загрузить PDF-файлы с веб-сайта X, а затем объединить все эти PDF-файлы в один, чтобы мне было легко увидеть их все сразу.
Что я сделал,
получить PDF-файлы с веб-сайта
wget -r -l1 -A.pdf --no-parent http://linktoX
объединить PDF-файлы в один
gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=Combined_`date +%F`.pdf -dBATCH file1.pdf file2.pdf file3.pdf
Мой вопрос / проблема в том, что я подумал об автоматизации всего этого в одном сценарии, чтобы мне не приходилось делать это каждый день. Здесь новые PDF-файлы добавляются ежедневно в X.
Итак, как я могу выполнить шаг 2 выше, не указывая полный список всех PDF-файлов, я попытался сделать file*.pdf
на шаге 2; но он объединил все PDF-файлы в случайном порядке.
Следующая проблема заключается в том, что общее количество файлов * .pdf не одинаково каждый день, иногда 5 файлов PDF, иногда 10 ... но приятно, что он назван в порядке file1.pdf file2.pdf ...
Итак, мне нужна помощь для выполнения вышеуказанного шага 2, чтобы все PDF-файлы были объединены по порядку, и мне не нужно было явно указывать имя каждого PDF-файла.
Спасибо.
ОБНОВЛЕНИЕ: это решило проблему
pdftk `ls -rt kanti*.pdf` cat output Kanti.pdf
я сделал ls -rt
так как file1.pdf
был загружен сначала, а затем file2.pdf
и так далее ... просто делаю ls -t
ставить file20.pdf
в начале и file1.pdf
в конце...
Пытаться pdftk и используйте сортировку следующим образом:
pdftk `ls files*pdf | sort` cat joined.pdf
Вместо файла * .pdf вы можете вывести список файлов, которые вам нужны, с помощью другой команды, используя обратные кавычки, например. ls ...
как в ответе chmeee. Вы должны иметь возможность использовать исходную команду ghostscript следующим образом:
Это отсортирует файлы по дате изменения, сначала самые старые:
gs [...] `ls -rt file*pdf`
Это отсортирует их численно, начиная с 5-го символа:
gs [...] `ls | sort --key=1.5 -g`