class Despeck::Commands::Remove
Subcommand that removes watermarks from images & PDFs
Public Instance Methods
execute()
click to toggle source
# File lib/commands/remove.rb, line 41 def execute Despeck.apply_logger_level(debug?) if input_file.end_with?('.pdf') origin_images = PdfTools.pdf_to_images(input_file) images = origin_images.map do |image| remove_watermark_from_image(image, nil) end PdfTools.images_to_pdf(images, output_file, origin_images) else remove_watermark_from_image(input_file, output_file) end end
Private Instance Methods
remove_watermark_from_image(input, output)
click to toggle source
# File lib/commands/remove.rb, line 57 def remove_watermark_from_image(input, output) wr = WatermarkRemover.new( add_contrast: add_contrast?, accurate: accurate?, black_const: black_const, sensitivity: sensitivity, watermark_color: color ) input_image = input.is_a?(String) ? Vips::Image.new_from_file(input) : input output_image = wr.remove_watermark(input_image) return output_image unless output output_image&.write_to_file(output) end