由于 react-pdf 库提供了一些有限的组件,并且不允许在 reactpdfrenderer 中呈现 html 标签。所以我在使用这个库制作表格时遇到了麻烦?
任何人都可以帮助我如何使用这个 react-pdf 库组件创建表格?
最佳答案
你可以像@David-Kucsai 在评论中所说的那样使用 @david.kucsai/react-pdf-table
或不使用
小例子
数据
const data = {
id: "5df3180a09ea16dc4b95f910",
items: [
{
sr: 1,
desc: "desc1",
xyz: 5
},
{
sr 2,
desc: "desc2",
xyz: 6
}
],
};
应用程序.jsimport React, { Component, Fragment } from 'react';
import {PDFViewer} from '@react-pdf/renderer'
import Table from './components/reports/Table'
import data from './data'
class App extends Component {
render() {
return (
<Fragment>
<PDFViewer width="1000" height="600">
<Table data={data}/>
</PDFViewer>
</Fragment>
);
}
}
export default App;
表.jsimport React from 'react';
import { Page, Document, StyleSheet } from '@react-pdf/renderer';
import ItemsTable from './ItemsTable'
const styles = StyleSheet.create({
page: {
fontSize: 11,
flexDirection: 'column',
}
});
const Table = ({data}) => (
<Document>
<Page size="A4" style={styles.page}>
// ...
<ItemsTable data={data} />
// ...
</Page>
</Document>
);
export default Table
项目表.jsimport React from 'react';
import {View, StyleSheet } from '@react-pdf/renderer';
const styles = StyleSheet.create({
tableContainer: {
flexDirection: 'row',
flexWrap: 'wrap'
},
});
const ItemsTable = ({data}) => (
<View style={styles.tableContainer}>
{/*<TableHeader />*/}
<TableRow items={data.items} />
{/*<TableFooter items={data.items} />*/}
</View>
);
export default ItemsTable
TableRow.jsimport React, {Fragment} from 'react';
import {Text, View, StyleSheet } from '@react-pdf/renderer';
const styles = StyleSheet.create({
row: {
flexDirection: 'row',
alignItems: 'center',
},
description: {
width: '60%',
},
xyz: {
width: '40%',
}
});
const TableRow = ({items}) => {
const rows = items.map( item =>
<View style={styles.row} key={item.sr.toString()}>
<Text style={styles.description}>{item.desc}</Text>
<Text style={styles.xyz}>{item.xyz}</Text>
</View>
)
return (<Fragment>{rows}</Fragment> )
};
export default TableRow
更多信息请查看 Generate Dynamic PDF Invoices Using React and React-PDF
关于reactjs - 如何使用 react-pdf 库创建表格以生成 pdf 报告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56373850/