IRONSOFTWAREHOME

Node.js'te PDF Dosyaları Nasıl Oluşturulur

Curtis Chau
Curtis Chau
Updated: 29 Haziran 2026

Node.js içinde programlı olarak PDF dosyaları oluşturmak, HTML'yi doğru bir şekilde işleyebilen, modern CSS'yi destekleyen ve Node'un asenkron kalıpları ile temiz bir şekilde entegre olabilen bir kütüphane gerektirir. IronPDF, HTML içeriğini, tam CSS desteği, iç içe JavaScript ve kutudan çıkar çıkmaz duyarlı düzenlerle Chrome'un baskı çıktısına uyacak şekilde PDF'lere dönüştürmek için Chromium tabanlı bir renderleme motoru kullanır.

Bu rehber, kurulumdan, HTML dizgilerinden, HTML dosyalarından ve URL'lerden PDF üretimine, çıktı seçeneklerini yapılandırmaya, başlık, alt bilgi, dijital imza ve şifreleme gibi kurumsal özellikleri uygulamaya kadar olan tüm iş akışını kapsar.

Hızlı Başlangıç: Node.js'de PDF Oluşturma
  1. IronPDF'i npm üzerinden yükleyin: npm install @ironsoftware/ironpdf
  2. PdfDocument öğesini @ironsoftware/ironpdf'dan içe aktarın
  3. HTML içeriğinizle PdfDocument.fromHtml() öğesini çağırın
  4. PDF dosyasını diske yazmak için .saveAs() öğesini çağırın
import { PdfDocument } from "@ironsoftware/ironpdf";

const pdf = await PdfDocument.fromHtml("<h1>Hello, PDF!</h1><p>Generated with IronPDF.</p>");
await pdf.saveAs("output.pdf");
JavaScript

Üretim ortamında çalıştırmadan önce, platformunuz için IronPdfEngine öğesini yapılandırın. Windows, Linux, macOS ve Docker talimatları için IronPdfEngine kurulum kılavuzuna bakın.

Node.js için IronPDF'yi Nasıl Yüklerim?

npm kullanarak @ironsoftware/ironpdf paketini yükleyin. Paket, Node.js 12.0 veya daha yüksek sürümlerle çalışır ve hem ESM hem de CommonJS modül formatlarını destekler.

//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/install.sh
npm install @ironsoftware/ironpdf
SHELL

IronPDF for Node.js, altında yatan Chromium tabanlı renderlemeyi gerçekleştiren IronPDF Engine ikili dosyasına bağlıdır. Motor ilk çalıştırmada otomatik olarak indirilir, ancak çalışma zamanı indirmelerini önlemek için platforma özgü paketi önceden yükleyebilirsiniz. Bu, sınırlı ağ ortamlarında veya Docker tabanlı CI boru hatlarında kullanışlıdır:

Kapalı ya da sınırlı ortamlar için ön yükleme için IronPDF Motoru platform paketleri
PlatformPaket
Windows x64@ironsoftware/IronPDF-engine-Windows-x64
Linux x64@ironsoftware/IronPDF-engine-linux-x64
macOS x64@ironsoftware/IronPDF-engine-macos-x64
macOS ARM@ironsoftware/IronPDF-engine-macos-arm64
Lütfen dikkate alın: Geçerli bir lisans anahtarı, oluşturulan PDF'lerden filigranı kaldırır. İlk PdfDocument çağrınızdan önce IronPdfGlobalConfig.setConfig({ licenseKey: "YOUR-KEY" }) ayarlayarak uygulayın. Tam lisans anahtarı kurulumu talimatları'nı izleyin.

IronPDF için Sistem Gereksinimleri Nelerdir?

IronPDF for Node.js, Windows, Linux, macOS ve Docker ortamlarında Node.js 12.0 veya daha yüksek sürümlerinde çalışır. Kütüphane hem x64 hem de ARM64 mimarilerini destekler, bu da onu yerel geliştirme ve konteyner tabanlı dağıtımlar için uygun hale getirir. Bulut ortamları için, IronPDF, motoru yerel olarak çalıştırmak yerine uzak bir IronPDF Motoru'na bağlanmayı da destekler.


