تخطَّ إلى المحتوى
getnextpdf.com

Pro الإصدار

الباركود — مرجع متعمّق

يضيف سطح الباركود في ⁨NextPDF Pro⁩ رمزيات ثنائية الأبعاد ولسلسلة التوريد متخصّصة فوق وحدة الباركود في ⁨Core⁩. وهو يشحن ستة مُرمِّزات ثنائية الأبعاد مُحلّاة عبر السجلّ (⁨Micro QR⁩، ⁨DotCode⁩، ⁨Han Xin Code⁩، ⁨JabCode⁩، ⁨rMQR⁩، ⁨GS1 DataBar⁩)، ومُرمِّز مكوّن ثنائي الأبعاد واحدًا لـ ⁨GS1 Composite⁩ (⁨CC-C⁩)، ومُرمِّز ⁨USPS Intelligent Mail⁩ أحادي البعد، ومُحلِّل مُعرِّفات تطبيق ⁨GS1⁩ إضافةً إلى مُتحقِّق سلسلة التوريد. والترميز حتمي: تُنتِج الحمولة والخيارات نفسها دائمًا مصفوفة وحدات متطابقة. تُبيِّن هذه الصفحة الواجهة البرمجية العامة، وعقد السلوك، وأنماط الفشل، وأدلّة المطابقة لكل رمزية.

تُشحَن هذه القدرة ضمن ⁨NextPDF Pro⁩ (nextpdf/pro) وتُفعَّل بمظروف ترخيص من فئة ⁨Pro⁩. ولا يُحمِّل نشرٌ يفتقر إلى هذا الاستحقاق أصناف القدرة. قارِن الإصدارات واحصل على ترخيص.

Terminal window
composer require nextpdf/pro:^3

يربط كل ترميز اسم قدرته الخاصّ في مظروف الترخيص: barcode.microqr، barcode.dotcode، barcode.hanxin، barcode.jabcode، barcode.rmqr، barcode.gs1databar، وbarcode.gs1-composite-cc-c. وحين لا تكون قدرة ما مُرخَّصة، لا يحلّ السجلّ ذلك المُرمِّز. وترميز الرمز الكامل لـ ⁨GS1 Composite⁩ ⁨CC-A⁩ و⁨CC-B⁩ غير مدعوم (راجِع جدول حالة الدعم)، فلا يُسجَّل أي مفتاح barcode.gs1-composite-cc-a أو barcode.gs1-composite-cc-b.

سطح الواجهة البرمجية العامة

قسم بعنوان «سطح الواجهة البرمجية العامة»

تأتي مفاتيح السجلّ من قيم حالات NextPDF\Barcode\Barcode2DType في ⁨Core⁩ إضافةً إلى المفتاح الحرفي gs1-composite-cc-c. وفي المُرمِّزات المُحلّاة عبر السجلّ، مفتاح السجلّ هو العقد المستقرّ، لا الاسم الكامل المؤهَّل للصنف المُرمِّز.

