recharts NPM (Geliştiriciler İçin Nasıl Çalışır)
Modern web geliştirmede etkileşimli ve dinamik veri görselleştirmeleri oluşturmak, kullanıcı deneyimini geliştirmek ve veri odaklı kararlar almak için çok önemlidir. Recharts, bağımsız bir React bileşeni üzerine inşa edilmiş, çok yönlü ve kullanımı kolay bir çözüm sunan yeniden tanımlanmış bir grafik kütüphanesidir.
Bu makale, Recharts'ın özelliklerini, avantajlarını ve React uygulamalarınızda kullanmaya başlamanın yollarını keşfedecektir. IronPDF kütüphanesini web sitesi URL'lerinden veya HTML dizgelerinden PDF oluşturmak için inceleyeceğiz ve üretilen grafikleri göstermek için Recharts ile nasıl güzel bir şekilde eşleştiğini göreceğiz.
Neden Recharts'ı Seçmelisiniz?
Recharts npm paketi birçok sebepten dolayı öne çıkmaktadır:
- Kullanım Kolaylığı: Deklaratif yaklaşımı, React'in bileşen tabanlı mimarisiyle iyi hizalanarak, React ile zaten aşina olan geliştiriciler için sezgisel bir hale getirir.
- Parçalanabilirlik: Recharts bileşenleri son derece parçalanabilir olacak şekilde tasarlanmıştır, geliştiricilerin daha basit bileşenleri birleştirerek karmaşık grafikler oluşturmasını sağlar.
- Özelleştirme: Grafiklerinin hemen her yönünü ince ayara tabi tutmalarına olanak tanıyan yüksek derecede özelleştirme sunar.
- Duyarlı ve Uyarlanabilir: Recharts, grafiklerin duyarlı ve farklı ekran boyutları ve çözünürlüklerinde iyi uyum sağlamasını garanti eder.
Recharts ile Başlarken
Recharts esnek bir grafik kütüphanesidir. Şimdi, başlayalım:
Kurulum
npm (önerilen kurulum yöntemi)
Recharts kullanmaya başlamak için, npm veya yarn üzerinden kurmanız gerekir. Node.js ve npm'nin yüklü olduğundan emin olun, ardından proje dizininizde aşağıdaki komutu çalıştırın:
npm install rechartsnpm install rechartsAşağıda gösterildiği gibi umd veya dev yapım yöntemiyle de Recharts'ı kurabilirsiniz:
Umd
UMD yapımı ayrıca unpkg.com üzerinde de bulunmaktadır:
<script src="https://unpkg.com/react/umd/react.production.min.js"></script>
<script src="https://unpkg.com/react-dom/umd/react-dom.production.min.js"></script>
<script src="https://unpkg.com/recharts/umd/Recharts.min.js"></script><script src="https://unpkg.com/react/umd/react.production.min.js"></script>
<script src="https://unpkg.com/react-dom/umd/react-dom.production.min.js"></script>
<script src="https://unpkg.com/recharts/umd/Recharts.min.js"></script>Geliştirme sürümü
git clone https://github.com/recharts/recharts.git
cd recharts
npm install
npm run buildgit clone https://github.com/recharts/recharts.git
cd recharts
npm install
npm run buildDemo
Temel Kullanım
Örnek verileri görselleştirmek için basit bir çizgi grafik oluşturacağız.
Recharts React Bileşenlerini İçe Aktar: Gerekli bileşenleri Recharts kütüphanesinden içe aktarın. Uygulama için Recharts modüllerini release dalından seçebilirsiniz.
import React from 'react'; import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer } from 'recharts';import React from 'react'; import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer } from 'recharts';JAVASCRIPTVerileri Hazırla: Grafikte gösterilecek bir veri seti oluşturun.
const data = [ { name: 'Page A', uv: 4000, pv: 2400, amt: 2400 }, { name: 'Page B', uv: 3000, pv: 1398, amt: 2210 }, { name: 'Page C', uv: 2000, pv: 9800, amt: 2290 }, { name: 'Page D', uv: 2780, pv: 3908, amt: 2000 }, { name: 'Page E', uv: 1890, pv: 4800, amt: 2181 }, { name: 'Page F', uv: 2390, pv: 3800, amt: 2500 }, { name: 'Page G', uv: 3490, pv: 4300, amt: 2100 }, ];const data = [ { name: 'Page A', uv: 4000, pv: 2400, amt: 2400 }, { name: 'Page B', uv: 3000, pv: 1398, amt: 2210 }, { name: 'Page C', uv: 2000, pv: 9800, amt: 2290 }, { name: 'Page D', uv: 2780, pv: 3908, amt: 2000 }, { name: 'Page E', uv: 1890, pv: 4800, amt: 2181 }, { name: 'Page F', uv: 2390, pv: 3800, amt: 2500 }, { name: 'Page G', uv: 3490, pv: 4300, amt: 2100 }, ];JAVASCRIPTGrafiği Çiz: Görsel test platformu iyileştirmesi için Recharts bileşenlerini kullanarak grafiği çizin.
const SimpleLineChart = () => ( <ResponsiveContainer width="100%" height={400}> <LineChart width={500} height={300} data={data} margin={{ top: 5, right: 30, left: 20, bottom: 5, }} > <CartesianGrid strokeDasharray="3 3" /> <XAxis dataKey="name" /> <YAxis /> <Tooltip /> <Legend /> <Line type="monotone" dataKey="pv" stroke="#8884d8" activeDot={{ r: 8 }} /> <Line type="monotone" dataKey="uv" stroke="#82ca9d" /> </LineChart> </ResponsiveContainer> ); export default SimpleLineChart;const SimpleLineChart = () => ( <ResponsiveContainer width="100%" height={400}> <LineChart width={500} height={300} data={data} margin={{ top: 5, right: 30, left: 20, bottom: 5, }} > <CartesianGrid strokeDasharray="3 3" /> <XAxis dataKey="name" /> <YAxis /> <Tooltip /> <Legend /> <Line type="monotone" dataKey="pv" stroke="#8884d8" activeDot={{ r: 8 }} /> <Line type="monotone" dataKey="uv" stroke="#82ca9d" /> </LineChart> </ResponsiveContainer> ); export default SimpleLineChart;JAVASCRIPT
Çıktı

