Я пытаюсь загрузить динамический контент в формате pdf. PDF создается, но без содержания в нем, даже не простой текст (когда я тестирую его).Rails wicked_pdf gem генерирует пустой pdf
Поскольку мне нужно много данных, которые мне нужны для расчета и отправки параметров без обновления страницы, поэтому я делаю это через запрос Ajax.
$("#download_pdf").click(function() {
report_type = $("#report_type").val();
start_date = $("#start_date").val();
end_date = $("#end_date").val();
date_type = $("#date_type").val();
$.ajax({
data: { report_type: report_type, start_date: start_date, end_date: end_date, date_type: date_type },
url: '/reports/generate_pdf.pdf',
success: function(data) {
var blob=new Blob([data]);
var link=document.createElement('a');
link.href=window.URL.createObjectURL(blob);
link.download="Report_"+new Date()+".pdf";
link.click();
console.log("pdf printed");
}
});
});
Вот мой рубиновый код в контроллере:
def generate_pdf
@results = get_report_result_by_datetype(params[:report_type], params[:start_date], params[:end_date], params[:date_type])
@type = params[:report_type].to_i
@start_date = params[:start_date]
@end_date = params[:end_date]
respond_to do |format|
format.html
format.pdf do
render pdf: "report",
layout: 'pdf_layout',
template: 'reports/generate_pdf.html.erb',
encoding: 'UTF8',
print_media_type: true,
disposition: 'attachment',
page_size: 'letter',
orientation: 'landscape',
lowquality: 'false',
debug: true
end
end
end
Там нет вопроса в данных, которые я кокетливыми.
Примечание: Самое странное, что я заметил, что когда рассчитанный массив мал, сгенерированный PDF имеет одну страницу, и если он большой, то сгенерированный PDF показывает несколько страниц.
Я был бы очень признателен, если бы кто-то указал, где я ошибаюсь.
Спасибо заранее!