如何将 Tailwind/Regular CSS 与 Wicked PDF 一起使用?

问题描述 投票:0回答:1

所以我是 Rails 7 的新手,我正在尝试制作一个简单的订单管理 Web 应用程序。我正在使用 Wicked PDF 2.8 (wkhtmltopdf 0.12.6) 根据订单自动生成发票。 pdf 可以工作,但是 css 很奇怪。例如,如果我使用 style="color:red" 它可以工作,但尝试使用 Flex 容器则不行。我在我的程序中使用顺风,但老实说,即使是普通的 css 也可以用于布局之类的事情。

这里有一些类似的问题,但似乎没有一个能解决我的问题。

我的订单控制器有一个简单的显示操作:

  def show
    @order = Order.find(params[:id])
    @entries = OrderToItem.where(order_id: @order)
    respond_to do |format|
      format.html
      format.pdf do
        render pdf: "#{DateTime.now.strftime("%m/%d/%Y")}", template: "orders/show", layout: "show", formats: [:html]
      end
    end
  end

以及 show.pdf.erb 作为布局:

<!DOCTYPE html>
<html>
  <head>
    <title>PDF Layout</title>
    <%= csrf_meta_tags %>
    <%= wicked_pdf_javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
    <%= wicked_pdf_stylesheet_pack_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
    <%= wicked_pdf_stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
    <%= wicked_pdf_stylesheet_pack_tag 'tailwind', media: 'all', 'data-turbolinks-track': 'reload' %>
    <%= wicked_pdf_stylesheet_link_tag 'tailwind', media: 'all', 'data-turbolinks-track': 'reload' %>
  </head>
  <body>
    <div>
      <%= yield %>
    </div>
  </body>
</html>

我尝试过各种 link_tag 或 pack_tag 但老实说我不确定我要在这里做什么。 这是我的 show.html.erb 模板:

<style>
  .flex-container {
    display: flex;
  }
</style>

<div class="flex-container"> <%# Header %>
  <div><%= image_tag image_url("logo1.png"), width: "48px", height: "48px" %></div>
  <div>street addr</div>
  <div>city, state</div>
  <div class="text-red-700">zip</div>
  <div>Date: <%= DateTime.now.strftime("%d/%m/%Y %H:%M") %></div>
  <div>Order No: #<%= @order.id %></div>
</div>

<% @entries.each do |entry| %>
  <% @item = Item.find(entry.item_id) %>
  <div>
    <%= @item.name %> | <%= entry.amount %> x <%= number_to_currency(@item.price, unit: "$", precision: 2) %> = <%= number_to_currency(entry.amount*@item.price, unit: "$", precision: 2) %>
  </div>
  <br>
<% end %>

所以我希望标题是一个弹性容器(我在这个例子中使用普通的CSS),但邮政编码是使用Tailwind的text-red-700。在 html 视图中,它看起来符合我的预期,但在 pdf 视图中则不然。

如有任何帮助,我们将不胜感激。我可以提供更多详细信息,但老实说,我不太确定你们都需要什么信息。欣赏它。

css ruby-on-rails tailwind-css wicked-pdf
1个回答
0
投票

我认为 Bootstrap 或 Tailwind 在 Wicked PDF 库的 URL.pdf 中不会被识别。您可以创建 CSS 文件并将其嵌入到 HTML 中。它会起作用的。但是,请阅读文档,因为某些标签可能不受支持。

© www.soinside.com 2019 - 2024. All rights reserved.