class Libis::Format::Converter::PdfOptimizer
Public Class Methods
input_types()
click to toggle source
# File lib/libis/format/converter/pdf_optimizer.rb, line 13 def self.input_types [:PDF] end
output_types(format = nil)
click to toggle source
# File lib/libis/format/converter/pdf_optimizer.rb, line 17 def self.output_types(format = nil) return [] unless input_types.include?(format) if format [:PDF] end
Public Instance Methods
convert(source, target, format, opts = {})
click to toggle source
Calls superclass method
Libis::Format::Converter::Base#convert
# File lib/libis/format/converter/pdf_optimizer.rb, line 44 def convert(source, target, format, opts = {}) super optimize_pdf(source, target, @quality || 'ebook') end
optimize_pdf(source, target, quality)
click to toggle source
# File lib/libis/format/converter/pdf_optimizer.rb, line 51 def optimize_pdf(source, target, quality) using_temp(target) do |tmpname| result = Libis::Format::Tool::PdfOptimizer.run(source, tmpname, quality) unless result[:status] == 0 error("Pdf optimization encountered errors:\n%s", (result[:err] + result[:out]).join("\n")) next nil end tmpname end end
pdf_optimize(_)
click to toggle source
# File lib/libis/format/converter/pdf_optimizer.rb, line 22 def pdf_optimize(_) #force usage of this converter end
quality(setting = 1)
click to toggle source
Optimize the PDF
This reduces the graphics quality to a level in order to limit file size. This option relies on the presence of ghostscript and takes one argument: the quality level. It should be one of:
-
0 : lowest quality (Acrobat Distiller 'Screen Optimized' equivalent)
-
1 : medium quality (Acrobat Distiller 'eBook' equivalent)
-
2 : good quality
-
3 : high quality (Acrobat Distiller 'Print Optimized' equivalent)
-
4 : highest quality (Acrobat Distiller 'Prepress Optimized' equivalent)
Note that the optimization is intended to be used with PDF's containing high-resolution images.
@param [Integer] setting quality setting. [0-4]
# File lib/libis/format/converter/pdf_optimizer.rb, line 40 def quality(setting = 1) @quality = %w(screen ebook default printer prepress)[setting] if (0..4) === setting end