Tworzę pliki PDF w ColdFusion przy użyciu cfdocument. Muszę zrobić stolik z nachylonym rzędem nagłówków, aby wszystko pasowało do strony. Oto przykład tego, co próbuję osiągnąć. Żaden z przykładów HTML i CSS, które znalazłem do tej pory, nie zadziałał. Teraz zastanawiam się, czy jest to dziwactwo specyficzne dla ColdFusion i/lub tworzenia plików PDF. Wiem, że ten kod pochodzi bezpośrednio z odpowiedzi na podobne pytanie tutaj, ale nie tworzy tabeli z nachylonymi kolumnami w moim pliku PDF. To tworzy. Tabela PDF z nachylonym nagłówkiem
//CSS
* {
box-sixing: border-box;
}
.outerDiv {
background: grey;
height: 200px;
width: 100px;
border: 1px solid black;
border-bottom: 0;
border-left: 0;
transform: skew(-30deg) translateX(58%);
}
th:first-child .outerDiv {
border-left: 1px solid black;
position: relative;
}
.innerDiv {
position: absolute;
width: 250px;
height: 85px;
bottom: -34%;
left: 10px;
transform: skew(30deg) rotate(-60deg);
transform-origin: 0 0;
text-align: left;
}
body,
html {
height: 100%;
}
body {
display: flex;
justify-content: center;
}
table {
border-collapse: collapse;
}
td {
border: 1px solid black;
}
.well {
min-height: 20px;
padding: 5px;
margin-bottom: 10px;
background-color: #f5f5f5;
border: 1px solid black;
border-radius: 3px;
}
.well_tight {
padding: 3px;
margin-bottom: 5px;
background-color: #f5f5f5;
border: 1px solid black;
border-radius: 3px;
}
//ColdFusion/HTML
<cfdocument format="pdf" name="#formname#" pagetype="letter" marginleft=".25" marginright=".25" margintop=".25" marginbottom=".5">
<cfoutput><style type="text/css">@import "/mach15/web/assets/css/formPDF.css";</style></cfoutput>
<div class="well">
<table cellpadding="0" cellspacing="0">
<tr>
<th>
<div class="outerDiv">
<div class="innerDiv">This is first column header</div>
</div>
</th>
<th>
<div class="outerDiv">
<div class="innerDiv">This is second column header</div>
</div>
</th>
<th>
<div class="outerDiv">
<div class="innerDiv">This is third column header</div>
</div>
</th>
</tr>
<tr>
<td> 1 </td>
<td> 2 </td>
<td> 3 </td>
</tr>
<tr>
<td> 4 </td>
<td> 5 </td>
<td> 6 </td>
</tr>
<tr>
<td> 7 </td>
<td> 8 </td>
<td> 9 </td>
</tr>
<tr>
<td> 10 </td>
<td> 11 </td>
<td> 12 </td>
</tr>
</table>
</div>
Cóż, działa jak html, więc zdecydowanie jest ograniczeniem cfdocument. Obsługuje tylko [obsługuje CSS2] (https://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-tags/tags-d-e/cfdocument.html) (głównie), a "transform" to CSS3. Najbliżej znalazłem do tej pory [ten stary wątek] (https://forums.adobe.com/thread/80941), który wymienia kilka hacków (choć żadna nie jest bardzo dobra IMO). – Leigh
Polecam używanie WKHTMLTOPDF (darmowy program wiersza poleceń) z ColdFusion 8, 9, 10, 11 i 2016 do generowania dokumentów PDF. Odniosłem sukces z nachylonym/obróconym tekstem, cieniami, webfontami (fontawesome), SVG, gradientami CSS, obsługą Alpha PNG, pozycją względną/absolutną, itp. –
Tak, wątpię, aby skosowany tekst był możliwy przy pomocy [email protected] - Jeśli masz przykład tworzenia pochylonego tekstu za pomocą WKHTMLTOPDF, możesz go opublikować jako odpowiedź, ponieważ prawdopodobnie byłby pomocny dla innych osób w przyszłości. – Leigh