PDFKit npm ve Node.js için IronPDF Arasındaki Bir Karşılaştırma
Bu öğretici, IronPDF'in JavaScript SDK'sı ve PDFKit - JavaScript PDF kütüphaneleri arasındaki iki büyük isimle derinlemesine ilgilenecektir. Her ikisi de Node.js projeleri için sağlam seçimlerdir, ancak güçlü ve zayıf yanları vardır.
Bu makalenin amacı, okuyuculara IronPDF ve PDFKit araçlarının bir geliştiricinin Node.js iş akışına nasıl uyabileceklerine dair gerçek bir anlayış sağlamaktır. İster temel PDF'leri oluşturup ister karmaşık düzenlerle uğraşıyor olun, IronPDF ve PDFKit'in ne yapabildiğini (ve yapamayacağını) anlamak oldukça önemlidir.
PDFKit
PDFKit, Node.js ve tarayıcı ortamları için gelişmiş bir JavaScript PDF oluşturma kütüphanesidir. Kapsamlı araç seti, çok sayfalı, yazdırılabilir belgeler oluşturmak için idealdir. Kitaplık, karmaşık belgelerin oluşturulma sürecini kolaylaştırmak için kolay kullanılacak şekilde tasarlanmıştır.
PDFKit, güçlü vektör grafik yetenekleri, kapsamlı metin ve yazı tipi stil seçenekleri, görüntü yerleştirme özellikleri ve etkileşimli ve güvenli PDF belgeleri desteği ile öne çıkar. Kullanım kolaylığı, sunucu ve tarayıcı ortamlarındaki çok yönlülükle birleştiğinde, çeşitli uygulamalarda özel PDF'lere ihtiyaç duyan geliştiriciler için değerli bir araç haline getirir.
PDFKit'in Ana Özellikleri
- Esnek PDF Üretimi
PDFKit, HTML-PDF dönüşümüne dayanmaz; yerine, PDF'leri doğrudan JavaScript kodu aracılığıyla oluşturur. Bu yaklaşım, geliştiricilere oluşturdukları PDF dosyalarının düzeni, stili ve içeriği üzerinde kesin kontrol sağlar, bu yüzden karmaşık belgelerin oluşturulması kolaylaşır.
- Grafik ve Metin Biçimlendirme
Kitaplık, çizgiler, eğriler, dikdörtgenler, daireler ve daha fazlası dahil gelişmiş grafik yeteneklerini destekler. Özel yazı tipleri, boyutlar ve renkler gibi metni biçimlendirme özellikleri, görsel olarak çekici belgeler oluşturulmasını sağlar.
- Görsel Gömme ve Vektör Grafikleri
PDFKit, çeşitli formatlarda görsellerin gömülmesine ve vektör grafiklerini desteklemeye olanak tanır, bu da onu yüksek kaliteli basılı belgeler için ideal hale getirir. Görüntü gömme, JPEG ve PNG dosyalarını destekler.
- Gelişmiş Belge Özellikleri
Geliştiriciler, PDF'lerine açıklamalar, yer imleri ve bağlantılar ekleyebilirler. Kitaplık ayrıca başlıklar ve altbilgiler oluşturmayı, ayrıca sayfa numaraları ve özel JavaScript dahil etmeyi destekler.
- Özelleştirilebilir ve Yeniden Kullanılabilir Bileşenler
PDFKit API'nin, tekrar eden yapılarla fatura veya raporlar gibi belgeler için gelişim sürecini hızlandıran yeniden kullanılabilir bileşenler oluşturulmasını kolaylaştırır.
- Vektör Grafikleri
PDFKit, vektör grafikleri için HTML5 kanvas benzeri bir API sunarak, yol işlemleri, SVG yol analizi, dönüşümler ve gradyanlar dahil. Bu, PDF'lerde ölçeklenebilir, yüksek kaliteli grafikler oluşturmak için idealdir. Kitaplık, satır sarma, çeşitli metin hizalama ve madde işaretli listeyi destekler.
- Gömülmüş Yazı Tipleri
PDFKit, TrueType, OpenType, WOFF ve daha fazlası gibi geniş bir yazı tipi formatını destekleyerek, PDF'lerde tutarlı tipografi sağlar. Yazı tipi alt setleme de mevcut, belge boyutunun yönetilebilir kalmasını sağlar.
IronPDF Node.js
IronPDF ile, HTML dizeleri, dosyaları veya hatta tüm web sayfalarını, CSS stili ve resimleri de içeren orijinal içerik gibi görünen PDF'lere kolayca dönüştürebilirsiniz. Bu, marka ve web tasarımları tarafından belirtilen düzeni koruması gereken faturalar, sözleşmeler ve raporlar gibi profesyonel belgeler sunmak için önemlidir.
IronPDF Node.js için'in Ana Özellikleri
HTML'den PDF'ye Dönüşüm
IronPDF, HTML içeriğinin yüksek doğrulukla PDF belgelerine dönüştürülmesinde son derece başarılıdır. Kapasiteleri şunları içerir:
- HTML Dizesinden PDF'ye: Bu özellik, dinamik HTML dizelerinin doğrudan PDF'lere dönüştürülmesine olanak tanır.
- HTML Dosyasından PDF'ye: Bu özellik ile, statik HTML dosyaları PDF formatına sorunsuz bir şekilde dönüştürülebilir ve düzen ve stil korunur.
- URL'den PDF'ye: IronPDF, URL aracılığıyla tüm web sayfalarını yakalayıp PDF'lere dönüştürebilir, bu da arşivleme ve çevrimdışı erişim için mükemmeldir.
PDF'leri Biçimlendirme
IronPDF, HTML içeriğinden oluşturulan PDF'lerin kişiselleştirilmesi ve geliştirilmesi için kapsamlı biçimlendirme araçları sunar, örneğin:
- HTML'de JavaScript'ten PDF'ye: IronPDF, dönüştürmeden önce HTML içinde JavaScript yürütmeyi yetenekli, bu da dinamik veriler veya etkileşimli öğelerin PDF'nin statik formatına render edilmesine olanak tanır.
- IronPDF ile Barkod Gömme: IronPDF, PDF'de barkod gömmeyi destekler, bu da lojistik, perakende ve envanter yönetiminde kullanılan belgeler için gerekli bir özellik.
- Sayfa Şablonlarını Uygula: Belge görünümü ve hissini standart hale getirebilirsiniz, bu önceden tanımlanmış yerleşimler kullanılabilir ve birden fazla PDF üzerinde tutarlılığı sağlamak için kullanılabilir.
- HTML'den PDF'ye Özel Yazı Tipleri: IronPDF, yazı tiplerini HTML içeriğinden doğrudan PDF'ye gömmenize izin verir, tüm belgelerde marka ve tasarımın uyumlu ve tutarlı olmasını sağlar.
Sayfa İçeriğini Düzenleme
IronPDF'in düzenleme yetenekleri geniştir, mevcut PDF'lerin belirli ihtiyaçlara göre değiştirilmesine olanak tanır:
- PDF Belgelerindeki Metni Bul ve Değiştir: Bu işlev, kullanıcıların PDF içinde metin araması ve değiştirmesi, güncellemeleri ve düzeltmeleri basit bir görev haline getirmesi sağlar.
- PDF'lere HTML İçerik Eklemek: Kullanıcılar mevcut bir PDF'ye daha fazla HTML içerik ekleyebilirler. Bu özellik, ek içeriklerin belgenin performansını veya yükleme sürelerini etkilememesi için optimize edilmiştir.
- PDF'lere Yeni İçerik Damgalamak: IronPDF, mevcut bir PDF sayfasına yeni içerik damgalayabilir veya kaplayabilir. Bu, resmi filigranlar eklemek, gizli damgalar kullanmak veya önceden var olan belgelerdeki bilgileri güncellemek için faydalıdır.
PDF Formlarını Kullanma
IronPDF, PDF formlarının oluşturulmasını ve manipüle edilmesini destekler, PDF'de interaktif öğelere olanak tanır:
PDF Formları: Bu, işletmelerin veri toplama sürecini otomatikleştirir. IronPDF ile programatik olarak formlar oluşturabilir, alanları doldurabilir ve hatta bilgi alabilir, bu da iş akışlarını hızlandırır ve manuel veri girişini düşürür.
Çapraz Platform Uyumluluğu
IronPDF, çeşitli platformları destekler ve farklı geliştirme ortamları için çok yönlüdür. Node.js sürüm 12.0 ve üstü ile uyumludur ve Windows, Linux, Mac ve Docker üzerinde kullanılabilir.
Kullanıcı Deneyimi ve Erişilebilirlik
- Kolay Kurulum: IronPDF'i kurmak, basit npm veya yarn komutları ile kolaydır. Kitaplığın işlevi için gerekli olan IronPDF Motoru, ilk çalıştırmada otomatik olarak indirilir.
- Hızlı Başlangıç İçin Örnek Kod: Kitaplık, çeşitli işlevler örneğin HTML'den PDF'ye dönüştürme için örnek kod parçacıkları sağlar, bu da geliştiriciler için uygulama sürecini kolaylaştırır.
Visual Studio Code'da JavaScript Projesi Oluşturma
Geliştirme Ortamınızı Ayarlama
PDF oluşturma dünyasına dalmadan önce, proje ortamınızı ayarlamanız gerekir. Visual Studio Code (VS Code) bu işlem için ideal, kullanıcı dostu bir platform sunar. VS Code'u başlatarak ve yeni bir JavaScript projesi oluşturarak başlayın. Bunu projeniz için yeni bir dosya kurup VS Code'da açarak yapabilirsiniz. Bu ortam, kodunuzu yazacağınız ve projenizin dosyalarını yöneteceğiniz yerdir.
Projenizi Başlatma
Klasörünüz VS Code'da açıldıktan sonra, bir JavaScript projesi başlatmanın bir sonraki adımıdır. VS Code'da entegre terminali açın (genellikle menüde Terminal > Yeni Terminal altında bulunur) ve npm init yazın. Bu komut, projenizin bağımlılıklarını ve meta verilerini yönetmek için kritik olan bir package.json dosyası oluşturmanızda size rehberlik edecek.
IronPDF Kütüphanesini Yükleyin
Projenize IronPDF Ekleme
JavaScript projeniz ayarlandığında, şimdi IronPDF kütüphanesini yükleme zamanı. VS Kod terminalinizde, şu komutu çalıştırın:
npm install ironpdfnpm install ironpdfBu komut IronPDF kütüphanesini alır ve yükler, projenizin bağımlılıklarına ekler.
Yüklemeyi Doğrulama
Kurulumdan sonra, IronPDF'nin package.json dosyanızın bağımlılıklar bölümünde listelendiğinden emin olun. Bu, IronPDF'in projenize doğru bir şekilde entegre edildiğinden emin olur ve kesintisiz PDF oluşturma ve manipulasyonu için zemin hazırlar.

