2016-05-30 3 views
0

Я использую Paperclip для обработки документов и изображений как Tiff, так и PDF. Так Tiff и PDF можно скачать. Tiff должен быть преобразован в PDF, а PDF должен быть оставлен как есть. Но когда я загружаю PDF, в целевом файле есть только одна страница. Похоже, что постобработка Скрепки делает автоматические новообращенную:Как избежать почтовой обработки в Paperclip

convert '/tmp/00c865a9d6c212a20cd851a448969f5520160530-4574-1yqdtq.pdf[0]' -auto-orient '/tmp/00c865a9d6c212a20cd851a448969f5520160530-4574-1yqdtq20160530-4574-8l8k7z.pdf' 

Как я могу избежать Постобработку?

Мой код:

has_mongoid_attached_file :document, styles: lambda { |a| 
    if a.instance.isTiff? 
    { 
    pdf: { 
     format: 'pdf', 
     processors: [:tiff_to_pdf] 
    } 
    } 
    else 
    { 
    pdf: { 
     format: 'pdf' 
    } 
    } 
end 
} 

ответ

0

Моим решением для этого было создать собственный процессор для pdf, который просто сделает копию самого себя. Кажется, что без установки собственного процессора используется процессор по умолчанию, который привел к такому поведению.

0

Пожалуйста, прочитайте документацию:

https://github.com/thoughtbot/paperclip#post-processing https://github.com/thoughtbot/paperclip#events

Вы можете сделать это как-н:

class Message < ActiveRecord::Base 
    has_attached_file :asset, styles: {thumb: "100x100#"} 

    before_post_process :skip_for_audio 

    def skip_for_audio 
    ! %w(audio/ogg application/ogg).include?(asset_content_type) 
    end 
end 
+0

Спасибо, ховэнсик. Что делать, если я хотел бы получить тот же файл назначения? Как копия. Возможно ли это с процессором? –

+0

Что вы подразумеваете под «тем же файлом назначения»? – hovancik

Смежные вопросы