我需要创建一个应用程序,它可以从字段中生成自动生成的CV。我需要将它们转换为PDF / HTML / DOC,但有许多宝石可用。
您认为哪种宝石最适合制作PDF,HTML和DOC格式的简历?
我找到了PDF的大虾,但它最适合制作类似CV的PDF吗?
提前谢谢。
编辑:我找到了一个类似于Prawn的宝石,但是对于docx可能会让你感兴趣。 https://github.com/trade-informatics/caracal/
答案 0 :(得分:7)
用于创作PDF文件
我会使用 Prawn 而不是Wicked-PDF。
我知道恶人更方便,但是Prawn既是原生的又是更灵活的。
Wicked依赖于wkhtmltopdf并使用系统调用 - 系统调用可能会导致并发问题,并且就性能而言也很昂贵。
您使用哪一个,我可能会将CombinePDF添加到混合中。 (我有偏见)
这将允许您使用模板PDF文件 - 因此您可以使用Prawn或Wicked编写您的简历,并使用CombinePDF gem将其扔到设计精美的模板上。
CombinePDF也可用于创建简单的文本对象,数字页面或写表...
require 'combine_pdf'
pdf = CombinePDF.new
pdf.new_page.textbox "Hello World!", font_size: 18, opacity: 0.75
pdf.save 'test.pdf' # use pdf.to_pdf to render the PDF into a String object.
...但我认为Prawn是一个更好的创作工具,而CombinePDF是一个很好的补充库,可以添加预制内容和设计:
require 'combine_pdf'
# get a "stamp" or page template.
# the secure copy will attempt to change the PDF data to avoid name conflicts.
template = CombinePDF.load(template_file_path).pages[0].copy(true)
# move the Prawn document into CombinePDF
pdf = CombinePDF.parse prawn_document.render
# add the template to each page, putting the template on the bottom
# (#>> for bottom vs. #<< for top)
pdf.pages.each {|page| page >> template}
# save the pdf file
pdf.save 'final.pdf' # or render to string, for sending over HTTP: pdf.to_pdf
对于docx
,我很无能......坦率地说,这是一种专有格式,在逆向工程时通常会出现问题。我会避免它,让人们复制并粘贴HTML,如果他们真的想要的话。
答案 1 :(得分:2)
答案 2 :(得分:1)
我在工作中使用这些宝石,如果可以帮助的话,它们非常好。
对于html,一个简单的渲染可以工作。
答案 3 :(得分:0)
你可以查看Ruby toolbox获取pdf generation的可用gems.i会推荐Prawn,因为我自己使用它,并且需要非常简单的简单代码来生成pdf。
例如: -
require "prawn"
Prawn::Document.generate("hello.pdf") do
text "Hello World!"
end
使用Ruby工具箱也可以找到docx / html的其他宝石:)