Class: PdfParadise::PdfOptimizer

Inherits:
Base
  • Object
show all
Defined in:
lib/pdf_paradise/utility_scripts/pdf_optimizer.rb

Overview

PdfParadise::PdfOptimizer

Constant Summary

Constants inherited from Base

Base::NAMESPACE

Instance Method Summary collapse

Methods inherited from Base

#basename, #be_verbose?, #change_directory, #commandline_arguments?, #copy_file, #delete_file, #e, #ecomment, #esystem, #first_argument?, #gold, #infer_the_namespace, #input_without_leading_hyphens?, #internal_hash?, #is_an_image_file?, #is_on_roebe?, #lightsteelblue, #log_dir?, #mkdir, #mv, #n_pages?, #namespace?, #no_file_at, #opne, #opnn, #orange, #reset_the_internal_hash, #return_commandline_arguments_starting_with_hyphens, #return_files_from_the_commandline_arguments, #return_pwd, #rev, #set_be_quiet, #set_commandline_arguments, #steelblue, #try_to_ensure_that_this_directory_exists, #write_what_into

Constructor Details

#initialize(i = nil, run_already = true) ⇒ PdfOptimizer

#

initialize

#


34
35
36
37
38
39
40
41
# File 'lib/pdf_paradise/utility_scripts/pdf_optimizer.rb', line 34

def initialize(
    i           = nil,
    run_already = true
  )
  reset
  set_input(i)
  run if run_already
end

Instance Method Details

#input?Boolean Also known as: input_file, input_file?

#

input?

#

Returns:

  • (Boolean)


61
62
63
# File 'lib/pdf_paradise/utility_scripts/pdf_optimizer.rb', line 61

def input?
  @input
end

#output_file?Boolean Also known as: output_pdf?

#

output_file?

#

Returns:

  • (Boolean)


69
70
71
# File 'lib/pdf_paradise/utility_scripts/pdf_optimizer.rb', line 69

def output_file?
  'output.pdf'
end

#output_psObject

#

output_ps

#


83
84
85
# File 'lib/pdf_paradise/utility_scripts/pdf_optimizer.rb', line 83

def output_ps
  'output.ps'
end

#resetObject

#

reset (reset tag)

#


46
47
# File 'lib/pdf_paradise/utility_scripts/pdf_optimizer.rb', line 46

def reset
end

#runObject

#

run (run tag)

#


90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# File 'lib/pdf_paradise/utility_scripts/pdf_optimizer.rb', line 90

def run
  # ======================================================================= #
  # We have two different solutions.
  # ======================================================================= #
  if use_ghostscript?
    _ = 'gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen '\
        '-dNOPAUSE -dQUIET -dBATCH -sOutputFile='+
        output_file?+' '+
        input_file?
  else
    _ = 'pdf2ps '+input?+' '+output_ps
    esystem _
    _ = 'ps2pdf '+output_ps+' '+output_pdf?
  end
  esystem _
end

#set_input(i = '') ⇒ Object

#

set_input

#


52
53
54
55
56
# File 'lib/pdf_paradise/utility_scripts/pdf_optimizer.rb', line 52

def set_input(i = '')
  i = i.first if i.is_a? Array
  i = i.to_s.dup
  @input = i
end

#use_ghostscript?Boolean

#

use_ghostscript?

#

Returns:

  • (Boolean)


76
77
78
# File 'lib/pdf_paradise/utility_scripts/pdf_optimizer.rb', line 76

def use_ghostscript?
  true # For now this is hardcoded.
end