Я создаю файл PDF с помощью Wicked:
pdf = WickedPdf.new.pdf_from_string('<h1>Hello There!</h1>')
Я предполагаю, что это где-то создает временный файл. Как я могу получить путь к этому временному файлу?
Я создаю файл PDF с помощью Wicked:
pdf = WickedPdf.new.pdf_from_string('<h1>Hello There!</h1>')
Я предполагаю, что это где-то создает временный файл. Как я могу получить путь к этому временному файлу?
вы можете сделать это, когда создаете PDF-файл, только вы можете указать параметр желаемого временного пути
pdf = WickedPdf.new.pdf_from_string('<h1>Hello There!</h1>', {temp_path: "your path here")
temp_path
на самом деле ожидает каталог папки, а не путь к файлу. Пожалуйста, проверьте github.com/mileszs/wicked_pdf/blob/master/ lib/wicked_pdf/
- person new2cpp; 15.01.2020
Проверяя источник WickedPDF, мы обнаружили TempFile
Временный файл должен быть создан во временном каталоге, как указано в options
или Dir.tmpdir
.
См. пример https://github.com/mileszs/wicked_pdf#super-advanced-usage.
Официальный пример использования File
pdf = render_to_string pdf: "some_file_name", template: "templates/pdf", encoding: "UTF-8"
# then save to a file
save_path = Rails.root.join('pdfs','filename.pdf')
File.open(save_path, 'wb') do |file|
file << pdf
end
Вы можете использовать tempfile
, чтобы сделать это как
pdf_string = WickedPdf.new.pdf_from_string(...)
overlay = Tempfile.new('overlay')
overlay.binmode
overlay.write(pdf_string)
overlay.close
overlay.path # to get path