Sorun giderme bilgi tabanı
Bu bilgi tabanının kapsamı
“Bu bilgi tabanının kapsamı” başlıklı bölümKarşılaştığınız hatayı nedeni ve çözümüyle eşleştirmek için bu bilgi tabanını kullanın. Her giriş, varsayıma değil motorun kendi istisna sınıflarına, hata yolu testlerine ve kaynak korumalarına dayanır. Motorun belirli bir hata için kod yolu yoksa bu bilgi tabanı da bir yol uydurmaz.
Bilgi tabanı dört konu sayfası içerir:
- İmza doğrulama — geçersiz imzalar, eksik zincirler, bilinmeyen iptal durumu ve zaman damgası hataları.
- PDF/A ve PDF/UA doğrulama — eksik çıktı amacı, etiketlenmemiş içerik, eksik dil ve gömülü yazı tipi hataları dahil olmak üzere Portable Document Format/Archive (PDF/A) ve Portable Document Format/Universal Accessibility (PDF/UA) sorunları.
- Yazı tipleri ve etiketleme — yazı tipinin bulunamaması, alt küme oluşturma, CJK kapsamı ve yapı ağacı sorunları.
- Şifreleme ve izinler — şifre çözme hataları ve izin bayrağı sınırı.
Bir giriş nasıl okunur
“Bir giriş nasıl okunur” başlıklı bölümHer girişin beş bölümü vardır:
- Belirti — gördüğünüz şey: bir istisna sınıfı, bir mesaj parçası veya bir alt akış doğrulayıcısının kararı.
- Olası neden — motorun bildirdiği girdi veya yapılandırma koşulu.
- Kanıt / tanılama — nedeni nasıl doğrulayacağınız. Bu bölüm, davranışı gösteren tam istisna sınıfını,
getContext()alanını veya testi adlandırır; böylece tahmin etmek yerine doğrulayabilirsiniz. - Çözüm — nedeni ortadan kaldırmak için izlenecek sıralı adımlar.
- İlgili — bir sonraki okuyacağınız modül başvuru sayfası veya kardeş giriş.
Bir hatayı istisna türüne göre belirleme
“Bir hatayı istisna türüne göre belirleme” başlıklı bölümNextPDF hataları dize hata koduyla değil, PHP sınıfıyla tanımlar. İstisna sınıflarında hiçbir NPDF-#### sabiti yer almaz. Hedefli bir yanıta ihtiyaç duyduğunuzda yaprak istisnayı yakalayın ve yapılandırılmış tanılama alanlarını okumak için ContextAwareExceptionInterface::getContext() yöntemini kullanın. Temel tür olarak NextPDF\Exception\NextPdfException öğesini kullanın; güvenlik hataları ayrıca NextPDF\Security\Exception\SecurityException türünü de kullanır.
Tam hiyerarşi ve yakalama sırası kuralları için istisna başvurusuna bakın.
<?php
declare(strict_types=1);
use NextPDF\Exception\NextPdfException;use NextPDF\Contracts\ContextAwareExceptionInterface;
try { // ... engine call ...} catch (NextPdfException $e) { $context = $e instanceof ContextAwareExceptionInterface ? $e->getContext() : []; \error_log($e->getMessage()); // $context carries snake_case primitive fields safe to serialize.}Kapsam ve sınır
“Kapsam ve sınır” başlıklı bölümBu bilgi tabanı, motorun hataları nasıl algıladığını ve bildirdiğini kapsar. veraPDF veya callas gibi harici doğrulayıcılardan gelen uygunluk kararlarını kapsamaz; bu araçlar kendi kural kümelerini uygular. Motor, bir belgenin profil içinde kalmasını sağlamak için bir işlemi reddettiğinde, örneğin PDF/A kapsamında şifrelemeyi reddettiğinde, ilgili giriş geçerli hükmü ve bunu uygulayan istisnayı belirtir.
Ayrıca bkz.
“Ayrıca bkz.” başlıklı bölüm- İstisna başvurusu — tam hiyerarşi, yakalama sırası ve
getContext()sözleşmesi - Uygunluk başvurusu — PDF/A, PDF/UA ve PDF/X profil denetleyicileri
Sözlük: bağlam farkında istisna