admin管理员组文章数量:1435859
I'm building a TypeScript application that generates PDF documents using html2pdf.js. While the HTML tables render perfectly in the browser, the text inside the table cells appears misaligned (shifted downward) in the generated PDF. This issue is particularly noticeable with numerical values, such as prices or totals.
What I've Tried: Adjusting Table Styles:
table {
border-collapse: collapse;
width: 100%;
}
td, th {
vertical-align: middle; /* Also tried 'top' */
text-align: left;
padding: 0;
}
Increasing html2canvas Scale:
html2pdf().set({ html2canvas: { scale: 2 } }).from(element).save();
Using white-space: nowrap:
Prevented wrapping of numerical values in table cells.
Checking for Style Compatibility:
Ensured that CSS properties like padding
, line-height
, and vertical-align
are compatible with html2pdf.js
.
Code Example:
Here’s a simplified version of my component:
import React from 'react';
import html2pdf from 'html2pdf.js';
const Preview = ({ data }) => {
const generatePDF = () => {
const element = document.getElementById('invoice-content');
html2pdf().set({ html2canvas: { scale: 2 } }).from(element).save('invoice.pdf');
};
return (
<div>
<button onClick={generatePDF}>Download PDF</button>
<div id="invoice-content">
<table>
<thead>
<tr>
<th>Column 1</th>
<th>Column 2</th>
</tr>
</thead>
<tbody>
<tr>
<td>123 456 ₸</td>
<td>789 012 ₸</td>
</tr>
</tbody>
</table>
</div>
</div>
);
};
export default Preview;
Questions:
How can I resolve the downward text alignment issue in the generated PDF tables?
Are there any known workarounds or alternative libraries that handle table rendering in PDFs more reliably?
本文标签: javascriptText Misalignment in Tables Generated with html2pdfjs and TypeScriptStack Overflow
版权声明:本文标题:javascript - Text Misalignment in Tables Generated with html2pdf.js and TypeScript - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1745617440a2666485.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论