MyTetra Share
Делитесь знаниями!
Как перенумеровать файлы-картинки сканированных листов без ведущих нулей (решение на коленке)
Время создания: 10.01.2020 15:27
Текстовые метки: нумерация, файл, картинка, php, ведущие нули, номер, последовательность
Раздел: Компьютер - Linux - ImageMagic
Запись: xintrea/mytetra_syncro/master/base/1578659268qcd4i9myt7/text.html на raw.github.com

Если есть набор файлов с нумерацией без ведущих нулей, например:



list-1.jpg

...

list-9.jpg

list-10.jpg

...

list-100.jpg

...

list-500.jpg



То перенумеровать их можно с помощью примерно такого скрипта:



<?php


$files = scandir(".");

foreach($files as $key=>$file)

{

if( substr($file, 0, 5)=="list-" )

{

// echo $file."\n";

$number=substr($file, 5);

// echo $number."\n";


$number=removeFromEnd($number, ".jpg");

// echo $number."\n";


$name="page-".str_pad($number, 4, '0', STR_PAD_LEFT).".jpg";

// echo $name."\n";

echo "mv -f ".$file." ".$name."\n";


}

}


function removeFromEnd($haystack, $needle)

{

$length = strlen($needle);


if(substr($haystack, -$length) === $needle)

{

$haystack = substr($haystack, 0, -$length);

}

return $haystack;

}

?>



Этот PHP-код сгенерирует текст Bash-скрипта, при выполнении которого файлы картинок будут переименованы.


В результате получатся файлы:



page-0001.jpg

...

page-0009.jpg

page-0010.jpg

...

page-0100.jpg

...

page-0500.jpg



Эти файлы уже можно легко обрабатывать программами для создания PDF-документов, и последовательность листов будет правильная.


Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования