标签: prawnto

Prawn中的页眉和页脚PDF

我已阅读了有关Prawn的所有相关帖子,但未发现(即使在Prawn自己的文档中)页眉和页脚.

但是,我确实在Prawnto自己的网站上看到了有关页眉和页脚的演示.我复制了该演示的整个源代码,只是为了查看它是否有效但是未定义方法"header"的错误被抱怨了.我是否理解Prawn最近在宝石中取出了页眉和页脚或者我还需要先做其他什么才能使用页眉和页脚?

演示页面:http: //cracklabs.com/prawnto/code/prawn_demos/source/text/flowing_text_with_header_and_footer

关注代码的一部分:

Prawn::Document.generate("flow_with_headers_and_footers.pdf")  do

  header margin_box.top_left do 
      text "Here's My Fancy Header", :size => 25, :align => :center   
  end   

  text "hello world!"
end
Run Code Online (Sandbox Code Playgroud)

通过标题,以防万一,我的意思是通常出现在文档每个页面一角的单词片段.就像账单页面中的账号一样.

谢谢!

ruby-on-rails prawn prawnto

29
推荐指数
5
解决办法
3万
查看次数

将Prawn PDF保存为Paperclip附件?

我正在使用Prawn和Prawnto向用户显示基于PDF的报告,但在某些情况下,我还想将PDF保存为我的某个模型的附件.我正在使用Paperclip来处理我的所有附件.有没有人对如何做到这一点有任何建议?

谢谢!

ruby-on-rails prawn paperclip prawnto ruby-on-rails-3

22
推荐指数
2
解决办法
8444
查看次数

将外部PDF插入到Prawn生成的文档中

如何将现有PDF插入到Prawn生成的文档中?我正在为账单生成pdf(作为视图),并且该账单可以有许多附件(png,jpg或pdf).如何在生成的文档中插入/嵌入/包含这些外部pdf附件?我已经阅读了手册,查看了源代码,并在线搜索,但到目前为止还没有运气.

我发现最接近的提示是使用ImageMagick或类似的东西将pdf转换为另一种格式,但由于我不需要调整/操作文档,这似乎很浪费.旧方法似乎是通过模板,但我的理解是模板的代码是不稳定的.

有谁知道如何在Prawn生成的PDF中包含PDF页面?如果Prawn不会这样做,你知道会有什么补充宝石吗?如果有人能指出我喜欢虾模板但更可靠的东西,那就太棒了.

编辑:我正在使用prawnto和prawn在Rails 4.2.0中使用Ruby 2.2.0呈现PDF视图.


我发现的但似乎不适用/太乱的策略:

  • 在上传时创建PDF的jpg预览,包括生成的文档中的内容(缺点:没有文本选择/搜索,昂贵).这是目前我最喜欢的选择,但我不喜欢它.

  • prawn-templates(缺点:不稳定,未维护的代码库;这是一个关键业务应用程序)

  • 通过像'combine-pdf'这样的宝石合并PDF我无法弄清楚如何使这个工作用于在特定位置插入外部PDF来渲染视图(生成的pdf是一个帐单集合,我需要它们到按照他们附加的法案)

ruby pdf-generation ruby-on-rails prawn prawnto

10
推荐指数
1
解决办法
3099
查看次数

Prawn&Prawnto Rails PDF生成 - UTF-8?

我正在使用ruby,prawn和prawnto动态生成包含其他语言文本的pdf.我似乎无法使用非英文字符的语言显示任何文本.它不会抛出任何错误...只显示一堆破折号而不是字符.Prawn在其主页上讨论UTF-8支持,所以我不明白为什么这是一个问题.我正在使用红宝石1.8.6(发动机厂).

pdf ruby-on-rails utf-8 prawn prawnto

9
推荐指数
2
解决办法
6320
查看次数

使用prawnto_2 gem加载图像时,RAILS_ROOT不再有效

