Как получить каталоги и и подкаталоги считают самый быстрый путь?

Так как Вы просто хотите к тексту перекрытия в предопределенном положении, можно использовать pdftk сделать это.

Вам нужны два файла PDF. Каждый - файл PDF, который Вы хотите штамповать с текстом. Другой файл PDF является текстом, который Вы хотите штамповать. Второй должен иметь прозрачный фон. Можно легко заставить это с, скажем, LibreOffice Потянуть, и печать к PDF с помощью PDF чашек. Экспорт в PDF — даже если Вы не выбираете PDF1/A — сделает непрозрачный фон.

Затем Вы делаете:

pdftk input.pdf stamp overlay.pdf output stamped.pdf

Если Вы хотите различные оверлейные программы на различных страницах, создаете многостраничный overlay.pdf (страница 1 наложения идет на входную страницу 1, страницу 2 наложения на входной странице 2, и т.д.), и затем:

pdftk input.pdf multistamp overlay.pdf output stamped.pdf

Так как снимки экрана популярны, вот то, на что похожи вход и результаты. input.pdf был, конечно, сделан с помощью существенного улыбающегося инструмента LibreOffice:

Screenshot


Как делают PDF с CUPS-PDF

CUPS-PDF является драйвером печати для CUPS, который создает файлы PDF из заданий печати. Для использования его необходимо использовать CUPS. Установите cups-pdf пакет (требуемый, по крайней мере, в Debian). Посетите интерфейс администрирования CUPS в http://localhost:631/admin и нажмите 'Add Printer'. Необходимо видеть "CUPS-PDF (Виртуальный Принтер PDF)" как опция. Выберите его, нажатие продолжаются. Заполните имена очереди, и т.д. и продолжите снова. Если спросили относительно PPD, это находится под дженериком.

После того как Вы добавили, что принтер, это может быть полностью настроено в /etc/cups/cups-pdf.conf.

Чтобы использовать его, распечатайте как нормальный, но выбрать его как принтер вместо Вашего нормального принтера. Файл PDF шлепнется в $HOME/PDF по умолчанию.

2
24.02.2014, 08:00
2 ответа
[114738] Если вам нужен только один уровень, то есть трюк, чтобы сделать это без необходимости перечислять каталог. Если вы хотите рекурсию, то лучшее, что вы получите - это то, что у вас есть.

killall google*
Уловка с одним уровнем:

...и вычитание 2. В результате получаем количество каталогов в этом каталоге (не рекурсивных).

Эта команда показывает количество жестких ссылок в указанном файле. Всякий раз, когда вы создаете директорию внутри директории, подкаталог имеет жесткую связь с родительской директорией, [115172]...[115173]. Таким образом, создавая подкаталог, вы увеличиваете число жестких связей с родительской записной книжкой на единицу. Но мы вычитаем 2, потому что каждая директория начинается с 2 жестких связей. Одна жесткая ссылка находится в родительской директории и указывает на нее: запись [115174]dir[115175] внутри [115176]/путь/к[115177]. Другая жесткая связь - это каталог, содержащий ссылку на себя: запись [115178].[115179].

Однако при рекурсии вы должны изучить каждую директорию. Проблема в том, что нет способа сказать "дайте мне список только директорий внутри этой директории". Вы должны получить список каждой одиночной записи в директории, и затем [115180]stat[115181] каждый для того чтобы узнать, если это директория или файл.

Теперь когда вы ставите директорию, вы можете использовать вышеприведенную уловку hardlink для того чтобы найти, содержит ли та директория любые подкаталоги, и таким образом вы можете сохранить себя немного времени и не спуститься в ту директорию. Утилита [115182]find[115183] на самом деле использует этот трюк, чтобы получить небольшой прирост производительности в процессе.

Таким образом, в основном, использование [115184]find[115185] будет лучшим, что вы можете сделать, если вам нужна рекурсия.[114752].

3
27.01.2020, 21:57

Теги

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