【问题标题】:HTML with CSS to PDF using a php library使用 php 库将带有 CSS 的 HTML 转换为 PDF
【发布时间】:2018-04-11 02:59:04
【问题描述】:

我过去曾尝试过 FPDF 和 TCPDF...我还检查了在无头模式下运行 chrome 以生成 PDF 的选项...我想知道是否有人对最好的方法有任何经验将这样的内容转换为 PDF。我问,因为它使用的 CSS 比我以前的 PDF 项目更复杂。有什么东西可以很好地转换以下内容吗?

编辑: 感谢指向 mPDF 的指针...我已经使用下面的代码成功生成了 PDF。 但是,CSS 的一部分应该包含一个小三角形,这使得该框看起来像一个对话气泡......因为不支持 BEFORE 和 AFTER,所以不会出现。

有人知道如何在不使用之前和之后的情况下复制下面的效果吗?我将其应用于<p> 标签。

<style>
.triangle-border1 {
  position:relative;
  padding:15px;
  margin:1em 0 1em;
  border:5px solid #F7827B;
  color:#333;
  background:#fff;
  /* css3 */
  -webkit-border-radius:10px;
  -moz-border-radius:10px;
  border-radius:10px;
}


.triangle-border1:before {
  content:'';
  position:absolute;
  bottom:-20px; /* value = - border-top-width - border-bottom-width */
  left:40px; /* controls horizontal position */
  border-width:20px 20px 0;
  border-style:solid;
  border-color:#F7827B transparent;
  /* reduce the damage in FF3.0 */
  display:block;
  width:0;
}


.triangle-border1:after {
  content:'';
  position:absolute;
  bottom:-13px; /* value = - border-top-width - border-bottom-width */
  left:47px; /* value = (:before left) + (:before border-left) - (:after border-left) */
  border-width:13px 13px 0;
  border-style:solid;
  border-color:#fff transparent;
  /* reduce the damage in FF3.0 */
  display:block;
  width:0;
}

</style>

所需的输出是这样的:

但我无法使用之前和之后,因为我通过不支持它的 mPDF 输出到 PDF。

【问题讨论】:

  • 我使用mPDF。它有很多功能。看一看。您也可以添加样式表,这样 CSS 就不必内联了

标签: php css pdf tcpdf


【解决方案1】:

请考虑wkhtmltopdf,我已在centos 和windows 上成功使用它,它允许您打印仅对登录用户或类似用户可见的页面。它可以从您的 php 项目中进行操作。

还有mPDF,一个非常好用的php库。

【讨论】:

  • 感谢您的提示。我坚持使用 PHP 5.5.11,所以我使用的是 mPDF 6...大多数 CSS 工作正常,但我已经编辑了主要帖子以包含输出和所需的输出...关闭,但不完全在那里.
  • 我认为 mPDF 不支持伪 css... 前后都行不通。
  • 比起 fpdf 和 tcpdf,我更喜欢 mpdf。但我确实为许多文档编写了特殊样式。 mpdf 文档包含有关特定 css 属性支持的说明。 wkhtmltopdf 使用不同的方法,它允许您创建页面的屏幕截图。
猜你喜欢
  • 2020-10-21
  • 2013-11-08
  • 1970-01-01
  • 1970-01-01
  • 2016-11-13
  • 2014-05-05
  • 1970-01-01
  • 1970-01-01
  • 2016-12-06
相关资源
最近更新 更多