我正在将我的应用程序从Rails 3.0升级到Rails 3.1.

在可能的情况下,我已经将旧插件分类为有利于宝石,其中包括用这个漂亮闪亮的新prawnto_2宝石替换旧的prawnto插件.

大多数事情似乎很好,但我不能像以前一样加载图像.我的PDF视图中的代码是

pdf.image open("#{RAILS_ROOT}/public/images/logo.png")
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误

uninitialized constant ActionView::CompiledTemplates::RAILS_ROOT
Run Code Online (Sandbox Code Playgroud)

我意识到图像文件的位置会随着我使用资源而改变,并且图像不再存储在公共文件夹中.

ruby-on-rails prawn prawnto

9
推荐指数
1
解决办法
7581
查看次数

如何在Prawn表中创建粗体标题

我正在使用Prawn并且需要将Header行加粗,但我在API中找不到任何解决方案.

在这里,您可以使用普通文本标题查看当前表格

pdf.table (Data, :header => true) do
  table.header=(["Header1", "Header2", "Header3", "Header4"])        
end
Run Code Online (Sandbox Code Playgroud)

prawn prawnto ruby-on-rails-3

7
推荐指数
1
解决办法
5304
查看次数

prawnto显示新页面时不会中断的表格

我有一个可变数量的表,行数可变,我想让它们一个接一个地显示,但如果一个表不适合当前页面,则将它放在下一个然后继续.我把表放在一个交易中,所以我可以回滚然后打印它,如果高度适合在curent页面,但我如何获得表高度?

我现在有这个代码

pdf.transaction do 

pdf.table @data,
    :font_size  => 12, 
    :border_style => :grid,
    :horizontal_padding => 10,
    :vertical_padding   => 3,
    :border_width       => 2,
    :position           => :left,
    :row_colors => ["FFFFFF","DDDDDD"]

pdf.move_down 20

#pdf.rollback 
end
Run Code Online (Sandbox Code Playgroud)

对此的任何帮助都会很棒.或者其他任何方式来做到这一点?

最好的问候里克

ruby pdf-generation ruby-on-rails prawn prawnto

5
推荐指数
3
解决办法
4559
查看次数

从Ruby on Rails中的模板构建PDF

我想在doc,pdf,odt,docx中创建一个模板......文档类型没关系.我想要的是获取此文档,更改一些值并将此文档转换为PDF.

例如:

拿这个模板:

<Title>
<Date>

Hello <Name>,

<Text>

         <Farewell>
Run Code Online (Sandbox Code Playgroud)

有了这些信息:

Title: attention
Date: 22/05/2011
Name: NicosKaralis
Text: Lorem ipsum ...
Farewell: See you later
Run Code Online (Sandbox Code Playgroud)

使用颜色,背景和可能包含模板的任何内容生成此pdf文档:

attention
22/05/2011

Hello NicosKaralis,

Lorem ipsum ....

         See you later.
Run Code Online (Sandbox Code Playgroud)

Ruby on Rails有什么方法可以做到这一点吗?最好用虾

提前致谢

- 编辑 -

1应用程序的所有者将创建如下内容:Original.(odt,doc,pdf)

2我的应用数据库将拥有具有以下属性的用户:

title =欢迎来到互联网!

name = Jhon Doe

text =欢迎来到互联网,我将成为您的向导

告别=希望很快见到你!

3我的应用程序将创建一个这样的pdf:Final.pdf并通过电子邮件发送

电子邮件部分我已经工作了.我只是没有pdf.

PS:我现在如何从头开始创建一个pdf,但我不想这样.此应用程序的要点是您不需要成为rails开发人员来更改生成的pdf.

pdf pdf-generation prawn prawnto ruby-on-rails-3

5
推荐指数
1
解决办法
6919
查看次数

如何根据Rails 3.0.x中的表单选项指定响应格式

环境:Rails 3.0.4和Ruby 1.9.2

