我正在尝试使用Ruby On Rails中的wicked-pdf创建一个pdf.它在开发模式下运行良好,但是当我在生产中部署时,我收到错误:
wkhtmltopdf is not executable
Run Code Online (Sandbox Code Playgroud)
我有位于以下位置的wkhtmltopdf可执行文件:
rails_root/bin/wkhtmltopdf-i386
Run Code Online (Sandbox Code Playgroud)
Warbler设置为在战争中包含bin文件夹:
config.includes = FileList["classes/*","bin/*"]
Run Code Online (Sandbox Code Playgroud)
我有邪恶的pdf配置为在正确的位置找到bin:
WickedPdf.config = {
:exe_path => Rails.root.join('bin', 'wkhtmltopdf-i386').to_s
}
Run Code Online (Sandbox Code Playgroud)
我运行warbler然后在jBoss应用服务器上部署战争.当我尝试生成PDF时,我收到有关它不可执行的错误.它在开发模式下运行良好 - 而不是在战争中.
二进制文件的权限应该没问题:
-rwxr-xr-x 1 username group 11446024 Apr 3 11:40 wkhtmltopdf-i386
Run Code Online (Sandbox Code Playgroud)
我尝试使用wkhtmltopdf-binary gem而不是手动包含wkhtmltopdf二进制文件.这在开发模式下也运行良好,但Wicked PDF无法在生产中找到二进制文件.
更新:在生产模式下,我将wicked-pdf配置更改为指向'wkhtmltopdf-binary'gem提供的二进制文件.这也是wkhtmltopdf is not executable错误.路径最终是:jboss-5.1.0.GA/server/default/tmp/3j001-3g0fg5-hf2xi49o-1-hf2xiuld-9q/myrailsapp.war/WEB-INF/gems/gems/wkhtmltopdf-binary-0.9.9.1/bin/wkhtmltopdf_linux_386
这是我的控制器
class WelcomeController < ApplicationController
def index
respond_to do |format|
format.html
format.pdf do
render :pdf => "my_pdf", # pdf will download as my_pdf.pdf
:layout => 'pdf', # uses views/layouts/pdf.haml
:margin => { :top => 30 },
:header => {template: 'layouts/pdf_header.html'},
:show_as_html => params[:debug].present? # renders html version if you set debug=true in URL
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
我的视图很完美,但标题中没有任何页码对于页码我使用了这段代码
pdf_header.html.erb
<html>
<head>
<script>
function number_pages() {
var vars={};
var x=document.location.search.substring(1).split('&');
for(var i in x) {var z=x[i].split('=',2);vars[z[0]] = unescape(z[1]);}
var x=['frompage','topage','page','webpage','section','subsection','subsubsection'];
for(var …Run Code Online (Sandbox Code Playgroud) 我有一个使用这些宝石的Rails 3应用程序:
gem 'paperclip'
gem 'wicked_pdf'
gem 'combine_pdf'
Run Code Online (Sandbox Code Playgroud)
我正在用wicked_pdf一个pdf打开costproject.该costproject有所谓的HTML页面viewproject.pdf.erb.
我正在尝试将邪恶的pdf与costproject附件合并为一个pdf.
这是我的控制器代码:
def viewproject
@costproject = Costproject.find(params[:costproject_id])
respond_to do |format|
format.html
format.pdf do
pdf = CombinePDF.new
pdf2 = render_to_string pdf: "Costproject.pdf", template: "costprojects/viewproject", encoding: "UTF-8"
pdf << CombinePDF.new(pdf2)
@costproject.attachments.each do |attachment|
pdf << CombinePDF.new(attachment.attach.path)
end
send_data pdf.to_pdf, :disposition => 'inline', :type => "application/pdf"
end
end
end
Run Code Online (Sandbox Code Playgroud)
这条线pdf << CombinePDF.new(pdf2)给了我:
string contains null byte
Run Code Online (Sandbox Code Playgroud)
如果我看一下pdf2,就会这样开始 - 所以它看起来像一个pdf:
>> pdf2
=> "%PDF-1.4\n1 0 …Run Code Online (Sandbox Code Playgroud) 我正在使用生成 PDF wicked_pdf,我想在每个页面中包含一个带有图像的页脚。
我生成了一个文件 ,footer.pdf.erb以插入页面底部,但是,当呈现 PDF 时,图像出现在顶部并且页面内容消失。
我使用的版本是 0.10.2 的wicked_pdfgem 和 0.12.1 的wkhtmltopdf.
页脚.pdf.erb
<html>
<head>
</head>
<body>
<%=wicked_pdf_image_tag('image_path', :width => "97", :height => "25")%>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
控制器文件
format.pdf do
render :pdf => "pdf",
:footer => {:html => {:layout => 'layouts/pdfs/footer.pdf.erb'}}
end
Run Code Online (Sandbox Code Playgroud)
是:footer呼叫OK?或者还有另一种方法可以在 PDF 的页脚中插入图像?
我有一个正常的Rails布局,这是我的普通网站.
我想在此页面上使用一个按钮将此页面转换/转换为PDF文件.
我想用这个gem来做:https: //github.com/mileszs/wicked_pdf
我添加gem 'wicked_pdf'到我的Gemfile,但现在我如何转换实际页面?
我使用 wicked PDF 来生成 PDF。现在我正在寻找一些东西来防止某人从我的 pdf 中复制数据。当有人尝试复制某些数据时,它应该要求密码,否则该人不应该能够从 PDF 中复制数据。我在互联网上查了很多,但是到目前为止还没有任何解决方案。有人可以帮我解决这个问题吗
我目前正在使用 Rails 7 和 wicked pdf 。即使我在确切的位置有模板文件,邪恶的 pdf 也会给我一个丢失模板的错误?我究竟做错了什么?
def show
respond_to do |format|
format.html
format.pdf do
render pdf: "file_name", template: "stocks/pdf.html.erb"
end
end
end
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么 ?如果重要的话,我将 tailwindcss 与 jsbuild 一起使用。
我有一个使用wicked_pdf gem生成的 pdf 。我的问题是我也在 pdf 中看到了“下载 pdf”链接。如何从呈现的 pdf 中删除该链接?我阅读了 css 媒体类型,但不知道如何实现。有人可以帮忙吗?或者除了使用 css 媒体类型之外还有其他方法吗?
wicked-pdf ×8
ruby ×3
wkhtmltopdf ×2
footer ×1
image ×1
javascript ×1
jruby ×1
paperclip ×1
warbler ×1