الرمزالمُعامِلاتالسلوك الافتراضيالقيمة المُعادةيرمي أو يفشل بـملاحظات
BarcodeProServiceProvider::register()BarcodeEncoderRegistry $registryتربط مفاتيح سجلّ ⁨Pro⁩ السبعة جميعهاvoidساكنة؛ عديمة الأثر التراكمي — يستبدل استدعاء ثانٍ الربط الأول
MicroQrEncoder::encode()$data؛ الخيارات ecLevel ('L'، 'M'، 'Q'؛ الافتراضي 'L'version (1–4 أو null)، mask (0–3 أو null)يختار تلقائيًا أصغر نسخة ملائمة ⁨M1–M4⁩Barcode2DDataInvalidArgumentExceptionيُقسَر 'H' غير المدعوم بصمت إلى 'L' (على المُستدعِين المحتاجين اختيار ⁨EC⁩ بإغلاق آمن التحقّق المُسبَق)؛ وتتجاهل ⁨M1⁩ خيار ecLevel
DotCodeEncoder::encode()$data؛ الخيارات gs1 (bool، الافتراضي false)، columns (int)، rows (int)، ratio (float، الافتراضي 1.5)تحجيم شبكة تلقائي بنسبة عرض:ارتفاع 1.5Barcode2DDataInvalidArgumentExceptionقد تُفرَض أبعاد الشبكة لكل محور
HanXinEncoder::encode()$data؛ الخيارات ecLevel (0–3، الافتراضي 1)، version (1–84، الافتراضي تلقائي)أصغر نسخة ملائمةBarcode2DDataInvalidArgumentExceptionأوضاع نصّ ⁨GB 2312 Region 1/2⁩ وفق ⁨ISO/IEC 20830⁩
JabCodeEncoder::encode()$data؛ الخيارات colors (4، 8، 16، 32، 64، 128، 256؛ الافتراضي 8)، eccLevel (0–10، الافتراضي 3)، symbolNumber (1–61، الافتراضي 1)، symbolVersions، symbolPositions، symbolEccLevelsرمز واحد بثمانية ألوانBarcodeColorDataInvalidArgumentException، JabCodeEncodingExceptionمصفوفة وحدات متعدّدة الألوان مع لوحة ألوان
RmqrEncoder::encode()$data؛ الخيارات ecLevel (RmqrConstants::EC_M الافتراضي، أو EC_Hversion (مثلًا 'R7x43'، الافتراضي تلقائي)أصغر ملائم من نسخ ⁨ISO/IEC 23941⁩ الاثنتين والثلاثينBarcode2DDataInvalidArgumentExceptionيرفض الحمولات المتجاوزة للسعة؛ ولا يبتر مطلقًا
Gs1DataBarEncoder::encode()$data؛ الخيارات variant (Gs1DataBarVariant، الافتراضي OMNIDIRECTIONALlinkage (bool، الافتراضي false)، height (int، الافتراضي الحدّ الأدنى للمتغاير؛ لكل صف في ⁨Expanded Stacked⁩)، segmentsPerRow (int، الافتراضي 4؛ ⁨Expanded Stacked⁩ فقط)يُرمِّز مدخل ⁨GTIN⁩ (عائلة §5/§6) أو سلسلة عناصر ⁨GS1 AI⁩ (عائلة §7)Barcode2DDataInvalidArgumentException؛ InvalidSymbolStructureExceptionتُرمَّز متغايرات الملحق ⁨J⁩ في ⁨ISO/IEC 24724⁩ السبعة جميعها
Gs1DataBarVariantتُعيد isImplemented() القيمة true لكل الحالات السبعتعداد (7 حالات)minimumHeightX() وdefaultHeightX() وفق الملحق ⁨J⁩
ImbEncoder::encode()string $code (20 أو 25 أو 29 أو 31 رقمًا)65 شريطًا رباعي الحالةBarcodeDataInvalidArgumentExceptionواجهة مُرمِّز أحادي البعد؛ ليست مفتاح سجلّ ثنائي الأبعاد
ImbEncoder::encodeToString()string $codeحالات الأشرطة كسلسلة ⁨T/A/D/F⁩stringInvalidArgumentExceptionللفحص مقابل متّجهات ⁨USPS⁩ المرجعية
Gs1DataParser::parse()string $dataيكتشف تلقائيًا روابط ⁨Digital Link⁩، وإلا فتنسيق (AI)valueGs1ParsedDataInvalidArgumentExceptionيُنفِّذ عقد ⁨Core⁩ Gs1DataParserInterface
Gs1DataParser::parseDigitalLink()string $uriيحلّل رابط ⁨GS1 Digital Link⁩Gs1ParsedDataInvalidArgumentException
Gs1DataParser::encodeForCode128() / ::encodeForQrCode() / ::encodeForDataMatrix()object $parsedتسلسل بايتات الحامل بعُرف ⁨FNC1⁩ لذلك الحاملstringيتوقّع نسخة Gs1ParsedData
Gs1DataParser::validateAI()string $ai، string $valueفحص بنيوي لقيمة ⁨AI⁩ واحدةbool
Gs1Validator::validate()string $barcodeData، Gs1SupplyChainProfile $profile (الافتراضي NONE)مسار سريع ساكن فوق run()Gs1ValidationResultتصير إخفاقات التحليل نتائج، لا استثناءات
Gs1Validator::run()كما في validate()تحليل، أرقام تحقّق، تواريخ، قواعد ⁨AI⁩ متقاطعة، ملف تعريفGs1ValidationResultمسار نُسخي؛ يقبل الباني مُحلِّلًا محقونًا
Gs1SupplyChainProfileيتخطّى NONE قواعد ملف التعريفتعداد (5 حالات)RETAIL، FOOD، PHARMA، LOGISTICS، NONE؛ requiredAIs()، recommendedAIs()، primaryIdentifiers()
Gs1ValidationResultالنتائج مُقسَّمة بالشدّة عند الإنشاءصنف ⁨readonly⁩isValid، findings، errors، warnings، infos، parsedData؛ passes()، fails()، totalFindings()
Gs1ValidationFinding / Gs1FindingSeverityseverity، ruleId، message، وai وsuggestion اختياريانصنف ⁨readonly⁩ / تعدادالشدّات: Error، Warning، Info
CompositeComponentA::codewordsFor()string $dataترميز سلسلة ثنائية عام الغرض وفق §5، وتحويل أساس 928، وفحص ذاتي بدورة كاملةlist<int> (كلٌّ 0–927)InvalidArgumentExceptionغذِّ به linkFor() أو مُعرِض حامل ⁨CC-A⁩ خارجيًا
CompositeComponentA::encode()مُتجاهَلةيرفض عرض رمز ⁨CC-A⁩ الكاملUnsupportedBarcodeFeature (دائمًا)إغلاق آمن؛ راجِع الحالات الحديّة
CompositeComponentB::encode()مُتجاهَلةيرفض ترميز ⁨CC-B⁩ ثنائي الأبعادUnsupportedBarcodeFeature (دائمًا)يبقى linkFor() متاحًا (⁨CCSI 901⁩)
CompositeComponentC::encode()$data؛ خيارات مُمرَّرة إلى حامل ⁨PDF417⁩؛ carrierType (الافتراضي GS1_128)حامل ⁨PDF417⁩ كامل مع كلمة رمز ⁨CCSI⁩ 920 في الصدارةBarcode2DDataBarcodeException؛ CompositeLinkageExceptionالحامل GS1_128 وحده مقبول
CompositeComponent{A,B,C}::linkFor()string $carrierId، array $codewords، CompositeCarrierType $carrierTypeيقرن كلمات رمز المكوّن بحامل أحادي البعدCompositeLinkageCompositeLinkageExceptionيفرض قبول الحامل والسعة
CompositeVariant / CompositeCarrierTypeCC_A، CC_B، CC_C؛ GS1_DATABAR، GS1_128تعدادانmaxCodewords()، ccsi()، allowedCarriers()، usesFullPdf417()
public static function register(BarcodeEncoderRegistry $registry): void
public function encode(string $data, array $options = []): Barcode2DData
public static function validate(
string $barcodeData,
Gs1SupplyChainProfile $profile = Gs1SupplyChainProfile::NONE,
): Gs1ValidationResult
public function run(
string $barcodeData,
Gs1SupplyChainProfile $profile = Gs1SupplyChainProfile::NONE,
): Gs1ValidationResult
public function parse(string $data): Gs1ParsedData
public function parseDigitalLink(string $uri): Gs1ParsedData
public function encodeForCode128(object $parsed): string
public function encodeForQrCode(object $parsed): string
public function encodeForDataMatrix(object $parsed): string
public function validateAI(string $ai, string $value): bool
public function codewordsFor(string $data): array

يربط مصنع السجلّ الافتراضي في ⁨Core⁩ مُرمِّزات ⁨Pro⁩ سلفًا كمدخلات كسولة مُرخَّصة بالقدرات. وBarcodeProServiceProvider::register() هو الرجوع المدعوم للتطبيقات التي تؤلّف سجلًّا بلا افتراضيات، مثل تكاملات أطر العمل ذات الحاويات الخاصّة بها. ويحوّل كل مُرمِّز حمولة نصّية وخيارات خاصّة بكل رمزية إلى كائن بيانات باركود يحوّله مُعرِض الصفحة إلى معاملات محتوى ⁨PDF⁩.

يقبل Gs1DataParser سلاسل ⁨AI⁩ المقروءة ((01)09521234543213(17)260131) وروابط ⁨GS1 Digital Link⁩. وهو يُنتِج تسلسلات بايتات مُرمَّزة لحوامل ⁨GS1-128⁩ و⁨QR Code⁩ و⁨Data Matrix⁩، مُطبِّقًا عُرف ⁨FNC1⁩ وفاصل المجموعات لكل حامل. ويشغّل Gs1Validator خطّ أنابيب من خمس خطوات: التحليل، وأرقام التحقّق (⁨GTIN⁩، ⁨SSCC⁩)، ومنطق التواريخ، وقواعد ⁨AI⁩ المتقاطعة، ومُعرِّفات ⁨AI⁩ الإلزامية لملف تعريف الصناعة. ويُنتِج إخفاق التحليل نتيجةً غير صالحة تحمل النتائج؛ ولا يرمي استثناءً. وتنقسم النتائج بالشدّة إلى أخطاء وتحذيرات ومعلومات.

يوزّع Gs1DataBarEncoder::encode() متغايرات الملحق ⁨J⁩ في ⁨ISO/IEC 24724:2011⁩ السبعة جميعها عبر عقد خيارات واحد. ويتشارك ⁨Omnidirectional⁩ و⁨Truncated⁩ و⁨Stacked⁩ و⁨Stacked Omnidirectional⁩ جبر عرض العناصر في §5 مع رمز تحقّق mod-79. ويستخدم ⁨Limited⁩ جبر أحرف الرمز الخاصّ به في §6 مع رمز تحقّق mod-89. ويستخدم ⁨Expanded⁩ و⁨Expanded Stacked⁩ جبر §7 (17,4): آلة الحالة ثلاثية الأوضاع للضغط الرقمي والأبجدي الرقمي و⁨ISO/IEC 646⁩ في §7.2.5.5 إضافةً إلى رمز تحقّق mod-211 (§⁨7.2.6⁩). وتأخذ عائلة §5/§6 رقم ⁨GTIN-14⁩ من 14 خانة برقم تحقّق mod-10 أو معرِّف صنف من 13 خانة. وتأخذ عائلة §7 سلسلة عناصر ⁨GS1 AI⁩ خامًا (أرقام، وحروف، ومجموعة الترقيم الجزئية لـ ⁨ISO/IEC 646⁩، و⁨FNC1⁩ كبايت 0x1D). ويضبط الخيار linkage علم ربط المكوّن الثنائي الأبعاد لاستخدامه مكوّنًا خطّيًا لرمز ⁨GS1 Composite⁩.

يُنتِج ⁨CC-C⁩ مكوّنًا ممتدًّا ثنائي الأبعاد كاملًا فوق حامل ⁨PDF417⁩ الكامل، حاقنًا كلمة رمز ⁨CCSI⁩ الإلزامية 920 كأول كلمة رمز بيانات (⁨ISO/IEC 24723:2010⁩ §⁨5.4⁩). ويولّد ⁨CC-A⁩ كلمات رمز بيانات مطابقة بأساس 928 عبر codewordsFor()، مع فحص ذاتي بدورة كاملة ترميز‑فكّ ذي إغلاق آمن، لكنه يرفض عرض الرمز الكامل. ويرفض ⁨CC-B⁩ الترميز ثنائي الأبعاد كلّيًا. ويقرن linkFor() كلمات رمز المكوّن بحامل أحادي البعد كقيمة CompositeLinkage، فارضًا قبول الحامل والسعة.

الحالات الحديّة وأنماط الفشل

قسم بعنوان «الحالات الحديّة وأنماط الفشل»
  • يرفض كل مُرمِّز حمولةً فارغة بـ InvalidArgumentException.
  • ⁨Micro QR⁩: طلب مستوى تصحيح الأخطاء غير المدعوم H يُقسَر بصمت إلى L بدلًا من الفشل (تحقّق مُسبقًا من الخيارات إن كنت تتطلّب اختيار ⁨EC⁩ بإغلاق آمن)، لأن ⁨ISO/IEC 18004⁩ لا يعرّف لرموز ⁨Micro QR⁩ إلا L وM وQ.
  • ⁨rMQR⁩: يجب أن يكون مستوى تصحيح الأخطاء M أو H؛ وتُرفض الحمولة المتجاوزة لسعة النسخ الاثنتين والثلاثين، ولا تُبتَر مطلقًا.
  • ⁨JabCode⁩: يُرفض عدد ألوان خارج مجموعة أُسّ الاثنين المدعومة، أو مستوى ⁨ECC⁩ خارج 0–10، أو عدد رموز خارج 1–61؛ وتَرفع إخفاقات الترميز اللاحقة JabCodeEncodingException.
  • ⁨GS1 DataBar⁩: تتحقّق عائلة §5/§6 من رقم تحقّق ⁨GTIN⁩ mod-10، ويقصر ⁨Limited⁩ خانة المؤشِّر على 0 أو 1. وترفض عائلة §7 الأحرف غير القابلة للترميز وفواصل ⁨FNC1⁩ اللاحقة أو المكرّرة. ويرفض ⁨Expanded Stacked⁩ عدد أحرف رمز فرديًا لكل صف وارتفاعات لكل صف أدنى من الحدّ الأدنى 34X. وتفشل الفحوص الذاتية للبنية الداخلية بـ InvalidSymbolStructureException بدلًا من إصدار رمز مشوَّه.
  • ⁨GS1 Composite⁩: يرمي encode() في ⁨CC-A⁩ و⁨CC-B⁩ دائمًا UnsupportedBarcodeFeature (إغلاق آمن). ويرمي ⁨CC-C⁩ استثناء BarcodeException عند بيانات فارغة أو فيض سعة ⁨PDF417⁩ (أكثر من 925 كلمة رمز)، وCompositeLinkageException لحامل غير مقبول.
  • يُؤشِّر تحقّق ⁨GS1⁩ بنية ⁨AI⁩ المشوَّهة وأرقام التحقّق الخاطئة قبل الترميز؛ ولا تُنتِج سلسلة سلسلة توريد غير صالحة رمزًا مطابقًا قابلًا للمسح مطلقًا.
  • يقبل ⁨IMB⁩ مدخلات من 20 أو 25 أو 29 أو 31 خانة فقط.
  • لا يُجري ترميز الباركود أي تشفير. ولا يوجد سلوك خاصّ بوضع ⁨FIPS⁩؛ وتعمل المُرمِّزات على نحو متطابق بصرف النظر عن ملف تعريف ⁨FIPS⁩.

تُنفِّذ ⁨NextPDF⁩ هذه الرمزيات مقابل المعايير المنشورة المُقتبَسة أدناه، وتُثبِّت آثارًا مرجعية في مجموعة اختباراتها. والبيانات في هذه الصفحة ادّعاءات قدرة: الدعم ليس مطابقة، والمطابقة ليست اعتمادًا. ولا تحمل ⁨NextPDF⁩ أي اعتماد رمزية. ومراسي البنود مُعاد صياغتها من مصدر المنتج وتجهيزات مطابقته؛ ولا يغطّي مُدوَّن محرّك الامتثال معايير رمزيات الباركود، فالمراسي أدناه مُؤصَّلة بالمنتج دون مُعرِّفات مرجعية.

السطحالمعيارمرساة البند (مُعاد صياغتها)
جبر عرض عناصر ⁨GS1 DataBar⁩ISO/IEC 24724:2011§5.2 symbol-character structure; Annex F.1 worked example (Omnidirectional); Annex F.2 (Limited); Annex F.3 (Expanded)
التخطيطات المُكدَّسة لـ ⁨GS1 DataBar⁩ISO/IEC 24724:2011§5.4 Stacked; §5.5 Stacked Omnidirectional; §7.2.8 Expanded Stacked row partition and separators
ترميز ⁨GS1 DataBar Expanded⁩ISO/IEC 24724:2011§7.2.5.5 three-mode compaction state machine; §7.2.6 mod-211 check character
ربط ⁨GS1 Composite⁩ و⁨CC-C⁩ISO/IEC 24723:2010§5.4 CCSI codeword semantics; §5.1 carrier admissibility
كلمات رمز ⁨GS1 Composite CC-A⁩ISO/IEC 24723:2010§5 general-purpose binary-string encodation with base-928 conversion
بنية رمز ⁨rMQR⁩ISO/IEC 23941:2022§6.3.2 Table 1 version dimensions; §7.8.2 fixed mask; Annex C / Annex I format-information reference
⁨Micro QR⁩ISO/IEC 18004Micro QR M1–M4 capacity and format information
⁨Han Xin Code⁩ISO/IEC 20830:2021Symbol structure; finder and alignment patterns; GB 2312 Region 1/2 modes; Reed–Solomon ECC; masking
⁨JabCode⁩ISO/IEC 23634Symbol, colour, and ECC structure
الرمزية البريديةUSPS-B-3200Intelligent Mail Barcode field structure

يكون المتغاير مُتحقَّقًا منه حين يمارسه تجهيز تحت pro/tests/**، ويُفضَّل أثر مرجعي مثبَّت إلى مثال محلول منشور. والمتغاير المشحون بلا تجهيز مخصَّص يبقى مُدَّعى. والمتغاير بلا مُرمِّز هو غير مدعوم.

الرمزية / المتغايرالحالةالدليل (مسار الاختبار)ملاحظات
Micro QR (M1–M4)مُتحقَّق منهpro/tests/Unit/Barcode/MicroQrEncoderTest.phpعلى مستوى الوحدة؛ وتجهيز أثر مرجعي لمثال محلول هو إكمال مُتتبَّع
DotCodeمُتحقَّق منهpro/tests/Unit/Barcode/DotCodeEncoderTest.php; DotCodeGfArithmeticTest.phpحساب حقل غالوا مُغطّى؛ لا دورة كاملة لمُفكِّك مورّد
Han Xin Codeمُتحقَّق منهpro/tests/Unit/Barcode/HanXinEncoderTest.php; HanXinRsEncodingTest.phpمسار ترميز ⁨Reed–Solomon⁩ مُمارَس صراحةً
JabCode (1–61 symbols, 4–256 colors, ECC 0–10)مُتحقَّق منهpro/tests/Unit/Barcode/JabCode/JabCodeEncoderTest.php (+ 11 component suites in the same directory)تتالي متعدّد الرموز ونطاق ⁨ECC⁩ مُمارَسان؛ لا دورة كاملة لمُفكِّك مورّد
USPS Intelligent Mail Barcodeمُتحقَّق منهpro/tests/Unit/Barcode/ImbEncoderTest.php; ImbRoutingCodeTest.phpالتحقّق من رمز التوجيه وطول 20/25/29/31 خانة مُمارَس
rMQR — all 32 ISO/IEC 23941 versionsمُتحقَّق منهpro/tests/Conformance/Barcode/Rmqr/AnnexValidatedSizesTest.php; RmqrAnnexCFormatInfoTest.php; pro/tests/Unit/Barcode/Rmqr/RmqrEncoderTest.phpأزواج النسخة و⁨EC⁩ مفحوصة مقابل ⁨ISO/IEC 23941 Table 1⁩؛ وقيم مرجع معلومات التنسيق في الملحق ⁨C⁩ / الملحق ⁨I⁩
GS1 DataBar — Omnidirectional / Truncatedمُتحقَّق منهpro/tests/Conformance/Barcode/Gs1DataBar/Gs1DataBarReferenceTest.phpمطابق بايتيًا للمثال المحلول في الملحق ⁨F.1⁩؛ ويتشارك ⁨Truncated⁩ الترميز بارتفاع مُخفَّض
GS1 DataBar — Stacked / Stacked Omnidirectionalمُتحقَّق منهpro/tests/Conformance/Barcode/Gs1DataBar/Gs1DataBarStackedReferenceTest.phpتقسيم الصفوف مشتقّ من أثر الملحق ⁨F.1⁩؛ وبناء الفواصل وفق §5.4 و§5.5
GS1 DataBar — Limitedمُتحقَّق منهpro/tests/Conformance/Barcode/Gs1DataBar/Gs1DataBarLimitedReferenceTest.php; pro/tests/Unit/Barcode/Gs1DataBar/Gs1DataBarLimitedEncoderTest.phpمطابق بايتيًا للمثال المحلول في الملحق ⁨F.2⁩ (الصنف 00098765432105)
GS1 DataBar — Expandedمُتحقَّق منهpro/tests/Conformance/Barcode/Gs1DataBar/Gs1DataBarExpandedReferenceTest.php; pro/tests/Integration/Barcode/Gs1DataBarExpandedTwoDecoderTest.phpمطابق بايتيًا للمثال المحلول في الملحق ⁨F.3⁩ ((10)12A)؛ ودورة كاملة بمُفكِّك مستقلّ مقابل ⁨zxing-cpp⁩ و⁨ZBar⁩
GS1 DataBar — Expanded Stackedمُتحقَّق منهpro/tests/Unit/Barcode/Gs1DataBar/Gs1DataBarExpandedEncoderTest.php (stacked cases); the integration round trip aboveخطّ أنابيب البيانات نفسه كـ ⁨Expanded⁩ أحادي الصف؛ وتقسيم صفوف §7.2.8 والفواصل مؤكَّدة
GS1 Composite — CC-C (PDF417 carrier)مُتحقَّق منهpro/tests/Conformance/Barcode/Gs1Composite/CompositeComponentCTest.php; CompositeRoundtripTest.php; CompositeLinkageTest.phpكلمة رمز ⁨CCSI⁩ 920 وتفاعل علم الربط مُغطّيان
GS1 Composite — CC-Aجزئيpro/tests/Unit/Barcode/Gs1Composite/CompositeComponentACodewordTest.php; pro/tests/Conformance/Barcode/Gs1Composite/CompositeComponentATest.phpتوليد كلمات الرمز مُتحقَّق منه (أساس 928، فحص ذاتي بدورة كاملة)؛ وعرض الرمز الكامل غير مدعوم — يفشل encode() بإغلاق آمن
GS1 Composite — CC-Bغير مدعومpro/tests/Conformance/Barcode/Gs1Composite/CompositeComponentBTest.php (asserts fail-closed rejection)لا ترميز ثنائي الأبعاد؛ ويبقى مُعين الربط (⁨CCSI 901⁩) متاحًا
GS1 AI parserمُتحقَّق منهpro/tests/Unit/Barcode/Gs1DataParserTest.php; Gs1DataParserFnc1Test.phpكلا تنسيقَي المدخل ومخرجات تسلسل بايتات الحوامل الثلاثة مُمارَسة
GS1 supply-chain validatorمُتحقَّق منهpro/tests/Unit/Barcode/Gs1ValidatorTest.php; Gs1ValidatorCrossAiTest.php; pro/tests/Unit/Barcode/Gs1/Gs1ValidatorDateValidationEdgeCaseTest.phpأرقام التحقّق، وتركيبات ⁨AI⁩ الإلزامية المتقاطعة، ومنطق التواريخ مُمارَسة
  • مراسي الأدلّة في هذه الصفحة هي مسارات اختبار تحت pro/tests/**؛ ولا يشحن المستودع أي مجلّد examples/ لهذه الوحدة.
  • أسماء القدرات السبعة المُدرَجة تحت التوفّر والترخيص هي المفاتيح التي يربطها مزوِّد الخدمة. ويُنشَأ مُرمِّز ⁨IMB⁩ مباشرةً ولا يحمل مفتاح سجلّ.
  • يُصدِر ⁨CC-A⁩ طريقة الترميز عامة الغرض فقط؛ وطرائق الضغط الخاصّة بالتطبيق هي فائض كثافة موثَّق، لا فجوة صحّة.

توثّق هذه الصفحة السلوك القابل للرصد خارجيًا وسطح الواجهة البرمجية العامة المدعوم فقط. أما مسارات فضاء الأسماء الداخلية، وأصناف المساعِدة، وجداول الآليات، وأسماء ملفات كتيّبات التشغيل، وبادئات التذاكر، فخارج النطاق.