1
0
Fork 0
dotfiles/bin/executable_epsonscan

26 lines
852 B
Ruby
Executable File

#!/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)