标签: wicked-pdf

Wicked_pdf样式表不适用于Heroku

我有一个Rails应用程序,我使用wicked_pdf生成PDF.这一切都很好并在本地工作,但是当推送到heroku时,PDF会渲染,但不应用样式表.

特别是对于PDF渲染,我有一个CSS文件:app/assets/stylesheets/pdf.css.scss.在form.pdf.haml我加载这样的样式表:

  !!!
  %html{lang: "en", "xml:lang" => "en", xmlns: "http://www.w3.org/1999/xhtml"}
    %head
      %meta{content: "text/html; charset=UTF-8", "http-equiv" => "Content-Type"}/
      = wicked_pdf_stylesheet_link_tag "pdf"
Run Code Online (Sandbox Code Playgroud)

如上所述,它在本地工作得很好,但是当推送到heroku时,我收到这个错误:

ActionView::Template::Error (No such file or directory - /app/public/pdf.css)
Run Code Online (Sandbox Code Playgroud)

我需要做什么才能在heroku上完成这项工作?

编辑:我发现了这个Gihub repo https://github.com/jordan-brough/heroku-pdf,这是一个在heroku上使用wicked_pdf的示例应用程序.通过在请求PDF时调整environment.rb文件public夹中的css文件来帮助它真的很有帮助.

css pdf ruby-on-rails heroku wicked-pdf

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

Apache Wicket可收藏的网址为链接添加了一个额外的参数,为什么?

我的地图是

mountPage("/ page /#{code} /#{name}",Page.class);

但是当我点击链接时

localhost/page/10/toy?2

当我刷新我的页面时,wicket还会添加一个像计数器这样的参数

localhost/page/10/toy?3

为什么?

wicket wicked-pdf wicket-1.5 wicket-1.6

3
推荐指数
1
解决办法
487
查看次数

在wicked pdf中render_to_string的正确方法是什么?

这就是wicked pdf的文档规定:

WickedPdf.new.pdf_from_string(
render_to_string(:pdf => "pdf_file.pdf", :template => 'templates/pdf.html.erb', :layout => 'pdfs/layout_pdf'), 
:footer => {:content => render_to_string({:template => 'templates/pdf_footer.html.erb', :layout => 'pdfs/layout_pdf'})}
)   
Run Code Online (Sandbox Code Playgroud)

我得到的是ActionView :: MissingTemplate即使我在目录中有pdf.html.erb.我在应用程序控制器中使用gen_pdf方法,在views/application文件夹中使用等效的pdf.html.erb.我错过了什么.

ruby-on-rails-3 wicked-pdf

3
推荐指数
2
解决办法
5147
查看次数

whkpdf在rails中给出ActionController :: UnknownFormat错误

我正在尝试将wicked_pdf集成到我的rails 4应用程序中.我怎么会遇到UnknownFormat错误.

在我添加的gem文件中

  gem 'wicked_pdf'
Run Code Online (Sandbox Code Playgroud)

在我的学生控制器中我有show方法定义如下:

   controllers/students_controllers

   respond_to :html, :js, :pdf

   def show
     @student = Student.find(params[:id])
     respond_to do |format|
       format.pdf do
         render :pdf => "students",:template => "students/show_pdf"
       end
   end
Run Code Online (Sandbox Code Playgroud)

然后我在学生的viewsfolder中有show_pdf.pdf.erb模板.我怎么能添加Wicked_pdf engin路径

initializers/wicked_paf.rb 

WickedPdf.config = {
   :exe_path => '/usr/bin/wkhtmltopdf'
}
Run Code Online (Sandbox Code Playgroud)

我还在initilizers/mime_type.rb中为pdf添加了mime类型

  initializers/mime_type.rb

  Mime::Type.register "application/pdf", :pdf
Run Code Online (Sandbox Code Playgroud)

但没有运气.我收到了unknownformat错误.

  ActionController::UnknownFormat at /students/1
  ActionController::UnknownFormat
Run Code Online (Sandbox Code Playgroud)

我不知道这个错误的原因.请帮我找出问题所在.

提前致谢.

ruby-on-rails wicked-pdf

3
推荐指数
1
解决办法
3201
查看次数

邪恶的PDF无法处理分页符

我在生成报告的Rails应用程序中使用gem wiked_pdf

但是当超过1页时,我无法解决数据中断问题。

请看图片。在此处输入图片说明

我尝试了很多时间来调整边距或间距,但仍然无法解决。

respond_to do |format|
  format.html
  format.pdf do
    render title:         @report_title,
           pdf:           @report_title,
           template:      'applicants/generate_report.pdf.erb',
           encoding:      'UTF-8',
           orientation:   'Landscape',
           layout:        'pdf_template.html',               
           footer: {
                    center:    '[page] of [topage]',
                    right:     "",
                    font_name: 'Arial',
                    font_size: 8                        
                   },
           margin: {
                    top:     10, # default 10 (mm)
                    bottom:  12,
                    left:    7,
                    right:   7 
                   },
          spacing: 0
  end
end
Run Code Online (Sandbox Code Playgroud)

我也尝试应用CSS,例如:

@media print {
  td, tr {page-break-inside: avoid; }
  table.full_report_table>tbody>tr>td {page-break-inside: avoid !important; }
}
Run Code Online (Sandbox Code Playgroud)

没用!

请帮忙!

ruby-on-rails wicked-pdf ruby-on-rails-4

3
推荐指数
1
解决办法
2434
查看次数

wickedpdf无法在Rails的本地和亚马逊AWS中渲染图像?

我正在使用wickedpdfgem pdf invoicehtml代码生成。

宝石:

gem 'wicked_pdf'
gem "wkhtmltopdf-binary"
Run Code Online (Sandbox Code Playgroud)

gemfile.lock

wicked_pdf (1.0.6)
wkhtmltopdf-binary (0.9.9.3)
Run Code Online (Sandbox Code Playgroud)

在控制器中:

  def show_pdf_invoice
    respond_to do |format|
      format.html { render :layout => "pdf.pdf.erb" }
      format.pdf do
    render pdf: "show_pdf_invoice", :layout => 'pdf.pdf.erb'
    #render :pdf => "pdf"#, :layout => 'pdf.html.erb'
      end
    end
  end
Run Code Online (Sandbox Code Playgroud)

views/invoices/show_pdf_invoice.pdf.erb

  <img id="image" src="https://www.google.co.in/logos/doodles/2016/holidays-2016-day-2-6356741311692800-scta.png" alt="logo" /> 
  <%= wicked_pdf_image_tag 'https://www.google.co.in/logos/doodles/2016/holidays-2016-day-2-6356741311692800-scta.png' %>
Run Code Online (Sandbox Code Playgroud)

pdf正在生成。但是图像没有显示。在图片的位置出现了空盒子。找不到问题。

ruby-on-rails image amazon-web-services wicked-pdf

3
推荐指数
1
解决办法
871
查看次数

如何使用 wicked_pdf gem 来使用 html 视图/部分 pdf 视图?

def foo    
  respond_to do |format|
    format.html { render layout: 'application' }
    format.pdf { 
      render pdf: 'foo', layout: 'pdf'
    }
  end
end
Run Code Online (Sandbox Code Playgroud)

如果我只放进hello world去就foo.pdf.erb可以了!

但现在如果我想使用 html 视图来迭代我的模型(来自数据库),例如:

<p>hello world</p>    
<%= render @foo.chapters.order(number: :asc) %>
Run Code Online (Sandbox Code Playgroud)

它不起作用,页面保持灰色,日志中没有错误......

如果我评论这一行,hello world又可以工作了。

所以问题是关于使用html部分:我们如何在pdf视图中使用普通的html视图?

ruby pdf wicked-pdf

3
推荐指数
1
解决办法
2359
查看次数

邪恶的 pdf 在生产中找不到我的资产

我的 wicked pdf CSS 有问题一切都在本地工作,但在生产中找不到 pdf.css

