İçeriğe geç

NextPDF compat-legacy genel bakışı

nextpdf/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/).

  • 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 NOTICE dosyasında yer alır.
  • 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üm

Bü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:

  1. 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.
  2. TCPDF davranışının birebir yeniden üretilemediği her yeri listeleyen bir denetim aracı olarak katı modu kullanın.
  3. 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/.

Bağ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ırError(), RuntimeException fırlatır — gözlemlenebilir ve yakalanabilir
İşaretlemeden PHP çalıştırabilen HTML yöntemiBu 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

Uyumluluk 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/.

  • /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.
  • docs/TCPDF_COVERAGE.md — esas kapsam matrisi (depo içi)
  • Paket NOTICE dosyası — bağımsız uygulama bildirimi