Özelleştirme ve Gelişmiş Özellikler
Temelde, Recharts tüm bileşenleri özelleştirmek ve genişletmek için çeşitli yollar sunar:
- Özel İpuçları: Daha detaylı bilgi göstermek için özel ipuçları oluşturabilirsiniz.
- Animasyonlar: Grafikleri daha etkileyici hale getirmek için animasyonlar ekleyin.
- Etkileşim: Grafikleri daha etkileşimli hale getirmek için tıklama işleyicileri gibi etkileşimli özellikler uygulayın.
Farklı Grafik Türleri: Recharts bar grafikler, pasta grafikler, alan grafikler ve daha fazlası dahil olmak üzere çeşitli grafik türlerini destekler.
Örnek: Bar Grafiği Özelleştirme
Özelleştirilmiş bir bar grafiği oluşturmanın yolu şu şekildedir:
- Gerekli Bileşenleri İçe Aktar:
import React from 'react';
import { BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer } from 'recharts';import React from 'react';
import { BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer } from 'recharts';- Verileri Hazırla:
const data = [
{ name: 'Page A', uv: 4000, pv: 2400, amt: 2400 },
{ name: 'Page B', uv: 3000, pv: 1398, amt: 2210 },
{ name: 'Page C', uv: 2000, pv: 9800, amt: 2290 },
{ name: 'Page D', uv: 2780, pv: 3908, amt: 2000 },
{ name: 'Page E', uv: 1890, pv: 4800, amt: 2181 },
{ name: 'Page F', uv: 2390, pv: 3800, amt: 2500 },
{ name: 'Page G', uv: 3490, pv: 4300, amt: 2100 },
];const data = [
{ name: 'Page A', uv: 4000, pv: 2400, amt: 2400 },
{ name: 'Page B', uv: 3000, pv: 1398, amt: 2210 },
{ name: 'Page C', uv: 2000, pv: 9800, amt: 2290 },
{ name: 'Page D', uv: 2780, pv: 3908, amt: 2000 },
{ name: 'Page E', uv: 1890, pv: 4800, amt: 2181 },
{ name: 'Page F', uv: 2390, pv: 3800, amt: 2500 },
{ name: 'Page G', uv: 3490, pv: 4300, amt: 2100 },
];- Bar Grafiğini Çiz:
const CustomizedBarChart = () => (
<ResponsiveContainer width="100%" height={400}>
<BarChart
width={500}
height={300}
data={data}
margin={{
top: 20, right: 30, left: 20, bottom: 5,
}}
>
<CartesianGrid strokeDasharray="3 3" />
<XAxis dataKey="name" />
<YAxis />
<Tooltip />
<Legend />
<Bar dataKey="pv" fill="#8884d8" />
<Bar dataKey="uv" fill="#82ca9d" />
</BarChart>
</ResponsiveContainer>
);
export default CustomizedBarChart;const CustomizedBarChart = () => (
<ResponsiveContainer width="100%" height={400}>
<BarChart
width={500}
height={300}
data={data}
margin={{
top: 20, right: 30, left: 20, bottom: 5,
}}
>
<CartesianGrid strokeDasharray="3 3" />
<XAxis dataKey="name" />
<YAxis />
<Tooltip />
<Legend />
<Bar dataKey="pv" fill="#8884d8" />
<Bar dataKey="uv" fill="#82ca9d" />
</BarChart>
</ResponsiveContainer>
);
export default CustomizedBarChart;Çıktı