ActionView::Template::Error (The asset "components/pdf.css" is not present in the asset pipeline.):
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css" integrity="sha384-PsH8R72JQ3SOdhVi3uxftmaW6Vc51MKb0q5P2rRUpPvrszuE4W1povHYgTpBfshb" crossorigin="anonymous">
<%= wicked_pdf_stylesheet_link_tag 'components/pdf.css' %>
 </head>
<body>
<%= yield %>
Run Code Online (Sandbox Code Playgroud)

我的 pdf.html.erb

<!doctype html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css" integrity="sha384-PsH8R72JQ3SOdhVi3uxftmaW6Vc51MKb0q5P2rRUpPvrszuE4W1povHYgTpBfshb" crossorigin="anonymous">
    <%= wicked_pdf_stylesheet_link_tag 'components/pdf' %>
  </head>
  <body>
      <%= yield %>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我的组件/pdf.css

.document-pdf {
  background-image: asset-data-url("fond.png");
  background-size: 23cm 13cm;
  background-color: white;
  background-repeat: no-repeat;
  background-position: 50% 70%;
  font-family: …
Run Code Online (Sandbox Code Playgroud)

css ruby ruby-on-rails wicked-pdf

3
推荐指数
1
解决办法
1400
查看次数

Wicked_pdf目录的文字大小非常小

我正在尝试使用生成PDF

WIckedPdf版本= 1.1.0

wkhtmltopdf 0.12.4(带有修补的qt)

Rails 4.2

以下是我的Controller端点

@cover = render_to_string layout: "application.html.erb", template: "pdf/cover.html.erb", locals: {report: @report}
@pdf = render_to_string pdf: "report",
encoding: "UTF-8",
page_size: 'A4',
layout: "pdf.html.erb",
orientation: 'Portrait',
disable_smart_shrinking: false,
disable_internal_links: false,
disable_external_links: false,
lowquality: false,
background: true,
no_background: false,
page_height: 297,
page_width: 210,
cover: @cover,
template: "pdf/report.pdf.erb",
locals: {report: @report},
show_as_html: false,
margin: {
bottom: 40,
top: 10
},
footer: {
html: {
template: 'pdf/footer.html.erb' # use :template OR :url
}
},
toc: {
text_size_shrink: 0.8, …
Run Code Online (Sandbox Code Playgroud)

pdf-generation ruby-on-rails wkhtmltopdf wicked-pdf ruby-on-rails-4.2

3
推荐指数
1
解决办法
934
查看次数

如何使用 API 中的 wicked_pdf 生成 PDF

我正在创建一个 API,它应该根据数据库上的一些信息生成一个 PDF。

尝试调用操作时出现错误:

ActionController::UnknownFormat (ActionController::UnknownFormat):
app/controllers/v1/trips_controller.rb:56:in `print_monthly_trips'
Run Code Online (Sandbox Code Playgroud)

这是我的控制器:

/#application_controller.rb
class ApplicationController < ActionController::API
  include Response
  include ExceptionHandler
  include Pundit
  include ActionController::MimeResponds

 /#trips_controler.rb
def print_monthly_trips

  @trips_to_print = current_user.trips_for_month(3)

  respond_to do |format|
    format.html
    format.pdf do
      render pdf: "file_name",
      template: "trips/report.html.erb",
      layout: 'pdf.html'
    end
    format.json do
      render pdf: "file_name",
      template: "trips/report.html.erb",
      layout: 'pdf.html'
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

我的路线:

get 'print_monthly_trips', to: 'trips#print_monthly_trips'
Run Code Online (Sandbox Code Playgroud)

我使用以下命令调用我的 API:

http GET https://localhost/print_monthly_trips Accept:'application/vnd.trips.v1+json' Authorization:'my_token'
Run Code Online (Sandbox Code Playgroud)

那么,为什么我会得到这个:

ActionController::UnknownFormat (ActionController::UnknownFormat):

app/controllers/v1/trips_controller.rb:56:in`print_monthly_trips'

ruby-on-rails wicked-pdf

3
推荐指数
1
解决办法
1696
查看次数