LoginSignup
1
2

More than 5 years have passed since last update.

RaspberryPiで遊んでみたーその4 ScanSnapをWebから操作するための操作ページを作る

Last updated at Posted at 2015-11-08

いよいよ仕上げです
操作ページは簡単なものにしていますが、もっと作りこんでもいいなーと思っています
コードは参考程度にどうぞ

raspiscan.phpとindex.htmlの作成

以下のファイルを/usr/share/nginx/www/raspiscan/下に置く

raspiscan.php
if($_GET["duplex"] != null) {
    $duplex = ($_GET["duplex"] == "0")? "ADF Front" : "ADF Duplex";
}

if($_GET["color"] != null) {
    $color = ($_GET["color"] == "0")? "Gray" : "Color";
}

if($_GET["location"] != null) {
    if($_GET["location"] == "ne-ne") {
        $location = "ne-ne";
    } else if($_GET["location"] == "chibi") {
        $location = "chibi";
    } else {
        $location = "other";
    }
}
?>

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/html">
<head lang="ja">
    <meta charset="UTF-8">
    <title>おてがみポスト</title>

</head>
<body>
<?php $result = shell_exec("sudo /home/raspiscan/raspiscan.sh \"$duplex\" $color $location"); ?>
<p><?php echo $result; ?></p>
<p><a href="index.html">もどる</a></p>
</body>
index.html
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/html">
<head lang="ja">
    <meta charset="UTF-8">
    <title>おてがみポスト</title>

</head>
<body>
    <h1>えらんでね</h1>
    <span id="test"></span>
    <div id="main">
        <form action="raspiscan.php" method="get">
            <ul id="selectDuplexPrint">
                <li><input type="radio" name="duplex" value="0" checked="checked">かためん</li>
                <li><input type="radio" name="duplex" value="1">りょうめん</li>
            </ul>
            <ul id="selectColorMode">
                <li><input type="radio" name="color" value="0" checked="checked">しろくろ</li>
                <li><input type="radio" name="color" value="1">カラー</li>
            </ul>
            <ul id="selectSaveLocation">
                <li><input type="radio" name="location" value="ne-ne">おねえちゃん</li>
                <li><input type="radio" name="location" value="chibi">ちび</li>
            </ul>
            <input type="submit" value="スキャン">
        </form>
    </div>
</body>
</html>

raspiscan.shを書き換える

/home/raspiscan/raspiscan.shを以下のように書き換える

raspiscan.sh
#!/bin/sh

SOURCE=$1
MODE=$2
LOCATION=$3

TMPDIR=/home/raspiscan/tmp
FILENAME=scan-`date "+%Y%m%d-%H%M%S"`

/bin/mkdir -p $TMPDIR
cd $TMPDIR

/usr/bin/scanimage --batch --source "$SOURCE" --mode $MODE --resolution=190 --y-resolution=190 --format=tiff

convert -compress JPEG -quality 85 -adjoin `ls -1 *.tif | sort -t t -k 2 -n` out.pdf

dropbox_uploader.sh upload /home/raspiscan/tmp/out.pdf $LOCATION/$FILENAME.pdf

rm -Rf $TMPDIR

参考サイト:
SANEのコマンドオプションなど
SANE Scanner Access Now Easy

1
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2