我有以下表格:

<%= form_tag( {:action => 'show', :format => :pdf}, :method => :post) do %>

.. list of items ...

<%= submit_tag "Show", :onclick => "return checkAllFields(4);", :remote => true %> 

<select name="format">
    <option name="HTML">HTML</option>
    <option name="PDF">PDF</option>
</select>) 

<% end %>
Run Code Online (Sandbox Code Playgroud)

如您所见,我已在URL中将格式指定为"pdf".我想要的是根据select选项从控制器请求HTML或PDF响应.这两个查询都是单独工作的,即我可以渲染HTML或PDF但不能使其成为动态用户选择.(我甚至无法使用两个单独的硬编码按钮)

控制器代码很明显

def show
  # code to locate items here

  respond_to do |format|
    format.html
    format.pdf { render :layout => false }
      prawnto :filename => "list.pdf", :prawn => { }
  end 
end
Run Code Online (Sandbox Code Playgroud)

webforms ruby-on-rails prawn prawnto ruby-on-rails-3

4
推荐指数
1
解决办法
2586
查看次数

使用包含图像的Prawnto生成PDF

我做了一些关于在我的RoR项目中生成pdf的最简单/最好方法的研究,并决定了Prawn + Prawnto.我已经成功地让Prawnto使用.prawn扩展生成了一个非常基本的PDF,但是我不知道如何显示图像.是否可以使用prawnto选项?

在将来,我想为pdf生成随机下载链接,并将其包含在电子邮件中.我也希望这个PDF始终可访问,不要破坏此链接.

考虑到这一点,Prawnto是最好的选择,因为文档似乎已经枯竭,但它似乎仍然是强烈推荐的.它仍然是最好的选择吗?我正在使用Rails 3.2.

任何有关此事的帮助,建议或指导都非常受欢迎

谢谢.

ruby-on-rails prawn prawnto ruby-on-rails-3

4
推荐指数
1
解决办法
889
查看次数

在Prawn PDF语法中使用html_safe属性

我正在从CK编辑器的输出中渲染PDF数据(你看到的是你得到的编辑器).该编辑器的输出将包含在内容中的所有HTML,CSS标记中.为此我在展示页面中使用了'html_safe'属性.但是当我尝试在PDF prawn语法中使用相同的属性时,它无法正常工作.有人可以指导我如何在没有Prawn PDF中的所有HTML标签的情况下获取纯内容吗?

提前致谢.

pdf-generation ruby-on-rails prawn prawnto ckeditor

2
推荐指数
1
解决办法
536
查看次数

Prawn/PDF:一行有多种格式/文本?

当我尝试以下代码时:

text "Hello "
text "World"
Run Code Online (Sandbox Code Playgroud)

它们在 World 之上呈现 Hello,而不是在 Hello 之后立即呈现 World。我在一行上需要的文本上有一些复杂的格式(突出显示、不同的字体大小等)。我知道该:inline_formatting选项存在,但使用该选项似乎太复杂了。

我有以下代码:

highlight_callback.rb:

class HighlightCallback
  def initialize(options)
    @color = options[:color]
    @document = options[:document]
  end

  def render_behind(fragment)
    original_color = @document.fill_color
    @document.fill_color = @color
    @document.fill_rectangle(fragment.top_left,
    fragment.width,
    fragment.height)

    @document.fill_color = original_color
  end
end
Run Code Online (Sandbox Code Playgroud)

order.pdf.prawn:

highlight = HighlightCallback.new(:color => 'ffff00', :document => self)

#code....

text "Authorized Signature: "
formatted_text [{:text => "_" * 15, :callback => highlight }], :size => 20
Run Code Online (Sandbox Code Playgroud)

正在生成附加图像。如何获得与文本相同级别的签名行?

在此处输入图片说明

pdf ruby-on-rails prawn prawnto

2
推荐指数
1
解决办法
1971
查看次数