PDFKit Kütüphanesini Kurun
PDFKit'i Entegre Etme
Sıradaki PDFKit, sağlam ve çok yönlü bir PDF belge oluşturma kütüphanesidir. PDFKit'i projenize eklemek için, VS Kod terminalinizde şu komutu çalıştırın:
npm install pdfkitnpm install pdfkitBu, PDFKit'i yükler ve projenizin bağımlılıklarına ekler.
Doğru Kurulumu Sağlama
Başarılı bir kurulum ardından, PDFKit'in package.json dosyanızın bağımlılıkları bölümünde göründüğünden emin olun. Bu doğrulama, projenizin artık karmaşık, detaylı ve görsel açıdan çekici PDF dosyaları oluşturmak için gerekli araçlarla donatıldığını doğrular.

IronPDF ve PDFKit'te HTML'den PDF'ye Özellik Karşılaştırması
IronPDF HTML-PDF Dönüşümü
IronPDF for Node.js, HTML'den PDF'ye dönüştürmede üstün, geliştiriciler için verimli bir çözüm sunar. Bu kütüphane, CSS stilini renderlama, JavaScript yürütme ve özel başlıklar ve altbilgiler ekleme gibi karmaşık görevleri ele almakta beceriklidir. Bu işlevsellikler, HTML kaynaklardan profesyonel düzeyde PDF'ler oluşturma yeteneğini önemli ölçüde artırır. IronPDF for Node.js bu dönüşüm işlemi için üç uygun yöntem sunar:
- HTML Dizgi'den PDF'ye
- HTML Dosya'dan PDF'ye
- URL'den PDF'ye: Bu benzersiz özellik, web sayfalarının PDF'lere dönüştürülmesini sadece URL'lerini kullanarak sağlar. Bu, canlı, çevrimiçi içeriği PDF formatında yakalamanın verimli bir yoludur.
HTML Diziğini PDF'ye Dönüştürme
Bu yöntem, geliştiricilerin doğrudan HTML kod dizeciklerini PDF dosyalarına dönüştürmelerine olanak tanır. Bu işlev, dinamik içerik oluşturma senaryoları için inanılmaz derecede faydalıdır. Özel raporlar oluşturuyor, anında faturalar üretiyor veya veriye dayalı içeriği süslü, profesyonel bir formatta sunmanız gerekiyorsa, bu özellik süreci basitleştirir.
import { PdfDocument, PdfGenerator } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";
import fs from "fs";
(async function createPDFs() {
try {
// Input the license key
const IronPdfConfig = {
licenseKey: "Your-License-Key",
};
// Set the config with the license key
IronPdfGlobalConfig.setConfig(IronPdfConfig);
// Create a PDF from the HTML String
const pdf = await PdfDocument.fromHtml(
"<h1>Hello JavaScript Developers! This is an Example PDF created with IronPDF Node.js!</h1>"
);
// Save the PDF document to the file system.
await pdf.saveAs("HtmlStringToPDF.pdf");
} catch (error) {
// Handle errors here
console.error("An error occurred:", error);
}
})();import { PdfDocument, PdfGenerator } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";
import fs from "fs";
(async function createPDFs() {
try {
// Input the license key
const IronPdfConfig = {
licenseKey: "Your-License-Key",
};
// Set the config with the license key
IronPdfGlobalConfig.setConfig(IronPdfConfig);
// Create a PDF from the HTML String
const pdf = await PdfDocument.fromHtml(
"<h1>Hello JavaScript Developers! This is an Example PDF created with IronPDF Node.js!</h1>"
);
// Save the PDF document to the file system.
await pdf.saveAs("HtmlStringToPDF.pdf");
} catch (error) {
// Handle errors here
console.error("An error occurred:", error);
}
})();Burada kodun çıktısını görebilirsiniz:

HTML Dosyalarını PDF'ye Dönüştürme
Bu işlev ile, geliştiriciler mevcut HTML dosyalarını PDF'lere dönüştürebilirler. Bu işlevsellik, statik HTML belgelerini işlemek için özellikle faydalıdır. Önceden tasarlanmış web sayfaları, standart formlar veya bilgi broşürleri ile çalışıyor olun, bu özellik onları PDF'lere dönüştürmenin doğrudan bir yolunu sunar.
import { PdfDocument } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";
import fs from "fs";
(async function createPDFs() {
try {
// Input the license key
const IronPdfConfig = {
licenseKey: "Your-License-Key",
};
// Set the config with the license key
IronPdfGlobalConfig.setConfig(IronPdfConfig);
// Create a PDF from the HTML File"
const pdf = await PdfDocument.fromFile("invoice.html");
// Save the PDF document to the file system.
await pdf.saveAs("invoice.pdf");
} catch (error) {
// Handle errors here
console.error("An error occurred:", error);
}
})();import { PdfDocument } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";
import fs from "fs";
(async function createPDFs() {
try {
// Input the license key
const IronPdfConfig = {
licenseKey: "Your-License-Key",
};
// Set the config with the license key
IronPdfGlobalConfig.setConfig(IronPdfConfig);
// Create a PDF from the HTML File"
const pdf = await PdfDocument.fromFile("invoice.html");
// Save the PDF document to the file system.
await pdf.saveAs("invoice.pdf");
} catch (error) {
// Handle errors here
console.error("An error occurred:", error);
}
})();Burada çıkış fatura PDF'sini görebilirsiniz:

URL'yi PDF'ye Dönüştürme
Bu özellik, web sayfalarının PDF'lere URL'lerini kullanarak dönüştürülmesini sağlar. Özellikle canlı, çevrimiçi içeriği yakalamak için kullanışlıdır. İster web sayfalarını arşivlemek ister çevrimdışı kopyalarını oluşturmak veya web tabanlı verilerden raporlar üretmek olsun, bu özellik bunu zahmetsizce ele alır.
import { PdfDocument } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";
import fs from "fs";
(async function createPDFs() {
try {
// Input the license key
const IronPdfConfig = {
licenseKey: "Your-License-Key",
};
// Set the config with the license key
IronPdfGlobalConfig.setConfig(IronPdfConfig);
// URL of the web page to convert to PDF
const url = "https://en.wikipedia.org/wiki/PDF";
// Convert the Web Page to a pixel-perfect PDF file.
const urlPDF = await PdfDocument.fromUrl(url);
// Save the document.
await urlPDF.saveAs("UrlToPdf.pdf");
} catch (error) {
// Handle errors here
console.error("An error occurred:", error);
}
})();import { PdfDocument } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";
import fs from "fs";
(async function createPDFs() {
try {
// Input the license key
const IronPdfConfig = {
licenseKey: "Your-License-Key",
};
// Set the config with the license key
IronPdfGlobalConfig.setConfig(IronPdfConfig);
// URL of the web page to convert to PDF
const url = "https://en.wikipedia.org/wiki/PDF";
// Convert the Web Page to a pixel-perfect PDF file.
const urlPDF = await PdfDocument.fromUrl(url);
// Save the document.
await urlPDF.saveAs("UrlToPdf.pdf");
} catch (error) {
// Handle errors here
console.error("An error occurred:", error);
}
})();İşte URL'den oluşturulan çıktı PDF dosyası:

PDFKit HTML'den PDF'e Dönüşüm
IronPDF gibi HTML'den PDF'e dönüşüm için başlıca olarak tasarlanmamış olmasına rağmen, PDFKit, JavaScript kodundan doğrudan PDF belgeleri oluşturmanın bir yolunu sunar. Aşağıda, basit bir PDF dosyası oluşturmayı gösteren bir örnek bulunmaktadır:
const PDFDocument = require('pdfkit');
const fs = require('fs');
let doc = new PDFDocument();
doc.pipe(fs.createWriteStream('output.pdf'));
doc.fontSize(25)
.text('PDFKit - Text to PDF Example', 100, 100);
doc.end();const PDFDocument = require('pdfkit');
const fs = require('fs');
let doc = new PDFDocument();
doc.pipe(fs.createWriteStream('output.pdf'));
doc.fontSize(25)
.text('PDFKit - Text to PDF Example', 100, 100);
doc.end();Bu kod parçası, bir metin başlğı olan bir PDF dosyası oluşturur. PDFKit HTML'yi doğrudan PDF'e dönüştürmezken, metin yerleştirme ve biçimlendirme üzerinde ayrıntılı kontrol imkanı tanır.
İşte PDFKit tarafından oluşturulan çıktı dosyası:

Esneklik ve Gelişmiş Özellikler
IronPDF Node.js
Şifreler, Güvenlik & Metadata: IronPDF, geliştiricilerin PDF dosyalarının güvenliğini çeşitli özelliklerle güçlendirmesine olanak tanır. Belgeyi görüntülemek için kullanıcıların bir şifre girmesini gerektiren ek bir koruma katmanı ekleyerek şifre belirlemeye olanak tanır. Ayrıca, IronPDF, PDF'nin içine yazar bilgileri, başlıklar ve anahtar kelimeler gibi metadataları gömmenizi sağlar, böylece belge yönetimi ve organizasyonu geliştirir.
import { PdfDocument } from "@ironsoftware/ironpdf";
(async () => {
// Import a PDF document or create a new PDF from Html
const pdf = await PdfDocument.open("encrypted.pdf", "password");
// Create an empty Map
const newMetadata = new Map();
// Add key-value pairs of metadata
newMetadata.set("Author", "Satoshi Nakamoto");
newMetadata.set("Keywords", "SEO, Friendly");
await pdf.overrideMetadata(newMetadata);
await pdf.removePasswordsAndEncryption();
// Make PDF read-only
await pdf.makePdfDocumentReadOnly("secret-key");
// Configure permissions
const permissions = {
AllowAnnotations: false,
AllowExtractContent: false,
AllowFillForms: false,
AllowPrint: true,
};
await pdf.setPermission(permissions);
// Change or set the document encryption password
await pdf.saveAs("secured.pdf", {
ownerPassword: "top-secret",
userPassword: "my-password",
});
})();import { PdfDocument } from "@ironsoftware/ironpdf";
(async () => {
// Import a PDF document or create a new PDF from Html
const pdf = await PdfDocument.open("encrypted.pdf", "password");
// Create an empty Map
const newMetadata = new Map();
// Add key-value pairs of metadata
newMetadata.set("Author", "Satoshi Nakamoto");
newMetadata.set("Keywords", "SEO, Friendly");
await pdf.overrideMetadata(newMetadata);
await pdf.removePasswordsAndEncryption();
// Make PDF read-only
await pdf.makePdfDocumentReadOnly("secret-key");
// Configure permissions
const permissions = {
AllowAnnotations: false,
AllowExtractContent: false,
AllowFillForms: false,
AllowPrint: true,
};
await pdf.setPermission(permissions);
// Change or set the document encryption password
await pdf.saveAs("secured.pdf", {
ownerPassword: "top-secret",
userPassword: "my-password",
});
})();PDF Şifreleme ve Şifre Çözme: Şifreleme ve şifre çözme, belge güvenliğinin önemli bileşenleridir ve IronPDF bunu kolayca halleder. Basit şifre korumasından gelişmiş şifreleme standartlarına kadar farklı seviyelerde şifreleme sunar, bu sayede hassas bilgiler güvende kalır. Şifre çözme özelliği de aynı şekilde sağlam olup, yetkili kullanıcılara şifreli belgeleri erişme ve değiştirme olanakları tanır.
Dijital İmzalar: Dijital dökümantasyonun olduğu bir çağda, kimlik doğrulama ve bütünlük çok önemlidir. IronPDF'in dijital imzaları özelliği, kullanıcıların PDF'lerini dijital olarak imzalamalarını sağlar, bu da belgenin kaynağının kimliğini doğrulamakla kalmaz, aynı zamanda imza uygulandıktan sonra belge değiştirilmediğini gösterir ve böylece özgünlüğünü garanti eder.
import { PdfDocument } from "@ironsoftware/ironpdf";
(async () => {
// Step 1. Import a PDF
const pdf = await PdfDocument.open("sample.pdf");
// Step 2. Sign the PDF with digital certificate
await pdf.signDigitalSignature({
certificatePath: "IronSoftware.pfx",
certificatePassword: "123456",
signingReason: "To show how to sign a PDF",
signingLocation: "Chicago, USA",
signatureImage: {
SignatureImagePath: "logo.png",
},
});
// Step 3. The PDF is not signed until saved to file.
await pdf.saveAs("signed.pdf");
})();import { PdfDocument } from "@ironsoftware/ironpdf";
(async () => {
// Step 1. Import a PDF
const pdf = await PdfDocument.open("sample.pdf");
// Step 2. Sign the PDF with digital certificate
await pdf.signDigitalSignature({
certificatePath: "IronSoftware.pfx",
certificatePassword: "123456",
signingReason: "To show how to sign a PDF",
signingLocation: "Chicago, USA",
signatureImage: {
SignatureImagePath: "logo.png",
},
});
// Step 3. The PDF is not signed until saved to file.
await pdf.saveAs("signed.pdf");
})();PDF Sıkıştırma: IronPDF, belgelerin etkili bir şekilde saklanması ve hızlı paylaşılması gereksinimini tanır. a PDF sıkıştırma özelliği içerir, bu da dosya boyutlarını önemli ölçüde azaltır, bu da depolama alanını optimize etmek ve içindeki içeriklerin kalitesini ve bütünlüğünü bozmadan belge aktarımını hızlandırmak için gereklidir.
import { PdfDocument } from "@ironsoftware/ironpdf";
(async () => {
// Load the existing PDF document
const pdf = await PdfDocument.fromFile("my-content.pdf");
// Compress images with quality parameter (1-100)
await pdf.compressSize(60);
// Save the compressed PDF
await pdf.saveAs("document_compressed.pdf");
// Compress images and scale down based on visible size in the PDF document
await pdf.compressSize(90, true);
// Save the scaled and compressed PDF
await pdf.saveAs("document_scaled_compressed.pdf");
})();import { PdfDocument } from "@ironsoftware/ironpdf";
(async () => {
// Load the existing PDF document
const pdf = await PdfDocument.fromFile("my-content.pdf");
// Compress images with quality parameter (1-100)
await pdf.compressSize(60);
// Save the compressed PDF
await pdf.saveAs("document_compressed.pdf");
// Compress images and scale down based on visible size in the PDF document
await pdf.compressSize(90, true);
// Save the scaled and compressed PDF
await pdf.saveAs("document_scaled_compressed.pdf");
})();İki veya Daha Fazla PDF'yi Birleştir: IronPDF, birçok PDF belgesini tek bir dosyada birleştirmek için basit bir çözüm sunar. Bu özellik, raporlar, sözleşmeler veya bir dizi form gibi çeşitli belgeleri birleştirme için son derece kullanışlıdır, böylece belge yönetimi ve dağıtımı daha iyi hale gelir.
Belirli PDF Sayfalarını Kaldırın: Düzenlemede esneklik her PDF aracı için anahtardır ve IronPDF, bir PDF belgesinden belirli sayfaları çıkarma yeteneği sunar. Bu, özellikle farklı kitleler için içeriği özelleştirirken veya gereksiz sayfaları çıkartarak daha özlü bir belge oluştururken faydalıdır.
PDFKit Gelişmiş Özellikler ve Genişletilebilirlik
Özelleştirilebilir Tasarım Motoru: PDFKit, PDF'nin tasarımının her yönü için geliştiricilere kontrol sağlayan özelleştirilebilir bir tasarım motoruna sahiptir, metin konumlandırmasından karmaşık grafik öğelerine kadar.
const PDFDocument = require('pdfkit');
const fs = require('fs');
let doc = new PDFDocument({ margin: 50 });
// Custom layouts
doc.text('Customized Layout Text', {
align: 'center',
valign: 'center',
});
doc.end();
doc.pipe(fs.createWriteStream('custom-layout.pdf'));const PDFDocument = require('pdfkit');
const fs = require('fs');
let doc = new PDFDocument({ margin: 50 });
// Custom layouts
doc.text('Customized Layout Text', {
align: 'center',
valign: 'center',
});
doc.end();
doc.pipe(fs.createWriteStream('custom-layout.pdf'));Bu örnekte, merkezde metin ile özelleştirilmiş bir düzen oluşturmak için PDFDocument kullanılmıştır.
Gelişmiş Grafik ve Metin Özellikleri: PDFKit, PDF dosyaları içinde ince ayarlı tasarım ve stil sağlamak için gelişmiş grafik ve metin özellikleri sunar. Şekillerin çizilmesine ve görüntülerin ve SVG'lerin eklenmesine olanak tanır. Metin söz konusu olduğunda, PDFKit, her sayfanın düzeninin tam olarak hayal edildiği şekilde olmasını sağlamak için temel metin kutularından gelişmiş tipografi kontrollerine kadar tam bir düzen seçeneği sunar.
const PDFDocument = require('pdfkit');
const fs = require('fs');
let doc = new PDFDocument();
// Advanced graphics
doc.moveTo(100, 150)
.lineTo(100, 250)
.lineTo(200, 250)
.fill("#FF3300");
// Advanced text
doc.fontSize(15)
.font('Times-Roman')
.text('Advanced Text Features', 100, 300);
doc.end();
doc.pipe(fs.createWriteStream('advanced-graphics-text.pdf'));const PDFDocument = require('pdfkit');
const fs = require('fs');
let doc = new PDFDocument();
// Advanced graphics
doc.moveTo(100, 150)
.lineTo(100, 250)
.lineTo(200, 250)
.fill("#FF3300");
// Advanced text
doc.fontSize(15)
.font('Times-Roman')
.text('Advanced Text Features', 100, 300);
doc.end();
doc.pipe(fs.createWriteStream('advanced-graphics-text.pdf'));
Akam ve Arabellek Yönetimi: PDFKit, büyük PDF dosyaları ve verilerini verimli bir şekilde yöneterek, akış ve arabellek yönetiminde mükemmel bir performans sergiler.
const PDFDocument = require('pdfkit');
const fs = require('fs');
const stream = require('stream');
let doc = new PDFDocument();
let buffers = [];
let writableStream = new stream.Writable();
writableStream._write = (chunk, encoding, done) => {
buffers.push(chunk);
done();
};
doc.pipe(writableStream);
doc.text('Streaming PDF Content');
doc.end();
writableStream.on('finish', () => {
let pdfData = Buffer.concat(buffers);
fs.writeFileSync('streamed.pdf', pdfData);
});const PDFDocument = require('pdfkit');
const fs = require('fs');
const stream = require('stream');
let doc = new PDFDocument();
let buffers = [];
let writableStream = new stream.Writable();
writableStream._write = (chunk, encoding, done) => {
buffers.push(chunk);
done();
};
doc.pipe(writableStream);
doc.text('Streaming PDF Content');
doc.end();
writableStream.on('finish', () => {
let pdfData = Buffer.concat(buffers);
fs.writeFileSync('streamed.pdf', pdfData);
});Özelleştirilebilir Üst ve Altbilgiler: Profesyonel bir görünüme sahip bir PDF oluşturmak ayrıntılara dikkat etmeyi gerektirir. PDFKit'in özelleştirilebilir başlık ve altbilgi özelliği, sayfaların üst ve alt kısımlarına metin ve grafiklerin tam konumlandırılmasına olanak tanır. Bu, tutarlı bir markalama, belge başlıkları ve çok sayfalı bir belge boyunca sayfalama eklemek için özellikle yararlıdır.
Etkileşimli Formlar: PDFKit, PDF dosyalarınızın içinde etkileşimli formlar oluşturma yeteneğini genişleterek, metin alanları, onay kutuları ve radyo düğmeleri oluşturmanıza olanak tanır. Bu özellik, bilgi toplamak veya etkileşimli içerik sağlamak isteyen kullanıcılar için çok değerlidir ve PDF'nin kullanıcı deneyimini ve işlevselliğini artırır.
Dokümantasyon ve Destek
IronPDF Node.js Dokümantasyonu ve Desteği
IronPDF'in dokümantasyonu, kitaplığın kullanımı için kapsamlı bir kılavuz sunar ve bir URL'yi PDF olarak işleme dönüştürme ve bir HTML dizesinden PDF oluşturma gibi temel özelliklerin ayrıntılı örneklerini içerir. PDF yazdırma için kağıt boyutu ve DPI ayarlama gibi özelleştirme seçenekleri ve belgelerin görünümüne ilişkin özelleştirme seçenekleri, örneğin mail merge alanlarına sahip başlıklar ve altbilgiler için sunulmaktadır. Dokümantasyon ayrıca özel WebClients kullanma, düzenlenebilir PDF formları oluşturma ve PDF'ler içinde JavaScript ile çalışma gibi daha gelişmiş konuları da kapsar. API'nin tam dökümantasyonunu ve daha fazla örneği görmek için dökümantasyona göz atabilirsiniz.
Başlıklar ve altbilgiler ayarlanırken, HTML ve metin seçenekleri iyi bir şekilde belgelenmiştir ve yer tutucudizeleri kullanılarak metadatalarla birleştirilmeyi sağlar. Lisans detayları sağlanmıştır, böylece kullanıcılar su damgasını nasıl kaldıracağını ve lisans alacağını öğrenebilirler. Dokümantasyon ayrıca, PDF başlıkları ve altbilgileri için ilk sayfa numarasının nasıl ayarlanacağını ve JavaScript, AJAX veya animasyonları dikkate alarak HTML işleme yapıldıktan sonra ne kadar süre bekleyeceğine dair ayrıntılar içerir.
Destek Seçenekleri
IronPDF, yaygın sorunları ele alan ve adım adım çözümleri sağlayan bir sorun giderme kılavuzu koleksiyonuna sahiptir. Bu, bir sorunu çözmeye çalışan kullanıcılar için ilk durak olabilir. Kılavuzlar aracılığıyla çözülemeyen veya daha karmaşık sorunlar için, IronPDF teknik destek sunar. Kullanıcılar, mühendislik desteği için bir istek gönderebilir ve bu, platform veya çalışma zamanı ayrıntıları gibi sorunun reprodüksiyonunu ve çözülmesini sağlamak için detaylı bilgi sağlamayı içerebilir. Ayrıca canlı sohbet seçeneğini kullanabilirsiniz.
PDFKit Dokümantasyon Kalitesi ve Erişilebilirliği
PDFKit'in npm dokümantasyonu, kütüphaneyi kolayca karmaşık, çok sayfalı, yazdırılabilir belgeler oluşturmak için bir araç olarak tanımlar. API'nin zincirleme özelliğini vurgular ve karmaşık belgeleri oluşturmanın birkaç işlev çağrısı kadar basit olabilmesini sağlamak için düşük seviyeli işlevler ve daha yüksek seviyeli işlevsellik için soyutlamalar içerir.
Dokümantasyonun özellikler bölümü kapsamlı olup vektör grafikler, metin, yazı tipi gömme, resim gömme, açıklamalar, form oluşturma, çevreleme ve PDF güvenliği başlıklarını kapsar ve kütüphanenin erişilebilir ve güvenli belgeler oluşturma yeteneğini gösterir.
Destek Seçenekleri
PDFKit, açık kaynaklı bir kütüphane olduğundan, topluluk desteğinden yararlanır. Sorunlar ve özellik istekleri, kullanıcıların koda katkıda bulunabilecekleri, sorunlar sunabilecekleri ve çekme isteklerinde bulunabilecekleri GitHub deposu aracılığıyla ele alınabilir. PDFKit'in etrafındaki topluluk, geliştiricilerin sıkça bilgilerini ve çözümlerini paylaştıkları Stack Overflow gibi resmi olmayan destek kanalları da sağlayabilir.
Lisans Modelleri
IronPDF'in Lisansı

IronPDF, ticari bir lisans modeliyle çalışır, bu da geliştiricilerin veya şirketlerin kütüphaneyi projelerinde kısıtlama olmaksızın kullanmak için bir lisans satın almaları gerektiği anlamına gelir.
Lite: $999 fiyatıyla, bu tek seferlik ücret küçük projeler için uygun bir temel paket sağlar.
Professional: $1,499 fiyatında, bu seviye profesyonel kullanım içindir ve daha fazla özellik ve yetenek sunar.
Unlimited: Sınırsız seviye $2,999 fiyatında ve tüm özelliklere sınırsız erişim sağlayarak büyük ölçekli dağıtımlar için idealdir.
IronPDF ayrıca, geliştiricilerin kütüphaneyi satın almadan önce değerlendirmelerini sağlayan bir ücretsiz deneme sürümü sunar. Ücretsiz veya freemium bir sürüm mevcut değildir ve premium danışmanlık veya entegrasyon hizmetleri sunulmaz.
PDFKit Lisansı
PDFKit bir açık kaynak kütüphanedir ve MIT Lisansı altında mevcuttur. Bu izinli lisans, yazılımın ücretsiz kullanımını, değiştirilmesini ve dağıtılmasını sağlar. Açık kaynaklı bir proje olduğundan, PDFKit'in bir fiyatlandırma yapısı yoktur. Herhangi bir projeye ücretsiz olarak entegre edilebilir ve kullanıcılar GitHub aracılığıyla geliştirmesine katkıda bulunabilirler. Proje bağış kabul eder, bu bağışlar zorunlu değildir ancak kütüphanenin devam eden geliştirmesine ve bakımına destek sağlar.
Sonuç
Sonuç olarak, IronPDF for Node.js ve PDFKit, sırasıyla kendi ortamlarında PDF oluşturma ve işleme işlevleri için güçlü araçlar olarak hizmet ederken, IronPDF for Node.js, Node.js platformuna özel olarak hazırlanmış geniş kapsamlı özellik seti ile bir avantaja sahiptir.
IronPDF'in HTML'yi PDF'ye dönüştürme, gelişmiş düzenleme ve JavaScript ve diğer zengin medya için kapsamlı destek sağlama yetenekleri, çeşitli PDF işleme görevleri için çok yönlü bir çözüm sunar. Ayrıca, IronPDF'in güvenlik konusundaki güçlü odaklanması ve ayrıntılı dokümantasyonu, geliştiriciler için erişilebilirlik ve güven düzeyi açısından çok önemlidir.
PDFKit, açık kaynaklı olduğundan, topluluk desteğini genişleten ve kaynak kodunu değiştirebilme yeteneği sağlayan bir esneklik ve kullanım kolaylığı sunar. Özellikleri etkileyicidir, özellikle de açık kaynaklı bir çözümün maliyet avantajları göz önünde bulundurulduğunda.
IronPDF, geliştiricilere finansal olarak taahhüt etmeden önce tüm özellik kapsamını değerlendirme fırsatı tanıyan bir ücretsiz deneme sunar. Ayrıca, IronPDF de dahil olmak üzere diğer değerli geliştirici araçlarını içeren Iron Software'ın Iron Suite, IronXL, IronBarcode, IronQR ve IronOCR gibi, kapsamlı bir işlevselliği iki ürün fiyatına getirerek uygun maliyetli bir paket sunar.
Sonuçta, IronPDF for Node.js ve PDFKit arasında yapılacak seçim, projenin özel taleplerine ve geliştiricinin veya geliştirme ekibinin tercihlerine bağlı olacaktır. Node.js ekosistemi içinde zengin bir özellik seti ve kapsamlı dokümantasyon arayanlar için, IronPDF for Node.js uygun bir seçim olarak öne çıkar.
Sıkça Sorulan Sorular
Node.js'de HTML'yi PDF'ye nasıl dönüştürebilirim?
Node.js'te HTML'den PDF'e dönüştürmek için IronPDF kullanabilirsiniz. IronPDF, HTML dizelerini veya dosyalarını yüksek kaliteli PDF'lere dönüştürmek için RenderHtmlAsPdf gibi yöntemler sunar ve düzeni ve stilini korur.
Node.js'te PDF oluşturmak için IronPDF kullanmanın avantajları nelerdir?
IronPDF, Node.js'te PDF oluşturmak için gelişmiş özellikler sunar, HTML'den PDF'e dönüştürme, JavaScript çalıştırma, özel yazı tipi desteği, dijital imzalar, PDF sıkıştırma ve güvenlik özellikleri içerir.
HTML'den PDF'e dönüştürme için PDFKit uygun mu?
PDFKit, özellikle HTML'den PDF'e dönüştürme için tasarlanmamıştır. JavaScript aracılığıyla doğrudan PDF oluşturmayı daha iyi başaran ve gelişmiş vektör grafikleri ve metin formatlaması ile karmaşık belge oluşturma için idealdir.
IronPDF ve PDFKit arasındaki başlıca farklar nelerdir?
IronPDF, HTML'den PDF'e dönüştürmede mükemmeldir, güçlü güvenlik özellikleri ve destek sunar. PDFKit, JavaScript aracılığıyla PDF oluşturma yeteneğiyle bilinir, vektör grafiklerine ve metin formatlamasına odaklanır. Seçim, HTML dönüştürme veya doğrudan PDF oluşturma ihtiyacınıza bağlıdır.
IronPDF, Node.js ile npm kullanılarak entegre edilebilir mi?
Evet, IronPDF, npm kullanılarak Node.js projelerine sorunsuz entegre edilebilir. Oluşturma ve düzenleme için güçlü özelliklerinden yararlanmalarına olanak tanıyan kapsamlı bir SDK sağlar.
IronPDF, PDF güvenlik özelliklerini nasıl ele alır?
IronPDF, dijital imzalar, parola koruması ve izin yönetimi gibi gelişmiş güvenlik özelliklerini destekler ve güvenli PDF belgeleri gerektiren uygulamalar için uygundur.
IronPDF kullanıcıları için hangi destek seçenekleri mevcuttur?
IronPDF, kapsamlı belgeler, sorun giderme kılavuzları ve teknik destek seçenekleri sunarak geliştiricilerin ihtiyaç duyulduğunda kaynaklara ve yardıma erişmesini sağlar.
IronPDF ve PDFKit hangi lisanslama modellerini sunar?
IronPDF, çeşitli katmanlara sahip bir ticari lisanslama modeli altında çalışır, PDFKit ise MIT Lisansı altında açık kaynaklıdır ve ücretsiz kullanım ve değiştirme olanağı sunar.






