#!/usr/bin/env ruby require 'pathname' require 'fileutils' PREFIX=ARGV[0] || Time.now.strftime("%Y-%m-%d-Scan") FEED=ARGV[1].eql?("-d") ? 'ADF Duplex' : "ADF Front" SCAN_PATH = Pathname.new("~/Documents/Scans").expand_path CURRENT_FILE = Pathname.new(SCAN_PATH.join(PREFIX)) COMMANDS = [ "img2pdf --output=#{CURRENT_FILE}_input.pdf #{CURRENT_FILE}*tif", "ocrmypdf -l deu #{CURRENT_FILE}_input.pdf #{CURRENT_FILE}.pdf" ] system "scanimage -d 'epjitsu' --format tiff --batch='#{CURRENT_FILE}-%d.tif' --source '#{FEED}' --mode 'Gray' --resolution 300" or abort("Sorry, could not talk to scanner") pdfbuild = fork do Dir.chdir(SCAN_PATH) do COMMANDS.each { |c| system(c) or abort("Sorry, #{c.split.first} made a boo boo") } FileUtils.rm(Dir.glob(["#{CURRENT_FILE}*tif", "#{CURRENT_FILE}_input.pdf"])) end end Process.detach(pdfbuild)