NextPDF compat-legacy genel bakışı
Bir bakışta
“Bir bakışta” başlıklı bölümnextpdf/compat-legacy, TCPDF uyumlu bir alternatiftir: TCPDF 6.x genel API’sini NextPDF’in Taşınabilir Belge Biçimi (PDF) 2.0 motoru üzerinde sunan bir uyumluluk katmanıdır. Tek bir amacı vardır: TCPDF 6.x’e hâlihazırda bağımlı olan kodun yeniden yazılmadan NextPDF motoru üzerinde çalışmasına yardımcı olmak; böylece her şeyi tek seferde değil, dosya dosya taşıyabilirsiniz.
TCPDF’in bir çatallaması değildir ve davranış açısından garantili bir klon da değildir. TCPDF’in çağrı imzalarını koruyan bağımsız bir uygulamadır. Kesin ifade şudur: incelenen yaklaşık 120 TCPDF 6.x yönteminden 94’ünü doğrudan yetkilendirmeyle kapsar; kalan yöntemlerde belgelenmiş davranış farkları vardır (bkz. /integrations/tcpdf-compat/method-coverage/).
Ne olduğu
“Ne olduğu” başlıklı bölüm- Bir geçiş yardımcısı. Paket, NextPDF uyumluluk ailesinin parçasıdır. Eski bir PDF kitaplığından uzaklaşmanıza yardımcı olur; kalıcı bir bağımlılık hâline gelmesi amaçlanmamıştır. Onu, modern API’yi benimsedikçe kaldıracağınız geçici bir iskele olarak düşünün.
- Bir API yüzeyi bağdaştırıcısı. TCPDF sınıf adını, yöntem adlarını, parametre sırasını ve 6.2.13 varsayılan değerlerini sağlar. Çağrıları bir
NextPDF\Core\Documentörneğine yetkilendirir. - Bağımsız, temiz oda yöntemiyle geliştirilmiş bir uygulama. Bu paket, TCPDF kaynak kodunu, derleme çıktılarını, yazı tipi verilerini veya telif hakkına tabi başka herhangi bir ifadeyi kopyalamaz ya da çevirmez. TCPDF adını yalnızca birlikte çalışabilirliği belirtmek için kullanır. Geçerli açıklama, paketin
NOTICEdosyasında yer alır.
Ne olmadığı
“Ne olmadığı” başlıklı bölüm- Bayt düzeyinde özdeş çıktı veren bir “doğrudan yedek” değildir. Yetkilendirilen yöntemlerde görünen sonuç uyumludur; ancak altta ayrı ve bağımsız bir PDF 2.0 uygulaması çalıştığı için oluşturulan PDF baytları farklılık gösterir.
- “%100 TCPDF uyumlu” değildir. Tanımlı bir yöntem kümesi, motorun karşılamadığı eski parametreleri kabul eder veya hiçbir işlem yapmaz. Bu yöntemler tek tek listelenmiş ve test edilmiştir — bkz. /integrations/tcpdf-compat/method-coverage/.
- Tek başına bir imzalama veya arşivleme ürünü değildir. Dijital imzalar ve PDF/A arşivleme uygunluğu, ticari bir NextPDF sürümüyle sınırlıdır. Bu belgelerde, sertifikalı, garantili veya hukuken geçerli imza sunulduğu yönünde herhangi bir iddia yer almaz.
Neden uyumluluk katmanı üzerinden geçiş yapmalısınız
“Neden uyumluluk katmanı üzerinden geçiş yapmalısınız” başlıklı bölümBüyük bir uygulamadaki her TCPDF çağrısını yeniden yazmak risklidir ve bunu aşamalı olarak yayımlamak zordur. Uyumluluk katmanı şunları yapmanızı sağlar:
- Bağımlılığı değiştirin, ardından değişiklik gerektirmeden nelerin çalıştığını görmek için mevcut test takımınızı çalıştırın.
- TCPDF davranışının birebir yeniden üretilemediği her yeri listeleyen bir denetim aracı olarak katı modu kullanın.
- Bu çağrı noktalarını modern NextPDF API’sine tek tek taşıyın; böylece uygulama bu süre boyunca yayımlanabilir durumda kalır.
Nihai durum, uyumluluk katmanının kaldırıldığı modern NextPDF\Core\Document API’sidir. Tam strateji için bkz. /integrations/tcpdf-compat/migration/.
NextPDF motorunda neler kazanırsınız
“NextPDF motorunda neler kazanırsınız” başlıklı bölümBağdaştırıcı bir TCPDF çağrısını yetkilendirdiğinde, çağrı bir PDF 2.0 (ISO 32000-2) motoru üzerinde çalışır; Advanced Encryption Standard (AES)-256 standart işleyici şifrelemesi kullanılabilir durumdadır ve bağdaştırıcının tamamında PHPStan Level 10 tür güvenliği sağlanır. Çıktı her zaman PDF 2.0 olarak yazılır; bağdaştırıcı daha eski PDF sürümlerini hedefleyemez (bkz. /integrations/tcpdf-compat/method-coverage/ §4).
Bağdaştırıcı, TCPDF 6.2.13’ten gelen bazı eski davranışları sıkılaştırır:
| Eski davranış | Bağdaştırıcı davranışı |
|---|---|
Error(), die() çağırır ve işlemi sessizce sonlandırır | Error(), RuntimeException fırlatır — gözlemlenebilir ve yakalanabilir |
| İşaretlemeden PHP çalıştırabilen HTML yöntemi | Bu kaçış yolu devre dışıdır — işaretleme PHP yürütmesini tetikleyemez |
Output() doğrudan çıktı verir ve çalışan çıktı arabelleklerini bozabilir | Çıktı güvenli bir hedef köprüsünden geçer |
| Korumasız header/footer özyinelemesi | Özyineleme korumalıdır |
Kapsam ve sürümler
“Kapsam ve sürümler” başlıklı bölümUyumluluk katmanı core dağıtımıyla birlikte gelir (nextpdf/compat-legacy, nextpdf/core ^3.0 gerektirir). Standart işleyici üzerinden şifreleme core içinde kullanılabilir. Dijital imzalar ve PDF/A arşivleme uygunluğu, ticari bir NextPDF sürümü gerektirir; bağdaştırıcı giriş noktalarını sunar, ancak core yolu bir imzalama ürünü değildir. Kesin açıklama için bkz. /integrations/tcpdf-compat/security-and-operations/.
Sonraki adımlar
“Sonraki adımlar” başlıklı bölüm- /integrations/tcpdf-compat/install/ — paketi kurun ve motor bağlantısını doğrulayın.
- /integrations/tcpdf-compat/quickstart/ — çalıştırılabilir, testle desteklenen ilk belgenizi oluşturun.
- /integrations/tcpdf-compat/method-coverage/ — her TCPDF yönteminin bu bağdaştırıcıda tam olarak ne yaptığını görün.
- /integrations/tcpdf-compat/migration/ — dosya dosya geçiş stratejisini planlayın.
- /integrations/tcpdf-compat/configuration/ — katı modu ve bağdaştırıcı ayarlarını yapılandırın.
- /integrations/tcpdf-compat/production-usage/ — bağdaştırıcıyı yük altında ve çalışanlarda çalıştırın.
- /integrations/tcpdf-compat/security-and-operations/ — şifrelemeyi, imzalama yaklaşımını ve sıkılaştırmayı gözden geçirin.
- /integrations/tcpdf-compat/troubleshooting/ — yaygın geçiş hatalarını giderin.
- /integrations/tcpdf-compat/integration/ / /integrations/tcpdf-compat/boot-and-discovery/ — cepheyi bir uygulamaya bağlayın ve genel sınıf takma adlarını kaydedin.
Ayrıca bkz.
“Ayrıca bkz.” başlıklı bölümdocs/TCPDF_COVERAGE.md— esas kapsam matrisi (depo içi)- Paket
NOTICEdosyası — bağımsız uygulama bildirimi