Update index.php

This commit is contained in:
Josh North 2014-08-25 21:59:43 -04:00
parent a6471ace85
commit 56224c4504

147
index.php
View File

@ -102,88 +102,75 @@
</div> </div>
</div> </div>
</form> </form>
<?php
// initialize scanned files directory path
$scans_dir = $app_dir . $scan_dir;
<?php // set post variables
// initialize scanned files directory path if(isset($_POST['sResolution'])) { $pResolution = $_POST['sResolution']; };
$scans_dir = $app_dir . $scan_dir; if(isset($_POST['sX'])) { $pX = $_POST['sX']; };
// decide to use scanimage if Flatbed or scanadf if ADF
// set post variables if (isset($_POST['source'])) {
if(isset($_POST['sResolution'])) { $pResolution = $_POST['sResolution']; }; if ($_POST['source']=="Flatbed") {
if(isset($_POST['sX'])) { $pX = $_POST['sX']; }; $scanprog = $scanimage;
} else {
// decide to use scanimage if Flatbed or scanadf if ADF $scanprog = $scanadf;
if (isset($_POST['source'])) { }
if ($_POST['source']=="Flatbed") { } else {
$scanprog = $scanimage; $scanprog = $scanimage;
} else {
$scanprog = $scanadf;
}
} else {
$scanprog = $scanimage;
}
// are we being called as a result of a scan or just initial page view?
if (isset($_POST['scan'])) {
$descriptorspec = array(
0 => array("pipe", "r"), // stdin is a pipe that the child will read from
1 => array("pipe", "w"), // stdout is a pipe that the child will write to
2 => array("pipe", "w") // stderr is a file to write to
);
$cwd = '/tmp';
$env = array();
// append to filename if set, otherwise date only
if (isset($_POST['filenaming'])) {
if (empty($_POST['filenaming'])) {
$filename = date($date_format);
} else {
$filename = date($date_format)."_".$_POST['filenaming'];
}
} else {
$filename = date($date_format);
}
// do it!
$process = proc_open($scanprog . " -d " . $_POST['device'] . " --output-file " . $scans_dir . $filename . "-%04d --source " . $_POST['source'] . " --mode " . $_POST['mode'] . " --resolution " . $sResolution . " -l " . $_POST['l'] . " -t " . $_POST['t'] . " -x " . $sX . " -y " . $_POST['y'], $descriptorspec, $pipes, $cwd, $env);
if (is_resource($process)) {
$errors = stream_get_contents($pipes[2]);
$output = stream_get_contents($pipes[1]);
}
$dirList = scandir($scans_dir);
$inputFiles = array();
$firstFile = "";
foreach ($dirList as $file) {
if (stristr($file, $filename)) {
if ($firstFile=="") $firstFile = $file;
array_push($inputFiles, $file);
} }
// are we being called as a result of a scan or just initial page view?
if (isset($_POST['scan'])) {
$descriptorspec = array(
0 => array("pipe", "r"), // stdin is a pipe that the child will read from
1 => array("pipe", "w"), // stdout is a pipe that the child will write to
2 => array("pipe", "w") // stderr is a file to write to
);
$cwd = '/tmp';
$env = array();
// append to filename if set, otherwise date only
if (isset($_POST['filenaming'])) {
if (empty($_POST['filenaming'])) {
$filename = date($date_format);
} else {
$filename = date($date_format)."_".$_POST['filenaming'];
}
} else {
$filename = date($date_format);
}
// do it!
$process = proc_open($scanprog . " -d " . $_POST['device'] . " --output-file " . $scans_dir . $filename . "-%04d --source " . $_POST['source'] . " --mode " . $_POST['mode'] . " --resolution " . $sResolution . " -l " . $_POST['l'] . " -t " . $_POST['t'] . " -x " . $sX . " -y " . $_POST['y'], $descriptorspec, $pipes, $cwd, $env);
if (is_resource($process)) {
$errors = stream_get_contents($pipes[2]);
$output = stream_get_contents($pipes[1]);
}
$dirList = scandir($scans_dir);
$inputFiles = array();
$firstFile = "";
foreach ($dirList as $file) {
if (stristr($file, $filename)) {
if ($firstFile=="") $firstFile = $file;
array_push($inputFiles, $file);
}
}
if (count($inputFiles)) {
$path="";
foreach ($inputFiles as $file) {
$path .= "pnm:" . $scans_dir . $file;
}
//exec($convert . " pnm:" . $scans_dir . $firstFile . " -strip " . $scans_dir . $firstFile . ".jpg");
// make a (multi-page) pdf file from the scanned pnm files
// we have to set density to match the scan resolution and then calculate the width to pixels in order to make the pdf correct
exec($convert . ' -density ' . $sResolution . ' -page ' . $sX . ' ' . $path . ' ' . $scans_dir . $filename . '.pdf');
// $output = $convert . " pnm:" . $scans_dir . $firstFile . " -strip " . $scans_dir . $firstFile . ".jpg";
// $output .= ($convert . " " . $path . " " . $scans_dir . $filename . ".pdf");
echo "Scan Successful!";
} else {
echo "Scan Failed!";
}
ob_flush();
echo "";
} }
if (count($inputFiles)) { ?>
$path="";
foreach ($inputFiles as $file) {
$path .= "pnm:" . $scans_dir . $file;
}
//exec($convert . " pnm:" . $scans_dir . $firstFile . " -strip " . $scans_dir . $firstFile . ".jpg");
// make a (multi-page) pdf file from the scanned pnm files
// we have to set density to match the scan resolution and then calculate the width to pixels in order to make the pdf correct
exec($convert . ' -density ' . $sResolution . ' -page ' . $sX . ' ' . $path . ' ' . $scans_dir . $filename . '.pdf');
// $output = $convert . " pnm:" . $scans_dir . $firstFile . " -strip " . $scans_dir . $firstFile . ".jpg";
// $output .= ($convert . " " . $path . " " . $scans_dir . $filename . ".pdf");
echo "Scan Successful!";
} else {
echo "Scan Failed! No pages were scanned. Is there a document in the scanner?";
}
ob_flush();
echo "";
}
?>
<div class="pure-g"> <div class="pure-g">
<div class="pure-u-1 pure-u-md-1-2"> <div class="pure-u-1 pure-u-md-1-2">
<h2>Previous Document Scans (PDF)</h2> <h2>Previous Document Scans (PDF)</h2>