gpt4 book ai didi

css - 如何提供用于呈现 PDF 的样式表?

转载 作者:行者123 更新时间:2023-11-28 17:44:43 30 4
gpt4 key购买 nike

继上一个问题之后,我设法使用 <cfdocument format="pdf"> 将文档的“屏幕”版本 (HTML) 转换为 PDF 格式标签。出于显而易见的原因(例如,不同的标题样式),我需要 PDF 的样式与屏幕版本的样式不同。

我知道您可以在 CSS 中使用媒体查询,以便为打印、屏幕、电视等应用不同的样式。但是我如何为 <cfdocument> 提供一组不同的 CSS 样式?标记以便正确呈现?

我最初的解决方案是将一个类应用于包含 div 的类的 <cfdocument>标签名为 .pdf然后根据我的主 CSS 文件中的该类为内容编写新样式。因此,例如样式将是 .pdf h1 {font-size:20px;} . CFML 看起来像这样:

<cfdocument type="pdf">
<link href="/css/mainStyleSheet.css" rel="stylesheet" type="text/css">
<div class="pdf">
<h1>Document Title</h1>
... {document body here} ...
</div>
</cfdocument>

有没有更好的方法来做到这一点?无论如何要为 PDF 渲染传递不同的样式表?也许可以用媒体查询来完成吗?

最佳答案

如何通过查询字符串中的参数生成 PDF?像 index.cfm?page=foo&format=pdf 这样的东西?如果不是,您可以轻松添加这样的参数,然后在您的 CFM 中:

<link href="/css/mainStyleSheet.css" rel="stylesheet" type="text/css">
<cfif structKeyExists(url, "format") AND url.format EQ "pdf">
<link href="/css/pdfStyleSheet.css" rel="stylesheet" type="text/css">
</cfif>

pdfStyleSheet.css 将仅包含 PDF 的 CSS 覆盖。

关于css - 如何提供用于呈现 PDF 的样式表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23436284/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com