[PDF] Сортировка страниц по их размерам

  • Автор темы Автор темы ~RA~
  • Дата начала Дата начала
Это и при записи кусков нужно оптимизироваться и потерять в скорости. Плохая была идея. Откатил обратно. ;)
Ну или можно сделать 2 версии. Быструю и ту, которая сможет гигантские файлы переваривать. Но, как обычно, это никому не нужно. ;)
 
Михаил, будь добр, расскажи мне, как часто у тебя были pdf-файлы с полиграфической продукцией сотнями-тысячами страниц РАЗНОГО ФОРМАТА?
Разумеется, ты прав, я даже и не думал никогда, что внезапно может потребоваться сортировка страниц.
Мое замечание касалось чисто возможности наличия подобных файлов и их распространенности в дикой природе.
 
All.pdf это мой файл для тестов, он в ресурсах лежит. Георгий, проснитесь!
У Вас сегодня какой-то день отрицания очевидных вещей. При чём здесь твой файл? Не отвечай, вопрос был риторический.
 
1776173727720.png
 
Для справки :) Ни на что не претендую :)
1776253232658.png
 
  • Спасибо
Реакции: ~RA~
А распакуй в той же папке, где у тебя pdf, вот этот архив и check.bat запусти. Или можно там powershell-скрипт запустить
 

Вложения

Последнее редактирование:
Уже дописал, это старая версия
Тоже об это подумал, ну и там еще фичи добавились
я поэтому и попросил в ту же папку распаковать, что и pdf
 
Последнее редактирование:
А вот это странно. cpdf 30 раз запускался, минимум 30 раз открывал файл и парсил его и за то же время?
Он очень хорошая программа, но что ж он там под капотом делает в таком случае?
 
Последнее редактирование:
А попробуй, пожалуйста, -t убрать. Это немного, но всё же
 
Была в свое время идея реализовать это все на .bat + cpdf, решил, что медленно и кринжово. А, оказывается, вовсе и нет :)
 
cpdf написан на верблюде и он весьма быстр.
 
pdf для тестирования - pdf файл
Сравнение pdfsizes и sort_pdf под windows (~RA~ и Zollinger сошлись в смертельной схватке) - программы от zollinger
Ромину программу скачивать из его ресурсов Sort Pages
Свалить все в одну папку - all.pdf, программу от ~RA~, и разархивировать архив от zollinger
там будут два файла powershell - .ps1
Встать, нажать правую кнопку, выбрать "Выполнить с помощью powershell"
Посмотреть вложение 179879
потом (если у вас запрещено выполнение скриптов) он задаст вопросы, нажмите Y
Поработает.
И вот нас интересуют циферки
Тема не кончается, поэтому отчего же нет:

~RA~
sort_pages_windows
32.7299666

Zollinger
pdfsizes.exe
29.5579091

Intel(R) Core(TM) i5-7500T CPU @ 2.70GHz
Installed RAM 8.00 GB
Storage Samsung SSD
Набросал и свой скрипт, итого мое время на ту же задачу:


Для 100к пронумерованных полос (не вижу великого смысла замерять на пустых страницах, т.е. колонцифры на каждой), и тех же 7-ми случайно чередующихся форматов, так и не дождался завершения sort_pages_windows и pdfsizes, убил каждую после ~ 2-х минут. Для 10к полос результаты, соответственно порядку выше, получились такие:

Заодно поисправлял баги в своих библиотеках, спасибо (плюс узнал что-то новое, cpdf, строго говоря, не совсем корректные файлы продуцирует, ну да автор не может не знать)