Class: DragonflyPdf::Processors::PageThumb
- Inherits:
-
Object
- Object
- DragonflyPdf::Processors::PageThumb
show all
- Defined in:
- lib/dragonfly_pdf/processors/page_thumb.rb
Defined Under Namespace
Classes: UnsupportedFormat
Instance Method Summary
collapse
Instance Method Details
#call(content, page_number = 0, opts = {}) ⇒ Object
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/dragonfly_pdf/processors/page_thumb.rb', line 9
def call content, page_number=0, opts={}
format = opts.fetch(:format, :png)
density = opts.fetch(:density, 600)
spreads = opts.fetch(:spreads, false)
args = "-alpha deactivate -background white -colorspace sRGB -density #{density}x#{density} -define pdf:use-cropbox=true -define pdf:use-trimbox=true"
crop_args = ''
pdf_properties = DragonflyPdf::Analysers::PdfProperties.new.call(content, spreads)
if spreads
spread = pdf_properties[:page_numbers].detect{ |s| s.include?(page_number) }
spread_number = pdf_properties[:page_numbers].index(spread)
spread_side = spread.index(page_number)
page_to_delete = 1-spread_side
pdf_page_number = spread_number
crop_args = "-crop 50%x100% -delete #{page_to_delete}"
else
pdf_page_number = page_number
end
content.shell_update(ext: format) do |old_path, new_path|
"#{convert_command} #{args} #{crop_args} #{old_path}[#{pdf_page_number}] #{new_path}"
end
content.meta['format'] = format.to_s
content.ext = format
end
|
#update_url(attrs, args = '', opts = {}) ⇒ Object
41
42
43
44
|
# File 'lib/dragonfly_pdf/processors/page_thumb.rb', line 41
def update_url attrs, args='', opts={}
format = opts['format']
attrs.ext = format if format
end
|