26 lines
852 B
Ruby
Executable File
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)
|