【问题标题】:SpraedPDFGeneratorBundle : Generate PDF with CSSSpraedPDFGeneratorBundle : 使用 CSS 生成 PDF
【发布时间】:2015-02-27 11:32:45
【问题描述】:

我正在尝试使用 SpraedPDFGeneratorBundle 从 Twig HTML 页面生成 PDF 文档,但问题是我的样式表不受支持。

我在某个地方关注了这个问题:Generate PDF with CSS and Images 我试着这样做:

<link rel="stylesheet" href="{{ app.request.scheme ~'://'~ app.request.httpHost ~ asset('css/bootstrap.min.css') }}" />

但我收到一个错误:

退出状态代码“1”表示出了点问题:stderr:“线程“main”中的异常 java.lang.ClassCastException:org.xhtmlrenderer.render.BlockBox 无法在 org.xhtmlrenderer.newtable.TableBox 中强制转换.xhtmlrenderer.layout.BoxCollector.collect(BoxCollector.java:127) 在 org.xhtmlrenderer.layout.BoxCollector.collect(BoxCollector.java:139) 在 org.xhtmlrenderer.layout.BoxCollector.collect(BoxCollector.java:139) 在org.xhtmlrenderer.layout.BoxCollector.collect(BoxCollector.java:139) 在 org.xhtmlrenderer.layout.BoxCollector.collect(BoxCollector.jav:..

有人可以帮我吗?

【问题讨论】:

  • 您遇到什么类型的错误?
  • 这是我遇到的错误:The exit status code '1' says something went wrong: stderr: "Exception in thread "main" java.lang.ClassCastException: org.xhtmlrenderer.render.BlockBox cannot be cast to org.xhtmlrenderer.newtable.TableBox at org.xhtmlrenderer.layout.BoxCollector.collect(BoxCollector.java:127) at org.xhtmlrenderer.layout.BoxCollector.collect(BoxCollector.java:139) at org.xhtmlrenderer.layout.BoxCollector.collect(BoxCollector.java:139) at org.xhtmlrenderer.layout.BoxCollector.collect(BoxCollector.java:139) at org.xhtmlrenderer.layout.BoxCollector.collect(BoxCollector.jav:..
  • 当我运行 PDF 生成操作时,它给了我上述错误。当我删除样式表的行时,我有一个没有格式的文档。
  • 尝试在没有任何树枝操作的情况下将其指向一个本地 css 文件
  • 我终于发现问题出在我的引导样式表上。我试图通过创建一个简单的 css 文件来更改样式表,我发现格式应用正确。:&lt;link rel="stylesheet" href="{{ app.request.scheme ~'://'~ app.request.httpHost ~ asset('css/my_custom_stylesheet.css') }}" /&gt;

标签: symfony pdf-generation


【解决方案1】:

SpraedPDFGeneratorBundle github page这个的某处提到:

要定义正确的打印 css,您可能需要阅读 w3.org 的 提示:w3.org

我的一个问题是 SpraedPDFGeneratorBundle 无法正确解析我传递给他的 CSS 文件。这是 CSS 文件 Twitter bootstrap(我使用的版本):

<link rel="stylesheet" href="{{ app.request.scheme ~'://'~ app.request.httpHost ~ asset('css/bootstrap.min.css') }}" />

更改 CSS 文件后,我替换了自己的样式表,一切正常,因为 SpraedPDFGeneratorBundle 正确验证了我的样式表:

<link rel="stylesheet" href="{{ app.request.scheme ~'://'~ app.request.httpHost ~ asset('css/my_custom_stylesheet.css') }}" />

【讨论】:

    猜你喜欢
    • 2012-05-17
    • 2014-06-20
    • 2015-10-20
    • 1970-01-01
    • 2011-12-31
    • 1970-01-01
    • 2021-07-05
    • 1970-01-01
    • 2020-03-26
    相关资源
    最近更新 更多