Enterprise الإصدار
Document E-Filing — مرجع متعمّق
لمحة سريعة
قسم بعنوان «لمحة سريعة»-
EFilingOptimizerيُجهّز ملف PDF للإيداع الإلكتروني لدى المحاكم في تمريرة واحدة ثابتة الترتيب: تطهير، ثم خطنة، ثم تقسيم بالحجم. -
EFilingProfileيُرمِّز قيود الولاية القضائية. وتغطّي المصانع المُضمَّنة US PACER وEU e-Justice وTaiwan Judicial Yuan. -
SizeAwareSplitterيفرض حدًّا أقصى للبايتات لكل جزء بإعادة تقسيم بأسلوب تحقّق-ثم-تصحيح. - المخرَج مُنتَج تسليم. ويجب ألّا يعود إلى مسارات التوقيع أو الأرشفة.
- لا تُجري الوحدة أي عمليات تشفير ولا تُصدِر أي استدعاءات شبكية صادرة.
التوفّر والترخيص
قسم بعنوان «التوفّر والترخيص»تُشحَن هذه القدرة في NextPDF Enterprise (nextpdf/enterprise) وتُفعَّل بمُغلَّف ترخيص من فئة Enterprise. والنشر الذي يفتقر إلى ذلك الاستحقاق لا يُحمِّل أصناف هذه القدرة. قارن الإصدارات واحصل على ترخيص.
يَحجُب حدُّ حزمة nextpdf/enterprise هذا السطح؛ ولا يوجد رمز قدرة منفصل لكل ميزة. ولا يوفّر أي إصدار Core أو Pro مُحسِّن إيداع إلكتروني.
سطح واجهة برمجة التطبيقات العامة
قسم بعنوان «سطح واجهة برمجة التطبيقات العامة»composer require nextpdf/enterprise:^3| الرمز | المُعامِلات | السلوك الافتراضي | القيمة المُعادة | يرمي أو يفشل بـ | ملاحظات |
|---|---|---|---|---|---|
EFilingOptimizer::optimize() | string $pdfData, ?EFilingProfile $profile = null | يُضبَط ملف التعريف افتراضيًا على EFilingProfile::pacer()؛ ويشغّل التطهير والخطنة والتقسيم بالحجم بترتيب ثابت | EFilingResult | InvalidArgumentException من خطوة التقسيم حين يكون مُدخَل تجاوز الحدّ ليس ملف PDF صالحًا؛ وإخفاقات التطهير والخطنة تتراجع إلى تحذيرات | المخرَج مُنتَج تسليم |
EFilingProfile::__construct() | $name, $maxFileSizeBytes = 26_214_400, $flattenForms = true, $removeJavaScript = true, $imageQuality = 75, $linearize = true, $compressObjectStreams = true | ملف تعريف ولاية قضائية غير قابل للتغيير | EFilingProfile | لا يرمي | سقوف مخصّصة للبوّابات التي لا مصنع مُضمَّن لها |
EFilingProfile::pacer() | لا شيء | سقف 25 MiB، وجودة صورة 75 | EFilingProfile | لا يرمي | US PACER |
EFilingProfile::euJustice() | لا شيء | سقف 10 MiB، وجودة صورة 70 | EFilingProfile | لا يرمي | بوّابة EU e-Justice |
EFilingProfile::taiwan() | لا شيء | سقف 10 MiB، وجودة صورة 70 | EFilingProfile | لا يرمي | Taiwan Judicial Yuan |
SizeAwareSplitter::splitByMaxSize() | string $pdfData, int $maxBytes | جزء واحد عندما يندرج المُدخَل؛ وإلا فتقدير ثم تحقّق ثم إعادة تقسيم | list<EFilingSegment> | InvalidArgumentException حين يفتقر مُدخَل تجاوز الحدّ إلى ترويسة %PDF | المُدخَل تحت الحدّ يُرجَع جزءًا واحدًا دون تحقّق |
EFilingResult::isSplit() | لا شيء | true عند وجود أكثر من جزء واحد | bool | لا يرمي | — |
EFilingResult::segmentCount() | لا شيء | العدد الكلّي للأجزاء | int | لا يرمي | — |
EFilingResult::compressionRatio() | لا شيء | optimizedTotalSize / originalSize | float | لا يرمي؛ و0.0 لمُدخَل أصلي فارغ | الأقل أفضل |
EFilingSegment | $pdfData, $pageRange, $sizeBytes, $segmentIndex | جزء مخرَج غير قابل للتغيير | كائن قيمة | لا يرمي | سلسلة نطاق صفحات مثل 1-25 أو all |
public function optimize(string $pdfData, ?EFilingProfile $profile = null): EFilingResultpublic function __construct( public string $name, public int $maxFileSizeBytes = 26_214_400, public bool $flattenForms = true, public bool $removeJavaScript = true, public int $imageQuality = 75, public bool $linearize = true, public bool $compressObjectStreams = true,) {}
public static function pacer(): selfpublic static function euJustice(): selfpublic static function taiwan(): selfpublic function splitByMaxSize(string $pdfData, int $maxBytes): arraypublic function __construct( public array $segments, public int $originalSize, public int $optimizedTotalSize, public array $optimizations = [], public array $warnings = [],) {}
public function isSplit(): boolpublic function segmentCount(): intpublic function compressionRatio(): floatعقد السلوك
قسم بعنوان «عقد السلوك»EFilingOptimizer::optimize() يشغّل مسارًا ثابت الترتيب على بايتات المُدخَل. الخطوة الأولى تُزيل المحتوى النشط عند ضبط removeJavaScript. وتُفوِّض إلى محرّك نزع المحتوى وإعادة بنائه بسياسة خاصة بالإيداع: تُزال إجراءات JavaScript وJavaScript المُسمّى وإجراءات التشغيل وإرسال النماذج واستيراد البيانات؛ وتُستبقى إجراءات URI (allowUriActions) لأن الإيداعات قد تحمل روابط مشروعة؛ وتُسطَّح التحديثات التزايدية في مراجعة واحدة (flattenIncrementalUpdates). الخطوة الثانية تخطن البايتات المُطهَّرة عبر NextPDF\Writer\Linearizer من Core عند ضبط linearize. الخطوة الثالثة تفرض maxFileSizeBytes الخاص بملف التعريف عبر SizeAwareSplitter.
يُقدِّر المُقسِّم عدد الصفحات لكل جزء من متوسّط حجم الصفحة، ثم يُقسِّم، ثم يتحقّق من كل جزء مُنتَج بمواجهة السقف. وأي جزء تجاوز الحدّ ولا يزال يمتدّ لأكثر من صفحة يُعاد تقسيمه تعاوديًا، مُنصِّفًا امتداد صفحاته في كل تمريرة، حتى يندرج كل ابن أو يصبح صفحة مفردة. ويحرس عمقُ إعادة تقسيمٍ محدود ضدّ عدم التقارب المرَضي. وتُعاد تسوية فهارس المخرَج لتبقى متّصلة وصفرية الأساس.
optimize() يستهلك ثلاثة حقول من ملف التعريف: maxFileSizeBytes وremoveJavaScript وlinearize. أما حقول flattenForms وimageQuality وcompressObjectStreams فقيود مُعلَنة في ملف التعريف لا يعمل بها optimize() في 3.1.0.
مخرَج الإيداع الإلكتروني مُنتَج تسليم، لا حالة في دورة حياة المستند. وملف PDF المُحسَّن أو المُقسَّم نهائي للإرسال ويجب ألّا يعود إلى مسار توقيع أو أرشفة؛ فإعادة المعالجة تكسر سلاسل التجزئة وسلامة الأدلّة.
تُهيّئ هذه الوحدة صيغًا للإيداع لدى المحاكم الإلكترونية / الحكومة كما هي مُهيَّأة. وهي لا تضمن القبول لدى أي محكمة أو سجلّ أو هيئة قضائية أو بوّابة إيداع. وتُرمِّز سقوف ملفات التعريف المُضمَّنة قيودًا منشورة شائعة على سبيل التيسير، لا تغذية حيّة من كل بوّابة؛ وقواعد البوّابات تتفاوت بحسب الولاية القضائية وتتغيّر. والتحقّق منها بمواجهة القواعد الحالية لسجلّ الوجهة مسؤولية المُقدِّم.
المعالجة داخل العملية ومحلّية. أما النقل إلى محكمة أو سجلّ أو بوّابة إيداع فخارج هذه الوحدة.
الحالات الحدّية وأنماط الإخفاق
قسم بعنوان «الحالات الحدّية وأنماط الإخفاق»- المُدخَل عند السقف أو تحته: جزء واحد بنطاق صفحات
all؛ وخطوة التقسيم تترك البايتات دون تغيير. - رفض التطهير (مثل مُدخَل يتعذّر تحليله): يُسجَّل التحذير
CDR sanitization rejected: <reason>ويستمرّ المسار بالبايتات الأصلية. - تمريرة تطهير لا تجد تهديدات: تُستبدَل البايتات مع ذلك بملف PDF المُعاد بناؤه، ويسجّل مُدخَل تحسين هذه التمريرة النظيفة.
- إخفاق الخطنة: يُسجَّل التحذير
Linearization skipped: <message>ويستمرّ المسار ببايتات غير مخطونة. - صفحة مفردة فوق السقف: غير قابلة للتقسيم فعلًا، تُرجَع دون تغيير جزءًا واحدًا فوق الحدّ. ولا يُسجَّل تحذير لهذه الحالة؛ فقارِن
sizeBytesلكل جزء بمواجهة سقف ملف التعريف قبل الإيداع. - بلوغ حدّ عمق إعادة التقسيم: يمرّ الجزء الذي تجاوز الحدّ دون تغيير بدلًا من الدوران.
-
compressionRatio()يُرجِع0.0عندما يكون المُدخَل الأصلي فارغًا. - لا تُجري الوحدة أي عمليات تشفير؛ ولا ينطبق وضع FIPS.
المطابقة
قسم بعنوان «المطابقة»| السلوك | المرجع | الحالة |
|---|---|---|
| تنظيم المخرَج المخطون (بيانات الصفحة الأولى في بداية الملف) | ISO 32000-2:2020 Annex F / Annex G | مبني بمواجهته |
| دلالات علاقة الملف المُرتبط | ISO 19005-3:2012 §6.7.8 | مُراعاة حيث تنطبق الحوامل |
| متطلّبات حامل الملف المُضمَّن | ISO 19005-4:2020 Annex A | مُراعاة حيث تنطبق الحوامل |
تستهدف الخطنة تنظيم PDF المخطون الذي يضع كل البيانات اللازمة لعرض الصفحة الأولى في بداية الملف من أجل وصول تزايدي فعّال.
تصف هذه الصفوف قدرة مبنية بمواجهة البنود المُستشهَد بها. والدعم ليس مطابقة، والمطابقة ليست اعتمادًا؛ ولا يحمل NextPDF أي اعتماد. ولا يضمن أي بيان في هذه الصفحة القبول لدى أي بوّابة إيداع.
تحمل هذه الصفحة export_control_class: legal-review-required. ولا يقدّم NextPDF مشورة قانونية. وقواعد الإيداع تتفاوت بحسب الولاية القضائية وتتغيّر؛ والوفاء بها مسؤولية المُقدِّم. استشر المستشار القانوني والإرشادات الحالية لسجلّ الوجهة.
ملاحظات التطوير
قسم بعنوان «ملاحظات التطوير»use NextPDF\Enterprise\Document\EFiling\EFilingOptimizer;use NextPDF\Enterprise\Document\EFiling\EFilingProfile;
$optimizer = new EFilingOptimizer();$result = $optimizer->optimize($pdfBytes, EFilingProfile::euJustice());
foreach ($result->segments as $segment) { // Persist $segment->pdfData; confirm $segment->sizeBytes fits the cap.}- افحص
$result->warningsقبل الإيداع. فالتطهير المرفوض أو الخطنة المُتخطّاة يظهر هناك، لا بوصفه استثناءً. - وقّع وأرشِف المستند المصدر أولًا؛ ثم حسِّن نسخة للتسليم. ولا تُعِد أبدًا توقيع جزء مُحسَّن أو ختمه أو أرشفته.
- تحقّق من
sizeBytesلكل جزء بمواجهة سقف ملف التعريف. فالصفحة غير القابلة للتقسيم والمتجاوزة للحدّ تصل إلى المخرَج بصمت. - للبوّابات التي لا مصنع مُضمَّن لها، ابنِ
EFilingProfileمخصّصًا بالسقف المنشور للبوّابة.
حدود النشر
قسم بعنوان «حدود النشر»توثّق هذه الصفحة السلوك المرصود خارجيًا وسطح واجهة برمجة التطبيقات العامة المدعوم فقط. أما مسارات أسماء النطاقات الداخلية، وأصناف المساعدة، وجداول الآليات، وأسماء ملفات أدلّة التشغيل، وبادئات التذاكر فخارج النطاق.