Improve formatting of rich text in pdf
This commit is contained in:
parent
879670983d
commit
1e1ae1ce3b
4 changed files with 24 additions and 6 deletions
|
|
@ -1,8 +1,17 @@
|
|||
module PdfHelper
|
||||
def prepare_rich_text(rich_text)
|
||||
return rich_text
|
||||
|
||||
{ del: 'strikethrough' }.each do |tag, replacement|
|
||||
rich_text = rich_text.to_s.gsub("<#{tag}", "<#{replacement}")
|
||||
rich_text = rich_text.to_s.gsub("</#{tag}>", "</#{replacement}>")
|
||||
end
|
||||
|
||||
%w[div p del blockquote pre code].each do |tag|
|
||||
rich_text = rich_text.to_s.gsub(%r{<#{tag}.*?>|</#{tag}>}, '')
|
||||
end
|
||||
rich_text.gsub!(/<h1.*?>/, '')
|
||||
rich_text.gsub!(%r{</h1>}, '<br><br>')
|
||||
rich_text
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,14 +1,17 @@
|
|||
prawn_document do |pdf|
|
||||
pdf.text @report.name
|
||||
pdf.markup_options = {
|
||||
heading1: { style: :bold, size: 14, margin_bottom: 10, margin_top: 20 }
|
||||
}
|
||||
pdf.text @report.name, size: 22, style: :bold, align: :center
|
||||
@report.elements.each do |element|
|
||||
pdf.text element.title
|
||||
pdf.text element.title, size: 16, style: :bold
|
||||
pdf.text element.path
|
||||
pdf.text prepare_rich_text(element.description_html), inline_format: true
|
||||
pdf.markup prepare_rich_text(element.description_html.to_s), inline_format: true
|
||||
|
||||
element.success_criteria.each do |success_criterion|
|
||||
pdf.text success_criterion.title
|
||||
pdf.text prepare_rich_text(success_criterion.description_html), inline_format: true
|
||||
pdf.text prepare_rich_text(success_criterion.comment_html), inline_format: true
|
||||
pdf.text success_criterion.title, size: 14, style: :bold
|
||||
pdf.markup prepare_rich_text(success_criterion.description_html.to_s), inline_format: true
|
||||
pdf.markup prepare_rich_text(success_criterion.comment_html.to_s), inline_format: true
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue