Until recently I extended the Rails view to generate a PDF in a service object:
view = ActionView::Base.new(ActionController::Base.view_paths, {}) view.extend