IronPDF'i Tanıtma

IronPDF for Node.js, Node.js uygulamaları içinde PDF oluşturmayı kolaylaştırmak için tasarlanmış sağlam bir npm paketidir. HTML içeriğinden, URL'lerden veya mevcut PDF dosyalarından PDF belgeleri oluşturmayı sağlar. İster faturalar, raporlar veya diğer belgeler oluşturuyor olun, IronPDF, sezgisel API'si ve kapsamlı özellik seti ile süreci kolaylaştırır.
IronPDF'in Temel Özellikleri
- HTML'den PDF'ye Dönüşüm: Web içeriğinden dinamik PDF'ler oluşturmak için ideal olan, HTML içeriğini zahmetsizce PDF belgelerine dönüştürün.
- URL'den PDF'ye Dönüşüm: Web sayfalarının içeriğini yakalayarak ve PDF dosyalarını programatik olarak kaydederek doğrudan URL'lerden PDF'ler oluşturun.
- PDF Manipülasyonu: Mevcut PDF belgelerini kolayca birleştirin, bölün ve manipüle edin. IronPDF, sayfaları eklemenize, belgeleri bölmenize ve daha fazlasına olanak tanır.
- PDF Güvenliği: PDF belgelerinizi, onları yetkisiz erişimden koruyan parolalarla şifreleyerek veya dijital imzalar uygulayarak güvence altına alın.
- Yüksek Kaliteli Çıktı: Metin, görüntüler ve biçimlendirilmenin hassas şekilde render edilmesiyle orijinal içeriğe sadık, yüksek kaliteli PDF belgeleri üretin.
- Çapraz Platform Uyumluluğu: IronPDF, Windows, Linux ve macOS dahil olmak üzere çeşitli platformlarla uyumludur ve geniş bir geliştirme ortamı yelpazesi için uygundur.
- Basit Entegrasyon: IronPDF'i npm paketi ile kolayca Node.js uygulamalarınıza entegre edin. - Well-documented API ile projelerinize PDF oluşturma yeteneklerini eklemek son derece kolaydır.
İster bir web uygulaması, ister bir sunucu tarafı script, ister bir komut satırı aracı geliştiriyor olun, IronPDF kaliteli PDF belgelerini hızlı ve güvenilir bir şekilde oluşturmanızı sağlar.
IronPDF Kullanarak Recharts ile PDF Oluşturma
Bağımlılıkları Yükleyin: İlk olarak, henüz yapmadıysanız, aşağıdaki komutu kullanarak yeni bir Next.js projesi oluşturun veya daha detaylı talimatlar için buraya başvurun.
npx create-next-app@latest recharts-pdf --use-npm --example "https://github.com/vercel/next-learn/tree/main/basics/learn-starter"npx create-next-app@latest recharts-pdf --use-npm --example "https://github.com/vercel/next-learn/tree/main/basics/learn-starter"Sonra, proje dizininize gidin:
cd recharts-pdfcd recharts-pdfGerekli paketleri yükleyin:
yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add rechartsyarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add rechartsPDF Oluşturma API'si: İlk adım, PDF belgesini oluşturacak bir arka uç API'si yaratmaktır. IronPDF yalnızca sunucu tarafında çalıştığından, kullanıcılar PDF oluşturmak istediğinde çağırılacak bir API oluşturmamız gerekiyor.
Yol pages/api/pdf.js üzerinde bir dosya oluşturun ve aşağıdaki içerikleri ekleyin:
// pages/api/pdf.js
import {IronPdfGlobalConfig, PdfDocument} from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Your license key";
export default async function handler(req, res) {
try {
const url = req.query.url;
const pdf = await PdfDocument.fromUrl(url);
const data = await pdf.saveAsBuffer();
console.error('data PDF:', data);
res.setHeader('Content-Type', 'application/pdf');
res.setHeader('Content-Disposition', 'attachment; filename=awesomeIron.pdf');
res.send(data);
} catch (error) {
console.error('Error generating PDF:', error);
res.status(500).end();
}
}// pages/api/pdf.js
import {IronPdfGlobalConfig, PdfDocument} from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Your license key";
export default async function handler(req, res) {
try {
const url = req.query.url;
const pdf = await PdfDocument.fromUrl(url);
const data = await pdf.saveAsBuffer();
console.error('data PDF:', data);
res.setHeader('Content-Type', 'application/pdf');
res.setHeader('Content-Disposition', 'attachment; filename=awesomeIron.pdf');
res.send(data);
} catch (error) {
console.error('Error generating PDF:', error);
res.status(500).end();
}
}IronPDF bir lisans anahtarı gerektirir ve bu anahtarı Lisanslama sayfasından alabilirsiniz.
Kullanıcıdan bir URL kabul etmek ve bu URL'den index.js dosyasına bir PDF üretmek için aşağıdaki kodu ekleyin.
"use client";
import { useState } from "react";
import Head from "next/head";
import styles from "../../styles/Home.module.css";
import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer, BarChart, Bar } from "recharts";
import { useCurrentPng } from "recharts-to-png";
import FileSaver from "file-saver";
const data = [
{ name: "Page A", uv: 4000, pv: 2400, amt: 2400 },
{ name: "Page B", uv: 3000, pv: 1398, amt: 2210 },
{ name: "Page C", uv: 2000, pv: 9800, amt: 2290 },
{ name: "Page D", uv: 2780, pv: 3908, amt: 2000 },
{ name: "Page E", uv: 1890, pv: 4800, amt: 2181 },
{ name: "Page F", uv: 2390, pv: 3800, amt: 2500 },
{ name: "Page G", uv: 3490, pv: 4300, amt: 2100 },
];
const barData = [
{ name: "Page A", uv: 4000, pv: 2400, amt: 2400 },
{ name: "Page B", uv: 3000, pv: 1398, amt: 2210 },
{ name: "Page C", uv: 2000, pv: 9800, amt: 2290 },
{ name: "Page D", uv: 2780, pv: 3908, amt: 2000 },
{ name: "Page E", uv: 1890, pv: 4800, amt: 2181 },
{ name: "Page F", uv: 2390, pv: 3800, amt: 2500 },
{ name: "Page G", uv: 3490, pv: 4300, amt: 2100 },
];
export default function RechartsDemo() {
const [text, setText] = useState("");
const [imgSrc, setImg] = useState("");
// Implement useGenerateImage to get an image of any element (not just a Recharts component)
const [getPng, { ref, isLoading }] = useCurrentPng();
const handleDownload = async () => {
const png = await getPng();
// Verify that png is not undefined
if (png) {
setImg(png);
// Download with FileSaver
FileSaver.saveAs(png, "myChart.png");
}
};
const generatePdf = async () => {
try {
const response = await fetch("/api/pdf?url=" + text, {
method: "GET",
});
const blob = await response.blob();
const url = window.URL.createObjectURL(new Blob([blob]));
const link = document.createElement("a");
link.href = url;
link.setAttribute("download", "awesomeIron.pdf");
document.body.appendChild(link);
link.click();
link.parentNode.removeChild(link);
} catch (error) {
console.error("Error generating PDF:", error);
}
};
const handleChange = (event) => {
setText(event.target.value);
};
return (
<div className={styles.container} ref={ref}>
<Head>
<title>Generate PDF Using IronPDF</title>
<link rel="icon" href="/favicon.ico" />
</Head>
<main>
<div>
<h1>Demo Recharts and Generate PDF Using IronPDF</h1>
<ResponsiveContainer width="100%" height={400}>
<LineChart
ref={ref}
width={500}
height={300}
data={data}
margin={{
top: 5,
right: 30,
left: 20,
bottom: 5,
}}
>
<CartesianGrid strokeDasharray="3 3" />
<XAxis dataKey="name" />
<YAxis />
<Tooltip />
<Legend />
<Line
type="monotone"
dataKey="pv"
stroke="#8884d8"
activeDot={{ r: 8 }}
/>
<Line type="monotone" dataKey="uv" stroke="#82ca9d" />
</LineChart>
</ResponsiveContainer>
<ResponsiveContainer width="100%" height={400}>
<BarChart
width={500}
height={300}
data={barData}
margin={{
top: 20,
right: 30,
left: 20,
bottom: 5,
}}
>
<CartesianGrid strokeDasharray="3 3" />
<XAxis dataKey="name" />
<YAxis />
<Tooltip />
<Legend />
<Bar dataKey="pv" fill="#8884d8" />
<Bar dataKey="uv" fill="#82ca9d" />
</BarChart>
</ResponsiveContainer>
<p>
<span>Enter Url To Convert to PDF:</span>
<input type="text" value={text} onChange={handleChange} />
</p>
<button style={{ margin: 20, padding: 5 }} onClick={generatePdf}>
Generate PDF
</button>
</div>
</main>
<style jsx>{`
main {
padding: 5rem 0;
flex: 1;
display: flex;
flex-direction: column;
justify-content: top;
align-items: center;
}
footer {
width: 100%;
height: 100px;
border-top: 1px solid #eaeaea;
display: flex;
justify-content: center;
align-items: center;
}
footer img {
margin-left: 0.5rem;
}
footer a {
display: flex;
justify-content: center;
align-items: center;
text-decoration: none;
color: inherit;
}
code {
background: #fafafa;
border-radius: 5px;
padding: 0.75rem;
font-size: 1.1rem;
font-family: Menlo, Monaco, Lucida Console, Liberation Mono,
DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace;
}
`}</style>
<style jsx global>{`
html,
body {
padding: 0;
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,
Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue,
sans-serif;
}
* {
box-sizing: border-box;
}
`}</style>
</div>
);
}"use client";
import { useState } from "react";
import Head from "next/head";
import styles from "../../styles/Home.module.css";
import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer, BarChart, Bar } from "recharts";
import { useCurrentPng } from "recharts-to-png";
import FileSaver from "file-saver";
const data = [
{ name: "Page A", uv: 4000, pv: 2400, amt: 2400 },
{ name: "Page B", uv: 3000, pv: 1398, amt: 2210 },
{ name: "Page C", uv: 2000, pv: 9800, amt: 2290 },
{ name: "Page D", uv: 2780, pv: 3908, amt: 2000 },
{ name: "Page E", uv: 1890, pv: 4800, amt: 2181 },
{ name: "Page F", uv: 2390, pv: 3800, amt: 2500 },
{ name: "Page G", uv: 3490, pv: 4300, amt: 2100 },
];
const barData = [
{ name: "Page A", uv: 4000, pv: 2400, amt: 2400 },
{ name: "Page B", uv: 3000, pv: 1398, amt: 2210 },
{ name: "Page C", uv: 2000, pv: 9800, amt: 2290 },
{ name: "Page D", uv: 2780, pv: 3908, amt: 2000 },
{ name: "Page E", uv: 1890, pv: 4800, amt: 2181 },
{ name: "Page F", uv: 2390, pv: 3800, amt: 2500 },
{ name: "Page G", uv: 3490, pv: 4300, amt: 2100 },
];
export default function RechartsDemo() {
const [text, setText] = useState("");
const [imgSrc, setImg] = useState("");
// Implement useGenerateImage to get an image of any element (not just a Recharts component)
const [getPng, { ref, isLoading }] = useCurrentPng();
const handleDownload = async () => {
const png = await getPng();
// Verify that png is not undefined
if (png) {
setImg(png);
// Download with FileSaver
FileSaver.saveAs(png, "myChart.png");
}
};
const generatePdf = async () => {
try {
const response = await fetch("/api/pdf?url=" + text, {
method: "GET",
});
const blob = await response.blob();
const url = window.URL.createObjectURL(new Blob([blob]));
const link = document.createElement("a");
link.href = url;
link.setAttribute("download", "awesomeIron.pdf");
document.body.appendChild(link);
link.click();
link.parentNode.removeChild(link);
} catch (error) {
console.error("Error generating PDF:", error);
}
};
const handleChange = (event) => {
setText(event.target.value);
};
return (
<div className={styles.container} ref={ref}>
<Head>
<title>Generate PDF Using IronPDF</title>
<link rel="icon" href="/favicon.ico" />
</Head>
<main>
<div>
<h1>Demo Recharts and Generate PDF Using IronPDF</h1>
<ResponsiveContainer width="100%" height={400}>
<LineChart
ref={ref}
width={500}
height={300}
data={data}
margin={{
top: 5,
right: 30,
left: 20,
bottom: 5,
}}
>
<CartesianGrid strokeDasharray="3 3" />
<XAxis dataKey="name" />
<YAxis />
<Tooltip />
<Legend />
<Line
type="monotone"
dataKey="pv"
stroke="#8884d8"
activeDot={{ r: 8 }}
/>
<Line type="monotone" dataKey="uv" stroke="#82ca9d" />
</LineChart>
</ResponsiveContainer>
<ResponsiveContainer width="100%" height={400}>
<BarChart
width={500}
height={300}
data={barData}
margin={{
top: 20,
right: 30,
left: 20,
bottom: 5,
}}
>
<CartesianGrid strokeDasharray="3 3" />
<XAxis dataKey="name" />
<YAxis />
<Tooltip />
<Legend />
<Bar dataKey="pv" fill="#8884d8" />
<Bar dataKey="uv" fill="#82ca9d" />
</BarChart>
</ResponsiveContainer>
<p>
<span>Enter Url To Convert to PDF:</span>
<input type="text" value={text} onChange={handleChange} />
</p>
<button style={{ margin: 20, padding: 5 }} onClick={generatePdf}>
Generate PDF
</button>
</div>
</main>
<style jsx>{`
main {
padding: 5rem 0;
flex: 1;
display: flex;
flex-direction: column;
justify-content: top;
align-items: center;
}
footer {
width: 100%;
height: 100px;
border-top: 1px solid #eaeaea;
display: flex;
justify-content: center;
align-items: center;
}
footer img {
margin-left: 0.5rem;
}
footer a {
display: flex;
justify-content: center;
align-items: center;
text-decoration: none;
color: inherit;
}
code {
background: #fafafa;
border-radius: 5px;
padding: 0.75rem;
font-size: 1.1rem;
font-family: Menlo, Monaco, Lucida Console, Liberation Mono,
DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace;
}
`}</style>
<style jsx global>{`
html,
body {
padding: 0;
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,
Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue,
sans-serif;
}
* {
box-sizing: border-box;
}
`}</style>
</div>
);
}Kod Açıklaması
- PDF Üretimi için API: IronPDF kullanarak bir URL'yi PDF dokümanına dönüştürmek için
pages/api/pdf.jsadresinde bir uç nokta oluşturuyoruz. - Grafik Bileşenleri: Uygulama, örnek verileri görüntüleyen hem Çizgi hem de Bar grafikleri içerir.
- Kullanıcı Girişi ve PDF Oluşturma: Uygulama, kullanıcıların IronPDF kütüphanesi kullanarak PDF'ye dönüştürmek için bir URL girmelerini sağlayan bir giriş alanı sağlar.
- PDF İndir: 'PDF Oluştur' düğmesine basıldığında, belirtilen URL'nin web sayfasının PDF'si oluşturulur ve indirilir.
Çıktı

