0.9.0.2
This commit is contained in:
@@ -1,3 +1,8 @@
|
|||||||
|
[0.9.0.2]
|
||||||
|
|
||||||
|
- Option to mix levels adjustment with original
|
||||||
|
- Removed "a" flag from trash command
|
||||||
|
|
||||||
[0.9.0.1]
|
[0.9.0.1]
|
||||||
|
|
||||||
- Better tmp dir
|
- Better tmp dir
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
0.9.0.1
|
0.9.0.2
|
||||||
59
leaf.php
59
leaf.php
@@ -3,7 +3,7 @@
|
|||||||
// Leaf - Tools for Book Scans
|
// Leaf - Tools for Book Scans
|
||||||
// No license, do not distribute
|
// No license, do not distribute
|
||||||
|
|
||||||
$version = "0.9.0.1";
|
$version = "0.9.0.2";
|
||||||
$time_start = microtime(true);
|
$time_start = microtime(true);
|
||||||
date_default_timezone_set("America/Los_Angeles");
|
date_default_timezone_set("America/Los_Angeles");
|
||||||
$tmpdir = "/tmp/leaf/".time()."/";
|
$tmpdir = "/tmp/leaf/".time()."/";
|
||||||
@@ -307,7 +307,9 @@ generate create final jpg images for pdf creation
|
|||||||
-pixels=<num> scale to x pixels on longest side
|
-pixels=<num> scale to x pixels on longest side
|
||||||
-inches=<num> set dpi to x inches on longest side
|
-inches=<num> set dpi to x inches on longest side
|
||||||
-q=<0-100> (90) jpeg quality
|
-q=<0-100> (90) jpeg quality
|
||||||
-levels=<params> photoshop levels adjustment (ex. \"0-253,0-2,0-255\")
|
-levels=<params> photoshop levels adjustment (ex. \"10,.9,235\")
|
||||||
|
-olevels=<params> output levels adjustment (ex. \"0,250\")
|
||||||
|
-mix=<num> percentage to mix with original (0-100, 90=mostly original)
|
||||||
-px=<num> png size multiplier
|
-px=<num> png size multiplier
|
||||||
-plevels=<params> png levels adjustment (otherwise calculated from adjust)
|
-plevels=<params> png levels adjustment (otherwise calculated from adjust)
|
||||||
-pt=<0-255> use threshold method with photoshop level value
|
-pt=<0-255> use threshold method with photoshop level value
|
||||||
@@ -539,7 +541,7 @@ if (!args("mpush")) {
|
|||||||
|
|
||||||
if (count(glob($dest."/*.*"))) {
|
if (count(glob($dest."/*.*"))) {
|
||||||
msg("Files already exist in ".$dest.". Move to trash?",2);
|
msg("Files already exist in ".$dest.". Move to trash?",2);
|
||||||
exec("/opt/local/bin/trash -a ".$dest);
|
exec("/opt/local/bin/trash ".$dest);
|
||||||
mkdir($dest);
|
mkdir($dest);
|
||||||
} elseif (!is_dir($dest)) {
|
} elseif (!is_dir($dest)) {
|
||||||
mkdir($dest);
|
mkdir($dest);
|
||||||
@@ -592,7 +594,7 @@ $dest = rtrim(args("dir"), '/')."_despined";
|
|||||||
|
|
||||||
if (count(glob($dest."/*.*"))) {
|
if (count(glob($dest."/*.*"))) {
|
||||||
msg("Files already exist in ".$dest.". Move to trash?",2);
|
msg("Files already exist in ".$dest.". Move to trash?",2);
|
||||||
exec("/opt/local/bin/trash -a ".$dest);
|
exec("/opt/local/bin/trash ".$dest);
|
||||||
mkdir($dest);
|
mkdir($dest);
|
||||||
} elseif (!is_dir($dest)) {
|
} elseif (!is_dir($dest)) {
|
||||||
mkdir($dest);
|
mkdir($dest);
|
||||||
@@ -722,7 +724,7 @@ $dest = rtrim(args("dir"), '/')."_generated";
|
|||||||
|
|
||||||
if (count(glob($dest."/*.*"))) {
|
if (count(glob($dest."/*.*"))) {
|
||||||
msg("Files already exist in ".$dest.". Move to trash?",2);
|
msg("Files already exist in ".$dest.". Move to trash?",2);
|
||||||
exec("/opt/local/bin/trash -a ".$dest);
|
exec("/opt/local/bin/trash ".$dest);
|
||||||
mkdir($dest);
|
mkdir($dest);
|
||||||
} elseif (!is_dir($dest)) {
|
} elseif (!is_dir($dest)) {
|
||||||
mkdir($dest);
|
mkdir($dest);
|
||||||
@@ -847,6 +849,7 @@ foreach ($jpg as $parts) {
|
|||||||
|
|
||||||
$file = $parts[0];
|
$file = $parts[0];
|
||||||
$output = $dest."/".basename($file);
|
$output = $dest."/".basename($file);
|
||||||
|
$iscolor = false;
|
||||||
|
|
||||||
if (isset($parts[3]) && $parts[3] == 1) {
|
if (isset($parts[3]) && $parts[3] == 1) {
|
||||||
|
|
||||||
@@ -866,24 +869,36 @@ foreach ($jpg as $parts) {
|
|||||||
|
|
||||||
if (args("skipc")) { continue; }
|
if (args("skipc")) { continue; }
|
||||||
|
|
||||||
|
$iscolor = true;
|
||||||
|
|
||||||
$msg = "Processing color page ".$file." @ ".$dims."!";
|
$msg = "Processing color page ".$file." @ ".$dims."!";
|
||||||
$cmd = "convert -resize ".$dims."\! ";
|
$cmd = "convert -resize ".$dims."\! ";
|
||||||
|
|
||||||
if (args("modulate")) {
|
|
||||||
$msg .= " (".args("modulate").")";
|
|
||||||
$cmd .= "-modulate ".args("modulate")." ";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
$levelcmd = "";
|
||||||
|
|
||||||
if (args("levels")) {
|
if (args("levels")) {
|
||||||
$msg .= " (".args("levels").")";
|
$msg .= " (".args("levels").")";
|
||||||
$cmd .= "-level ".args("levels")." ";
|
$levelcmd .= "-level ".args("levels")." ";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (args("olevels")) {
|
if (args("olevels")) {
|
||||||
$msg .= " (".args("olevels").")";
|
$msg .= " (".args("olevels").")";
|
||||||
$cmd .= "+level ".args("olevels")." ";
|
$levelcmd .= "+level ".args("olevels")." ";
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($iscolor && args("modulate")) {
|
||||||
|
$msg .= " (".args("modulate").")";
|
||||||
|
$levelcmd .= "-modulate ".args("modulate")." ";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (args("mix") && $levelcmd) {
|
||||||
|
// if this is a mix, we reset the $cmd so we can nest the levels command and mix with og
|
||||||
|
$msg .= " <MIX=".args("mix").">";
|
||||||
|
$cmd = "convert \( ".$file." -resize ".$dims."\! ".$levelcmd."\) \( ".$file." -resize ".$dims."\! \) -define compose:args=".args("mix")." -compose blend -composite ";
|
||||||
|
} else {
|
||||||
|
$cmd .= $levelcmd;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (args("unsharp")) {
|
if (args("unsharp")) {
|
||||||
@@ -892,7 +907,15 @@ foreach ($jpg as $parts) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$msg .= " [Q=".$quality."]";
|
$msg .= " [Q=".$quality."]";
|
||||||
$cmd .= "-quality ".$quality." ".$file." ".$output;
|
$cmd .= "-quality ".$quality." ";
|
||||||
|
|
||||||
|
if (args("mix") && $levelcmd) {
|
||||||
|
$cmd .= $output;
|
||||||
|
} else {
|
||||||
|
$cmd .= $file." ".$output;
|
||||||
|
}
|
||||||
|
|
||||||
|
//echo $cmd."\n";
|
||||||
|
|
||||||
$thread_a[] = array($msg, $cmd);
|
$thread_a[] = array($msg, $cmd);
|
||||||
$thread_b[] = array(".","exiftool -overwrite_original -Xresolution=".$dpi." -Yresolution=".$dpi." -jfif:Xresolution=".$dpi." -jfif:Yresolution=".$dpi." ".$output);
|
$thread_b[] = array(".","exiftool -overwrite_original -Xresolution=".$dpi." -Yresolution=".$dpi." -jfif:Xresolution=".$dpi." -jfif:Yresolution=".$dpi." ".$output);
|
||||||
@@ -1020,7 +1043,7 @@ msg("Remove scratch files?",2);
|
|||||||
if (!is_dir("scratch")) {
|
if (!is_dir("scratch")) {
|
||||||
msg("Problem with scratch dir",2);
|
msg("Problem with scratch dir",2);
|
||||||
} else {
|
} else {
|
||||||
exec("/opt/local/bin/trash -a scratch/");
|
exec("/opt/local/bin/trash scratch/");
|
||||||
}
|
}
|
||||||
|
|
||||||
fin();
|
fin();
|
||||||
@@ -1035,7 +1058,7 @@ echo Welcome("Edge detection");
|
|||||||
$dest = rtrim(args("dir"), '/')."_edges";
|
$dest = rtrim(args("dir"), '/')."_edges";
|
||||||
if (count(glob($dest."/*.*"))) {
|
if (count(glob($dest."/*.*"))) {
|
||||||
msg("Files already exist in ".$dest.". Move to trash?",2);
|
msg("Files already exist in ".$dest.". Move to trash?",2);
|
||||||
exec("/opt/local/bin/trash -a ".$dest);
|
exec("/opt/local/bin/trash ".$dest);
|
||||||
mkdir($dest);
|
mkdir($dest);
|
||||||
} elseif (!is_dir($dest)) {
|
} elseif (!is_dir($dest)) {
|
||||||
mkdir($dest);
|
mkdir($dest);
|
||||||
@@ -1085,7 +1108,7 @@ if (args("x")) {
|
|||||||
$dest = rtrim(args("dir"), '/')."_rotated";
|
$dest = rtrim(args("dir"), '/')."_rotated";
|
||||||
if (count(glob($dest."/*.*"))) {
|
if (count(glob($dest."/*.*"))) {
|
||||||
msg("Files already exist in ".$dest.". Move to trash?",2);
|
msg("Files already exist in ".$dest.". Move to trash?",2);
|
||||||
exec("/opt/local/bin/trash -a ".$dest);
|
exec("/opt/local/bin/trash ".$dest);
|
||||||
mkdir($dest);
|
mkdir($dest);
|
||||||
} elseif (!is_dir($dest)) {
|
} elseif (!is_dir($dest)) {
|
||||||
mkdir($dest);
|
mkdir($dest);
|
||||||
@@ -1597,7 +1620,7 @@ $input = args("dir")."*.*";
|
|||||||
$dest = basename(getcwd()).".pdf";
|
$dest = basename(getcwd()).".pdf";
|
||||||
if (file_exists($dest)) {
|
if (file_exists($dest)) {
|
||||||
msg("Files ".$dest." already exists. Move to trash?",2);
|
msg("Files ".$dest." already exists. Move to trash?",2);
|
||||||
exec("/opt/local/bin/trash -a ".$dest);
|
exec("/opt/local/bin/trash ".$dest);
|
||||||
}
|
}
|
||||||
echo "Creating pdf...\n\n";
|
echo "Creating pdf...\n\n";
|
||||||
exec("img2pdf --verbose --viewer-page-layout twocolumnright --author 'Leaf ".$version."' --output ".$dest." ".$input);
|
exec("img2pdf --verbose --viewer-page-layout twocolumnright --author 'Leaf ".$version."' --output ".$dest." ".$input);
|
||||||
@@ -1649,7 +1672,7 @@ exec("pdftk ".$file." cat ".$items."output ".$output);
|
|||||||
|
|
||||||
echo "\n";
|
echo "\n";
|
||||||
msg("Remove original file?",2);
|
msg("Remove original file?",2);
|
||||||
exec("/opt/local/bin/trash -a ".$file."; mv ".$output." ".$file);
|
exec("/opt/local/bin/trash ".$file."; mv ".$output." ".$file);
|
||||||
|
|
||||||
fin();
|
fin();
|
||||||
|
|
||||||
@@ -1704,7 +1727,7 @@ $dest = rtrim(args("dir"), '/')."_divided";
|
|||||||
|
|
||||||
if (count(glob($dest."/*.*"))) {
|
if (count(glob($dest."/*.*"))) {
|
||||||
msg("Files already exist in ".$dest.". Move to trash?",2);
|
msg("Files already exist in ".$dest.". Move to trash?",2);
|
||||||
exec("/opt/local/bin/trash -a ".$dest);
|
exec("/opt/local/bin/trash ".$dest);
|
||||||
mkdir($dest);
|
mkdir($dest);
|
||||||
} elseif (!is_dir($dest)) {
|
} elseif (!is_dir($dest)) {
|
||||||
mkdir($dest);
|
mkdir($dest);
|
||||||
|
|||||||
Reference in New Issue
Block a user