Node.js'de HTML'den PDF Nasıl Oluştururum?

Bir HTML stringinden PDF oluşturmak için PdfDocument.fromHtml() kullanın. Yöntem, CDN aracılığıyla yüklenen harici yazı tipleri ve CSS Grid veya Flexbox gibi düzen sistemleri dahil olmak üzere geçerli her türlü HTML'yi kabul eder. Chromium renderer, PDF oluşturmadan önce tüm kaynakları çözümler.

import { PdfDocument } from "@ironsoftware/ironpdf";

const htmlContent = `
  <!DOCTYPE html>
  <html>
  <head>
    <style>
      body { font-family: Arial, sans-serif; margin: 0; padding: 0; }
      .header { background: #2b4c8c; color: white; padding: 24px 32px; }
      .header h1 { margin: 0; font-size: 22px; }
      .body { padding: 32px; }
      table { width: 100%; border-collapse: collapse; margin-top: 16px; }
      th { background: #f0f4fb; text-align: left; padding: 8px 12px; }
      td { padding: 8px 12px; border-bottom: 1px solid #e0e0e0; }
    </style>
  </head>
  <body>
    <div class="header"><h1>Invoice #INV-2025-0042</h1></div>
    <div class="body">
      <p>Date: ${new Date().toLocaleDateString()}</p>
      <table>
        <tr><th>Item</th><th>Qty</th><th>Unit Price</th><th>Total</th></tr>
        <tr><td>IronPDF Enterprise License</td><td>1</td><td>$499.00</td><td>$499.00</td></tr>
        <tr><td>Priority Support (1 year)</td><td>1</td><td>$199.00</td><td>$199.00</td></tr>
      </table>
      <p style="text-align:right; margin-top:16px;"><strong>Total: $698.00</strong></p>
    </div>
  </body>
  </html>`;

// Generate the PDF from the HTML string
const pdf = await PdfDocument.fromHtml(htmlContent);
await pdf.saveAs("invoice.pdf");
JavaScript

PdfDocument.fromHtml(), PdfDocument örneğini döndürür. Dosyayı yazmak için istediğiniz çıkış yolunu saveAs() üzerinden belirtin. Yöntem asenkron olduğu için await kullanın veya bir .then() işleyici zincirleyin. Chromium motoru, çıktı alımından önce yazı tipi yükleme, harici stil sayfaları ve varlık çözümlemesiyle ilgilenir. Daha fazla desen için, HTML string'den PDF örneği'ni inceleyin.

Bir HTML Dosyasından PDF Nasıl Oluştururum?

Diğer bir .html dosyasını diske kullanarak PdfDocument.fromFile() yükleyin. Bu yaklaşım, HTML'nin uygulama mantığından ayrı olarak korunduğu şablon belgeleri için iyi çalışır.

import { PdfDocument } from "@ironsoftware/ironpdf";

// Load an HTML file and render it as a PDF
const pdf = await PdfDocument.fromFile("./templates/report-template.html");
await pdf.saveAs("./output/report.pdf");
JavaScript

Renderer, HTML dosyasının dizininden göreli varlık yollarını çözer, bu nedenle yerel CSS ve resim referansları ekstra yapılandırma yapmadan çalışır. Varlık çözümlemesi için temel URL'yi geçersiz kılmak dahil, ek seçenekler için HTML dosyasından PDF'ye örnek'yi inceleyin.

Bir URL'den PDF Nasıl Üretirim?

Canlı bir web sayfasını PDF olarak işlemek için PdfDocument.fromUrl() kullanın. Renderer, çıktı almadan önce JavaScript'i çalıştırarak, CSS uygulayarak ve dinamik içeriği bekleyerek, sayfayı tam bir tarayıcı oturumu olarak yükler.

import { PdfDocument } from "@ironsoftware/ironpdf";

// Render a live webpage to PDF
const pdf = await PdfDocument.fromUrl("https://ironpdf.com/nodejs/");
await pdf.saveAs("ironpdf-homepage.pdf");
JavaScript

JavaScript ile asenkron olarak içerik yükleyen sayfalar için, yakalamadan önce ek süre tanımak amacıyla bir renderDelay seçeneği (milisaniye cinsinden) ile eşleştirin. URL'den PDF'ye örnek, gecikme yapılandırmasını ve kimlik doğrulama başlıklarını gösterir.


PDF Çıkış Ayarlarını Nasıl Yapılandırırım?

PdfDocument.fromHtml(), PdfDocument.fromFile() veya PdfDocument.fromUrl() için ikinci argüman olarak bir yapılandırma nesnesi geçirin. Yapılandırma nesnesi, kağıt boyutu, kenar boşlukları, yönlendirme ve render seçeneklerini kabul eder.

import { PdfDocument, PdfPaperSize } from "@ironsoftware/ironpdf";

const config = {
    paperSize: PdfPaperSize.A4,
    marginTop: 25,
    marginBottom: 25,
    marginLeft: 20,
    marginRight: 20,
    landscape: false,
    printBackground: true,
};

const pdf = await PdfDocument.fromHtml("<h1>Configured PDF</h1>", config);
await pdf.saveAs("configured-output.pdf");
JavaScript

Ana yapılandırma seçenekleri şunları içerir:

  • paperSize: PdfPaperSize enum değerlerini kabul eder (A4, Letter, Legal ve özel boyutlar)
  • landscape: sayfa yönlendirmesi için true ayarlayın
  • printBackground: CSS arka plan renkleri ve resimleri dahil edin
  • marginTop/Bottom/Left/Right: milimetre cinsinden sayfa kenar boşlukları
  • renderDelay: JavaScript ağırlıklı sayfalar için yakalamadan önce beklemek için gereken milisaniyeler

Bir PDF'ye Başlıklar ve Altbilgiler Nasıl Eklerim?

Yapılandırma nesnesinde htmlHeader ve htmlFooter özellikleri sağlayarak başlıklar ve altbilgiler ekleyin. Her ikisi de tam HTML dizilerini kabul eder ve sayfa numaraları, tarihler ve dinamik metin ile stilize edilmiş içerik sağlar.

import { PdfDocument } from "@ironsoftware/ironpdf";

const config = {
    htmlHeader: {
        htmlFragment: "<div style='text-align:center; font-size:12px; color:#666;'>Quarterly Report - Confidential</div>",
        dividerLine: true,
    },
    htmlFooter: {
        htmlFragment: "<div style='text-align:right; font-size:10px;'>Page {page} of {total-pages}</div>",
        dividerLine: true,
    },
};

const pdf = await PdfDocument.fromHtml("<h1>Q3 Financial Summary</h1><p>See attached tables.</p>", config);
await pdf.saveAs("report-with-headers.pdf");
JavaScript

Altbilgi HTML'sinde {page} ve {total-pages} eklemelerini kullanın; IronPDF, render zamanı geldiğinde doğru değerleri ikame eder. Daha fazla başlık ve altbilgi deseni için, HTML başlıkları ve altbilgileri ve ileri başlık teknikleri dahil, bağlantılı örneklere bakın.


Bir PDF'ye Güvenlik ve Meta Veriler Nasıl Eklerim?

PdfDocument güvenlik yöntemlerini kullanarak oluşturulan bir PDF'ye şifre koruması ve şifreleme uygulayın. Kütüphane, yazdırma, kopyalama ve düzenleme için ayrıntılı izin kontrolleri ile hem sahip hem de kullanıcı şifrelerini destekler.

import { PdfDocument } from "@ironsoftware/ironpdf";

const pdf = await PdfDocument.fromHtml("<h1>Confidential Document</h1>");

// Apply password protection with granular permissions
await pdf.securePdf({
    userPassword: "view-password",
    ownerPassword: "admin-password",
    allowUserAnnotations: false,
    allowUserPrinting: true,
    allowUserCopyPasteContent: false,
});

await pdf.saveAs("secured-document.pdf");
JavaScript

Şifreleme ve şifre çözme, şifreler uygulandığında varsayılan olarak AES 256-bit şifreleme kullanır. Doküman kimlik doğrulama iş akışları için, IronPDF ayrıca X.509 sertifikalarını kullanarak dijital imzaları destekler.

(Uzun vadeli arşiv uyumluluğu gerektiren belgeler için PdfDocument.fromHtml() kullanın ve ardından PDF/A dönüştürme yöntemini uygulayın. IronPDF, PDF/A uyumluluğu ile PDF/UA erişilebilirlik standartlarını destekler.)}]


Mevcut PDF'leri Nasıl Birleştirir ve Düzenlerim?

PdfDocument, mevcut PDF dosyalarını birleştirme, bölme ve değiştirme yöntemleri sunar. PdfDocument.fromFile() ile mevcut bir PDF yükleyin ve sayfalar eklemek veya kaldırmak, içerik damgalamak ya da metin değiştirmek için manipülasyon yöntemlerini kullanın.

import { PdfDocument } from "@ironsoftware/ironpdf";

// Merge two PDF files into one
const merged = await PdfDocument.mergePdf([
    await PdfDocument.fromFile("./report-part1.pdf"),
    await PdfDocument.fromFile("./report-part2.pdf"),
]);

await merged.saveAs("./complete-report.pdf");
JavaScript

PdfDocument.mergePdf(), PdfDocument örneklerinin bir dizisini kabul eder ve tek bir birleşik belge döndürür. Sayfa sırası dizi sırasını takip eder, bu nedenle çıkış dosyası giriş dosyalarının sırasını korur.

Diğer yaygın manipülasyon işlemleri:

Yüksek hacimli senaryolar için, çoklu iş parçacıklı PDF üretimi birden çok belgeyi paralel olarak işleme imkan verir. PDF sıkıştırma, saklama ve iletim için dosya boyutlarını azaltır.


Grafikler ve Angular Sayfalar Gibi Karmaşık İçerikler için PDF Nasıl Üretirim?

IronPDF, tam bir Chromium tarayıcı oturumu kullanarak sayfaları işler; bu, grafik, grafikler veya veri görselleştirmesi üreten JavaScript kitaplıklarının doğru bir şekilde işlenmesini sağlar. Buna JavaScript grafik kütüphaneleri da dahildir. Angular gibi çerçevelerle oluşturulmuş tek sayfa uygulamaları da Angular'dan PDF'ye örnek ile temiz şekilde dönüştürülür.

Unicode ağırlıklı belgeler veya çoklu dil çıktıları için, IronPDF Unicode ve uluslararası karakter setlerini ek yapılandırma gerektirmeden işler. Google Fonts entegrasyonu örneği, çıktı PDF'sinde tutarlı tipografi için render edilen HTML'de web yazı tiplerinin nasıl yükleneceğini gösterir.

Lütfen dikkate alın: IronPDF'un Chromium renderer'ı PDF'yi almadan önce JavaScript'i çalıştırır. Grafik kütüphaneniz veya SPA'nız, DOM yüklendikten sonra verileri işlemek için ek süre gerektiriyorsa, sayfanın tam olarak işlenmesi için renderDelay milisaniye olarak ayarlayın.)

Node.js'de PDF Oluşturmak İçin Bir Sonraki Adım Nedir?

Bu kılavuz, IronPDF'ün temel iş akışını kapsadı: kütüphaneyi yüklemek, HTML dizilerinden, dosyalardan ve URL'lerden PDF'ler üretmek, çıkış ayarlarını yapılandırmak, başlık ve altbilgi eklemek, güvenlik uygulamak ve mevcut PDF'leri düzenlemek.

Devam etmek için, işleme seçeneklerinin daha derin bir tanıtımı için tamamlanmış HTML to PDF eğitimini deneyin veya tam liste için API Referansını tarayın. PdfDocument yöntemleri ve yapılandırma özellikleri.

Ücretsiz denemenize başlayın ve filigran olmadan PDF oluşturun veya üretim uygulamaları için lisanslama seçeneklerini görüntüleyin.

Sıkça Sorulan Sorular

Node.js'de PDF dosyaları oluşturmanın en kolay yolu nedir?

IronPDF'i npm install @ironsoftware/ironpdf ile yükleyin, ardından HTML stringiniz ile birlikte PdfDocument.fromHtml() çağrısı yapın ve sonucu saveAs() kullanarak kaydedin. Kütüphane, tüm render işlemlerini otomatik olarak yönetir.

Node.js için IronPDF nasıl yüklenir?

Proje dizininde npm install @ironsoftware/ironpdf komutunu çalıştırın. IronPDF Engine ikili dosyası, ilk kullanımda otomatik olarak indirilir. Çevrimdışı veya CI ortamları için, @ironsoftware/ironpdf-engine-linux-x64 gibi platforma özgü motor paketini ayrı olarak yükleyin.

HTML'yi CSS stillerini ve biçimlendirmeyi koruyarak PDF'ye dönüştürebilir miyim?

Evet. IronPDF, HTML'yi PDF'ye dönüştürürken tüm CSS stillerini, harici yazı tiplerini ve JavaScript çalıştırmasını koruyan Chromium tabanlı bir işleme motoru kullanır. Çıktı, Chrome'un yazdırma önizleme davranışı ile eşleşir.

Temel HTML dönüştürmenin ötesinde hangi PDF özellikleri mevcuttur?

IronPDF, dijital imzaları, AES 256-bit şifrelemeyi, ayrıntılı izinlerle parola korumasını, özel başlık ve altbilgi ayarlarını sayfa numarası belirteçleriyle, PDF birleştirmeyi, sayfa kaldırmayı, HTML damgalamayı, metin çıkarmayı, PDF/A uyumluluğunu ve çoklu iş parçacıklı oluşturmayı destekler.

Diskteki bir HTML dosyasından nasıl PDF oluşturabilirim?

PdfDocument.fromFile('./path/to/template.html') kullanın. Renderer, bağıl varlık yollarını HTML dosyasının dizininden çözümler, böylece yerel CSS ve görüntü referansları ek bir yapılandırma olmadan çalışır.

IronPDF kullanarak mevcut PDF dosyalarından metin çıkarabilir miyim?

Evet. Var olan bir PDF'i PdfDocument.fromFile() ile yükleyin ve herhangi bir sayfadaki içeriği okumak için metin çıkarma yöntemlerini kullanın. IronPDF, hem yeni PDF'ler oluşturmayı hem de mevcut belgeleri işlemeyi destekler.

IronPDF, HTML renderken JavaScript yürütmeyi destekliyor mu?

Evet. Chromium renderer, PDF'i yakalamadan önce JavaScript'i çalıştırır. İçeriği asenkron olarak yükleyen sayfalar için, yakalamadan önce sayfaya ek süre vermek amacıyla renderDelay seçeneğini milisaniye olarak ayarlayın.

Is it possible to apply digital signatures to PDFs with IronPDF?

Yes, IronPDF supports applying digital signatures to PDFs using X.509 certificates. This feature is useful for document authentication and secure workflows.

How does IronPDF handle complex content like charts in PDFs?

IronPDF uses a full Chromium browser session to render pages, which means JavaScript chart libraries and frameworks like Angular are fully supported. This allows charts, graphs, and other complex visualizations to render correctly in the output PDFs.

What are the system requirements for using IronPDF on Node.js?

IronPDF requires Node.js 12.0 or higher and runs on Windows, Linux, macOS, and Docker environments. It supports both x64 and ARM64 architectures, making it suitable for various deployment scenarios including local development and cloud environments.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.

...
Daha Fazla Oku

Başlamaya Hazır mısınız?

Sürüm:2026.6yeni yayınlandı

Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez
PDF için Node.js Modül İndir
Npm ile yükleyin

Sürüm: 2026.6

  1. İndir ve Node.js 12+ sürümünü kurun.
  2. Yukarıdaki komutu terminalde çalıştırın.

Lisanslar $999

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

OR
bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez
PDF için Node.js Modül İndir
Npm ile yükleyin

Sürüm: 2026.6

  1. İndir ve Node.js 12+ sürümünü kurun.
  2. Yukarıdaki komutu terminalde çalıştırın.

Lisanslar $999