React(JSX/TSX)
ReactDOMServer を使用して JSX/TSX から HTML 文字列を生成し、それを pdfg の API に送信して PDF に変換する方法を説明します。
技術的な概要
- JSX/TSX で記述された React コンポーネントを作成
- ReactDOMServer.renderToString()を使用して HTML 文字列に変換
- 生成された HTML 文字列を pdfg の API に送信して PDF 化
サンプル
コンポーネントの定義
// Invoice.tsx
import React from "react";
interface Props {
items: { name: string; price: number }[];
total: number;
}
export const Invoice: React.FC<Props> = ({ items, total }) => (
<html>
<head></head>
<body>
<div className="invoice">
<h1>請求書</h1>
<table>
<thead>
<tr>
<th>品目</th>
<th>金額</th>
</tr>
</thead>
<tbody>
{items.map((item, i) => (
<tr key={i}>
<td>{item.name}</td>
<td>{item.price}円</td>
</tr>
))}
</tbody>
</table>
<p className="total">合計: {total}円</p>
</div>
</body>
</html>
);