Aspose.PDF FOSS for TypeScript Özellikleri
Aspose.PDF FOSS for TypeScript Özellikleri
Bu sayfa, Aspose.PDF FOSS for TypeScript ana yetenek alanlarını ve bunların giriş noktası olarak çalışan sınıfları inceler, böylece mevcut görev için doğru geliştirici-kılavuzu sayfasını bulabilirsiniz. Her alan, kendi sayfasında ayrıntılı olarak ele alınmıştır.
Belge ve Sayfa Yönetimi
Document, her işlem için giriş noktasıdır: Document.New(), belirli bir PageFormat üzerinde boş bir belge başlatır ve Document.OpenFile() / Document.Open(), bir dosya yolundan ya da bellek içi baytlardan mevcut bir belgeyi yükler. doc.Pages, Page nesnelerinden oluşan bir dizi olup, Document.WriteTo() / Document.Save() sonucu geri yazar.
import { Document, PageFormat } from '@asposefoss/pdf';
const doc = Document.New(PageFormat.A4);
doc.Pages[0].AddText('Hello from Aspose.PDF FOSS!', 72, 720, { fontSize: 14 });
doc.WriteTo('hello.pdf');Bkz. Çekirdek API belge yaşam döngüsü, bölme, birleştirme ve sayfa montajı için.
Biçim Dönüştürme
Document.ToHtml(), Document.ToDocx() ve Document.ToMarkdown(), bir belgenin her sayfasını başka bir biçime render eder; aynı yöntemler Page üzerinde tek bir sayfayı render etmek için mevcuttur, ayrıca PNG raster çıktısı için Page.ToImage() ve bağımsız SVG için Page.ToSvg() bulunur.
const doc = Document.OpenFile('report.pdf');
const html = doc.ToHtml(); // standalone HTML, all pages
const png = doc.Pages[0].ToImage({ scale: 2 }); // PNG bytes for page 1
Bkz. Conversion tam dışa aktarma biçimleri ve seçenekler kümesi için.
Açıklamalar
Page.AddHighlight() ve kardeş Page.Add*() yöntemleri işaretleme ve şekil açıklamaları oluşturur; her biri canlı bir Annotation tutamağı döndürür. Annotation.Flatten(), bir açıklamanın görünümünü doğrudan sayfanın içerik akışına yerleştirir ve /Annots‘den kaldırır, böylece kalıcı ve etkileşimsiz hâle getirir.
const highlight = doc.Pages[0].AddHighlight({ quadPoints: [72, 700, 200, 700, 72, 685, 200, 685] });
highlight.Flatten();Bkz. Annotations tam açıklama türleri ve açıklama metnini arama kümesi için.
Formlar ve Alan Düzleştirme
AcroForm alanları doc.Form aracılığıyla, bir Form arabirimiyle ya da doğrudan bir Page‘de Page.AddTextField() / Page.AddCheckbox() kullanılarak oluşturulur. Form.AddTextField() ve Form.AddCheckbox() bir alan tutamağı döndürür; bu tutamağın kendi Flatten() yöntemi, Annotation.Flatten()‘in yaptığı aynı şekilde, onu statik içeriğe yerleştirir.
const field = doc.Form.AddTextField({
page: 0, rect: [72, 660, 300, 680], name: 'FullName', value: 'Jane Doe',
});
field.Flatten();Bkz. Forms tüm alan türleri seti için.
Security
Document.OpenFile() ve Document.Open() bir password seçeneğini kabul ederek korumalı belgeleri açar, ve Document.Save() kaydederken birini korumak için bir encrypt seçeneğini kabul eder. Document.Sign() ve Document.Certify() dijital imzalar ekler, ve Document.VerifySignatures() bir belgede zaten bulunan her imzayı kontrol eder.
import { Document, InvalidPasswordError } from '@asposefoss/pdf';
try {
const doc = Document.OpenFile('secret.pdf', { password: 'hunter2' });
doc.WriteTo('decrypted.pdf');
} catch (e) {
if (e instanceof InvalidPasswordError) console.error('wrong password');
else throw e;
}Bkz Security şifreleme, imzalama ve imza doğrulaması için.
Redaction
Page.AddRedact() sayfayı henüz değiştirmeden kırpma için dikdörtgen bir bölge işaretler; Page.ApplyRedactions() daha sonra içerik akışını yıkıcı bir şekilde yeniden yazar, işaretlenmiş içeriği kalıcı olarak kaldırır ve uygulanan kırpmaların sayısını döndürür.
page.AddRedact({ rect: [220, 550, 460, 566], fill: [0, 0, 0], overlayText: '[REDACTED]' });
const applied = page.ApplyRedactions();Bkz Redaction işaretleme modu vs. uygulanan redaksiyonlar hakkında daha ayrıntılı bilgi için.
Belge Yapısı ve Erişilebilirlik
Document.AutoTag(), sayfa düzeninden — yazı tipi boyutu kümelenmesine göre başlıklar, paragraflar ve (opts.alt ile) şekiller — bir /StructTreeRoot çıkarır ve yazar, ve bir AutoTagReport döndürür. Document.GetStructTree(), ortaya çıkan yapı ağacını geri okur ve Document.ValidatePdfUa(), belgeyi PDF/UA-1’ın makineyle kontrol edilebilir bir alt kümesiyle karşılaştırır.
const report = doc.AutoTag({ lang: 'en-US', title: 'Quarterly Report', tables: true });
console.log(report);Bkz Structure ana hatlar, etiketleme ve adlandırılmış hedefler için.
İpuçları ve En İyi Uygulamalar
- Doğrudan
doc.Pagesüzerinden erişilenPagenesnelerini değiştirin — canlı belgeden alınmamış, ayrı bir değişkende tutulan bir açıklama, alan veya sayfa,Save()/WriteTo()çağrıldığında yansıtılmaz. Flatten(),Annotationve form alanı tutamaçlarında (TextField,CheckboxFieldve diğer alan tipleri) mevcuttur — etkileşimli içerik kalıcı, düzenlenemez sayfa içeriği haline gelmeliyse bir kez çağırın.Page.ApplyRedactions()‘ı yalnızca o sayfa için tümPage.AddRedact()işaretleri eklendikten sonra çağırın; çağrıdan sonra eklenen işaretler uygulanmaz.- Güvenilmeyen girdiye
Document.OpenFile()/Document.Open()çağrısı yaparken, daha geniş bir yakalama öncesindeInvalidPasswordError‘ı özellikle yakalayın. Document.AutoTag(), bir sezgisel yapı ağacı üretir — tam erişilebilirlik uyumluluğunu varsaymak yerine sonucu her zamanDocument.GetStructTree()veyaValidatePdfUa()ile kontrol edin.
Yaygın Sorunlar
| Sorun | Neden | Düzeltme |
|---|---|---|
Document.OpenFile() / Document.Open() InvalidPasswordError‘yi fırlatır | Belge şifre korumalı ve şifre girilmedi ya da yanlış şifre sağlandı. | { password: '...' }‘ı Document.OpenFile() / Document.Open()‘e geçirin |
| Redaction mark etkisi yok | Page.ApplyRedactions() hiç çağrılmadı ya da işaret eklenmeden önce çağrıldı | Önce her işaret için Page.AddRedact()‘ı çağır, ardından Page.ApplyRedactions()‘ı bir kez çağır |
| Düzleştirilmiş alan veya ek açıklama hâlâ etkileşimli olarak görünüyor | Flatten(), Add*() çağrısı tarafından döndürülen tutamağın yerine bir kopya üzerinde çağrıldı | Flatten()‘ı doğrudan AddTextField() / AddHighlight() / vb. tarafından döndürülen nesne üzerinde çağırın. |
ValidatePdfUa(), AutoTag() sonrası eksik yapı raporlamaya devam ediyor | AutoTag() bir sezgisel yöntemdir ve bir alt geri çağrısı olmadan her şekli etiketlemeyebilir | Görseller için alternatif metin sağlamak üzere AutoTag()‘e bir opts.alt işlevi geçirin |
FAQ
Aspose.PDF FOSS for TypeScript bir ticari PDF motoruna mı bağlı?
Hayır. MIT lisansı altında yayınlanmıştır ve renderleme, dönüştürme ve imzalama mantığı tamamen TypeScript/JavaScript içinde çalışır.
Bir PDF’yi doğrudan HTML, Markdown veya DOCX’e dönüştürebilir miyim?
Evet — Document.ToHtml(), Document.ToMarkdown() ve Document.ToDocx() belgenin her sayfasını renderlar; eşdeğer Page.ToHtml() / Page.ToMarkdown() / Page.ToDocx() yöntemleri tek bir sayfayı renderlar.
İşaretleme ile redaksiyon uygulama arasındaki fark nedir?
Page.AddRedact() yalnızca bir bölgeyi işaretler — alttaki içerik hâlâ mevcut ve kopyalanabilir durumdadır, Page.ApplyRedactions() çağrılana kadar, bu da içeriği yok edici bir şekilde kaldırır.
Bir ek açıklamayı veya form alanını kalıcı ve düzenlenemez nasıl yaparım?
Flatten() işlevini, onu oluşturan Add*() çağrısının döndürdüğü nesne üzerinde çağırın — ek açıklamalar için Annotation.Flatten(), ya da AcroForm alanları için alan tutamacının kendi Flatten()‘si.
Sıradaki adım nerede?
Getting Started, kurulum ve ilk çalışan örneği kapsar. Bu geliştirici kılavuzu, yukarıda bağlantılı her yetenek alanı için ayrılmış sayfalarla devam eder.
API Reference Özet
| Sınıf/Yöntem | Açıklama |
|---|---|
Document | Giriş noktası — PDF oluştur, yükle, kaydet ve yönet |
Document.New() / Document.OpenFile() / Document.Open() | Boş bir belge başlatın veya bir dosya yolundan ya da bellek içi baytlardan birini yükleyin |
Document.WriteTo() / Document.Save() | Belgeyi bir dosya yoluna yazın veya bayt olarak döndürün |
Document.ToHtml() / Document.ToDocx() / Document.ToMarkdown() | Her sayfayı başka bir formata render edin |
Page.ToImage() / Page.ToSvg() | Tek bir sayfayı PNG veya SVG formatında oluştur |
Page.AddHighlight() ve diğer Page.Add*() ek açıklama yöntemleri | Bir ek açıklama oluştur, canlı bir işaretçi döndür |
Annotation.Flatten() | Ek açıklamanın görünümünü statik sayfa içeriğine işleyin |
Form / Form.AddTextField() / Form.AddCheckbox() | AcroForm fasad ve alan oluşturma |
Document.Sign() / Document.Certify() / Document.VerifySignatures() | Dijital imzaları ekleyin veya doğrulayın |
Page.AddRedact() / Page.ApplyRedactions() | İçerik redaksiyonunu işaretle ve uygula |
Document.AutoTag() / Document.GetStructTree() | Yazar ve belgenin mantıksal yapı ağacını oku |