Yukarıdaki çıktıda 'PDF Oluştur' düğmesine basıldığında çıktısı alınan PDF aşağıdadır.

IronPDF Lisansı

Ücretsiz bir deneme lisans anahtarı edinin ve satın almadan önce IronPDF'in geniş özelliklerini deneyin. Süresiz lisanslama hakkında daha fazla detay, lisans sayfasında bulunabilir.
Lisans Anahtarını buraya yerleştirin:
import {IronPdfGlobalConfig, PdfDocument} from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Your license key";import {IronPdfGlobalConfig, PdfDocument} from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Your license key";Sonuç
Recharts, React uygulamalarında dinamik ve etkileşimli veri görselleştirmelerini kolaylaştıran güçlü bir kütüphanedir. Kullanım kolaylığı, uyumluluğu ve geniş özelleştirme seçenekleri, uygulamalarını sağlam grafikler ile geliştirmek isteyen geliştiriciler için mükemmel bir seçimdir.
Basit bir çizgi grafik oluşturuyor ya da karmaşık bir çoklu seri görselleştirme yapıyor olun, Recharts size başarılı olmak için gereken araçları sunar. Bir sonraki projenizde deneyin ve kesintisiz veri görselleştirme avantajlarını deneyimleyin. IronPDF, güçlü bir PDF oluşturma aracıdır ve üretilen herhangi bir grafiği görüntülemek ve paylaşmak için Recharts ile birlikte kullanılabilir. PDF üretimi ve manipülasyonu konusunda etkili bir araç arayan geliştiricilerin IronPDF'i denemesi gerekmektedir.








