TypeScript'te Core PDF API ile Nasıl Çalışılır
Bu kılavuz, TypeScript için Aspose.PDF FOSS ile PDF belgelerini açma, oluşturma, düzenleme, bölme ve kaydetme yöntemlerini gösterir. Document ve Page sınıfları, kütüphanedeki her işlem için giriş noktalarıdır — dosyaları açma ve oluşturma, sayfaları yerinde düzenleme, belgeleri bölme ve birleştirme ve sonucu kaydetme. Yalnızca Node.js 22 veya daha yenisi gereklidir.
Adım Adım Kılavuz
Adım 1: Paketi Kurun
git clone https://github.com/aspose-pdf-foss/Aspose.PDF-FOSS-for-TypeScript.git
cd Aspose.PDF-FOSS-for-TypeScript
npm install
npm run buildKurulumu, yeni bir TypeScript dosyasında Document sınıfını içe aktararak doğrulayın — paket kurulduktan sonra bu satır hatasız bir şekilde çözümlenmelidir:
import { Document } from '@asposefoss/pdf';Adım 2: Gerekli Sınıfları İçe Aktarın
PDF yüklemek veya oluşturmak için Document içe aktarın ve bir belgeyi sıfırdan başlatmayı planlıyorsanız PageFormat kullanın:
import { Document, PageFormat } from '@asposefoss/pdf';Adım 3: Mevcut bir PDF’yi Aç ve Sayfaları Düzenle
Document.OpenFile(), bir dosya yolundan PDF açar; Document.Open(), bellekteki bir Uint8Array kabul eder. Sayfalar incelenebilir ve yerinde düzenlenebilir, ve Document.WriteTo() sonucu geri yazar.
import { Document } from '@asposefoss/pdf';
// Open from disk (or Document.Open(uint8array) for in-memory data)
const doc = Document.OpenFile('input.pdf');
// Inspect and edit pages
const pages = doc.Pages;
console.log(pages.length);
pages[0].Rotate = 90;
doc.RemovePage(2); // 1-based page number
doc.Reorder([3, 1, 2]);
// Save
doc.WriteTo('output.pdf'); // or: const bytes = doc.Save();
Adım 4: Sıfırdan Yeni bir PDF Oluştur
Document.New(), belirli bir PageFormat üzerinde boş bir belge başlatır. Page.AddText(), konumlandırılmış metin yerleştirir ve Document.AddPage(), ek sayfalar ekler.
import { Document, PageFormat } from '@asposefoss/pdf';
const doc = Document.New(PageFormat.A4); // one blank A4 page
doc.Pages[0].AddText('Hello', 72, 720, { fontSize: 14 });
doc.AddPage(PageFormat.A4.landscape()); // append more as you go
doc.WriteTo('scratch.pdf');Adım 5: Sayfaları Böl, Çıkar ve Birleştir
Document.Split(), sayfa başına bir Document döndürür. Document.ExtractPages(), 1 tabanlı, tekrar izin verilen bir sayfa listesi alır ve sadece o sayfalara sahip yeni bir Document döndürür. Document.Append() ve Document.InsertPage(), sayfaları belgeler arasında kopyalar ve Document.Merge(), birkaç belgeyi tek bir belgeye birleştirir.
const parts = doc.Split(); // one Document per page
const chapter = doc.ExtractPages([3, 4, 5]); // subset (1-based, repeats allowed) as a new Document
docA.Append(docB); // copy all of docB's pages onto docA
docA.InsertPage(1, docB.Pages[0]); // copy a single page across documents
Yaygın Sorunlar ve Çözümler
Document.OpenFile() throws InvalidPasswordError. PDF şifre korumalı ve şifre (veya yanlış şifre) sağlanmadı. Pass { password: '...' } to Document.OpenFile() / Document.Open().
RemovePage() or ExtractPages() yanlış sayfayı kaldırır veya çıkarır. Bu yöntemler 1 tabanlı sayfa numaralarını alır, while doc.Pages düz bir 0 tabanlı dizi — iki indeksleme şeması karıştırılması kolaydır.
WriteTo() çıktı beklenenden daha büyük. Varsayılan kaydetme, xref/object-stream sıkıştırmasını kullanmaz. Pass { compressed: true } to Document.WriteTo() bunu etkinleştirmek için.
Yapılan düzenlemeler to doc.Pages[i] kaydedilen dosyada görünmez. Sayfa düzenlemeleri, çağrıdan önce yapılmalıdır. Document.WriteTo() / Document.Save() — ayrı bir “commit” adımı yoktur, ancak kaydetmeden sonra yapılan düzenlemeler, zaten diske yazılmış bir dosyada yansıtılmaz.
Sıkça Sorulan Sorular
Bir dosya yolu yerine bellekteki bir tampondan PDF nasıl yüklenir?
Uint8Array‘i Document.Open()‘e, Document.OpenFile()‘ye bir yol yerine geçirin.
Bir sayfayı nasıl döndürürüm?
page.Rotate değerini 90, 180 veya 270 olarak ayarlayın, ardından belgeyi Document.WriteTo() ile kaydedin.
Bir belgeden diğerine tek bir sayfayı kopyalayabilir miyim?
Evet — Document.InsertPage(at, sourcePage), tüm belgeyi kopyalamadan, verilen 1 tabanlı konumdaki başka bir belgeden bir sayfayı kopyalar.
Document.ExtractPages(), aynı sayfanın iki kez görünmesine izin verir mi?
Evet. Document.ExtractPages()‘a geçirilen sayfa numarası listesi tekrarları izin verir, bu yüzden aynı kaynak sayfa sonuçta birden fazla kez görünebilir.