【发布时间】:2012-05-24 00:54:45
【问题描述】:
我正在使用边框折叠 (CSS) 在我的桌子上制作细边框。它们在屏幕上渲染得很好,但是当它们通过 cfDocument 发送到 PDF 时,它们最终会变成较粗的灰色边框。
我读到 cfDocument 还不支持边框折叠,那么我最好的选择是什么?
ColdFusion 9
【问题讨论】:
标签: css pdf coldfusion
我正在使用边框折叠 (CSS) 在我的桌子上制作细边框。它们在屏幕上渲染得很好,但是当它们通过 cfDocument 发送到 PDF 时,它们最终会变成较粗的灰色边框。
我读到 cfDocument 还不支持边框折叠,那么我最好的选择是什么?
ColdFusion 9
【问题讨论】:
标签: css pdf coldfusion
border-bottom: 0.4pt solid #ccc;
【讨论】:
@gordon ,您的解决方案非常接近,它确实在 PDF 上显示了细边框。但它产生了另一个问题——一些边界消失了。我想这个解决方案适用于简单的表格,而不是复杂的表格。
【讨论】:
我决定看看 CFDOCUMENT 是否能理解老式的 HTML,因为上述解决方案因浏览器而异。这并不理想,但如果您需要使其工作,这可能会有所帮助:
<table cellpadding="1" cellspacing="1" bgcolor="black">
<tr>
<td bgcolor="white">Data</td>
<td bgcolor="white">Data</td>
</tr>
<tr>
<td bgcolor="white">Data</td>
<td bgcolor="white">Data</td>
</tr>
<tr>
<td bgcolor="white">Data</td>
<td bgcolor="white">Data</td>
</tr>
</table>
【讨论】:
报表生成器仅在您想要快速创建交互式表格类型报表时有用,该报表允许用户取消折叠行以获取更多数据详细信息,这些数据详细信息将成为焦点父行的子行。
我不得不说我发现这非常有用并且非常接近 SSRS 提供的功能。但是在导出到 pdf 或 excel 时并没有真正的帮助。
【讨论】:
表格是 90 年代的,但这似乎适用于 cfdocument pdf(虽然在网络浏览器显示上不一致):
.tbl {background-color:#000;}
.tbl td,th,caption{background-color:#fff}
...
<table cellspacing="1" class="tbl">
...
</table>
(样式设置中的border-spacing不起作用-您必须将attr放在table标签中)
【讨论】:
我在 cfdocument 中遇到了同样的边框问题。以下是我学到的一些技巧:
而不是像这样设置你的 CSS:
table td {
border: solid thin black;
}
试试这个:
table, table td {
border: solid black;
}
table {
border-width: 1px 1px 0 0;
}
table td {
border-width: 0 0 1px 1px;
}
这明确地使宽度尽可能小。此外,它还避免了由于每个单元格具有自己的 1px 边框然后让它们彼此相邻而导致的“加倍”宽度的问题(因此在单元格之间,您实际上会有一个 2px 边框)。
此外,您可以减少 cfdocument 标签的“比例”值,以减少所有内容的大小,包括边框的厚度。
【讨论】:
我推荐报告生成器,它可以为您提供精细的像素级控制和分页。
【讨论】:
cfdocument 有很多限制。如果您正在寻找 css3 支持、javascript 等,我推荐 wkhtmltopdf。它使用 webkit 生成 PDF,因此它支持 Safari/Chrome 支持的大部分内容。
【讨论】: