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

This article was translated from English: Does it need improvement?
Translated
View the article in English

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'yi npm aracılığıyla yükleyin: npm install @ironsoftware/ironpdf
  2. PdfDocument'yi @ironsoftware/ironpdf'den içe aktarın
  3. HTML içeriğinizle PdfDocument.fromHtml()'yi çağırın
  4. PDF dosyasını diske yazmak için .saveAs()'yi çağırın
//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/quickstart.js
import { PdfDocument } from "@ironsoftware/ironpdf";

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

Üretim ortamında çalıştırmadan önce platformunuz için IronPdfEngine'yi 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
//: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ınGeçerli bir lisans anahtarı, oluşturulan PDF'lerden filigranı kaldırır. IronPdfGlobalConfig.setConfig({ licenseKey: "YOUR-KEY" }) ayarını yaparak ilk PdfDocument çağrısından önce 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 dizesinden PDF oluşturmak için PdfDocument.fromHtml() kullanın. Yöntem, satır içi <style> blokları, CDN aracılığıyla yüklenen harici yazı tipleri ve CSS Grid veya Flexbox gibi düzen sistemleri dahil olmak üzere tüm geçerli HTML'leri kabul eder. Chromium renderer, PDF oluşturmadan önce tüm kaynakları çözümler.

//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/html-string-to-pdf.js
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");

PdfDocument.fromHtml() bir PdfDocument örneği döndürür. Dosyayı yazmak için saveAs()'yi istediğiniz çıktı yolu ile çağırın. Yöntem eşzamansızdır, bu nedenle await'yi kullanın veya bir .then() işleyicisini 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?

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

//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/html-file-to-pdf.js
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");

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/A olarak görüntü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.

//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/url-to-pdf.js
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");

İçeriği JavaScript aracılığıyla eşzamansız olarak yükleyen sayfalar için, yakalama işleminden önce ek süre tanımak üzere bunu 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?

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

//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/pdf-settings.js
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");

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

  • paperSize: PdfPaperSize enum değerlerini kabul eder (A4, Letter, Legal ve özel boyutlar)
  • landscape: yatay sayfa yönü için true ayarlayın
  • printBackground: CSS arka plan renklerini ve resimleri ekleyin
  • marginTop/Bottom/Left/Right: milimetre cinsinden sayfa kenar boşlukları
  • renderDelay: JavaScript ağırlıklı sayfalar için yakalama öncesinde beklenecek milisaniye sayısı

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

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

//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/headers-footers.js
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");

Altbilgi HTML'sinde {page} ve {total-pages} belirteçlerini 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 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.

//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/security.js
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");

Ş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.

İpuçlarıUzun vadeli arşivleme uyumluluğu gerektiren belgeler için, PdfDocument.fromHtml() ifadesini ve ardından PDF/A dönüştürme yöntemini kullanı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 dosyasını yükleyin ve işleme yöntemlerini kullanarak sayfa ekleyin veya kaldırın, içeriğe damga vurun veya metni değiştirin.

//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/merge-pdfs.js
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");

PdfDocument.mergePdf(), bir dizi PdfDocument örneği kabul eder ve tek bir birleştirilmiş 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ınIronPDF'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şleme koymak için ek süreye ihtiyaç duyuyorsa, sayfanın tamamen işlenebilmesi için renderDelay değerini milisaniye cinsinden 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, görüntüleme seçenekleri hakkında daha ayrıntılı bilgi edinmek üzere HTML'den PDF'ye dönüştürme öğreticisinin tamamını deneyin veya PdfDocument yöntemlerinin ve yapılandırma özelliklerinin tam listesi için API Referansı'na göz atın.

Ücretsiz denemenizi başlatın ve su damgası olmadan PDF üretin veya üretim dağıtımları için lisans 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.

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ı...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Sürüm: 2026.5 just released
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz?
bir örnek çalıştır HTML'nizi bir PDF'ye dönüştüğünü izleyin.