ข้ามไปยังเนื้อหา
getnextpdf.com

Pro รุ่น

Barcode — การอ้างอิงเชิงลึก

พื้นผิวบาร์โค้ดของ NextPDF Pro เพิ่มระบบสัญลักษณ์ 2D เฉพาะทางและ supply-chain ทับบนโมดูลบาร์โค้ดของ Core โดยมาพร้อมตัวเข้ารหัส 2D ที่ resolve ผ่านรีจิสทรีหกตัว (Micro QR, DotCode, Han Xin Code, JabCode, rMQR, GS1 DataBar) ตัวเข้ารหัสส่วนประกอบ 2D ของ GS1 Composite หนึ่งตัว (CC-C) ตัวเข้ารหัส 1D ของ USPS Intelligent Mail และตัวแจง GS1 Application Identifier พร้อมตัวตรวจสอบ supply-chain การเข้ารหัสเป็นแบบกำหนดผลแน่นอน คือเพย์โหลดและอ็อพชันเดียวกันให้เมทริกซ์ module ที่เหมือนกันเสมอ หน้านี้ระบุ public API สัญญาพฤติกรรม โหมดความล้มเหลว และหลักฐานความสอดคล้องต่อระบบสัญลักษณ์

ความสามารถนี้มาพร้อมใน NextPDF Pro (nextpdf/pro) และเปิดใช้งานด้วย license envelope ระดับ Pro การติดตั้งที่ไม่มีสิทธิ์นั้นจะไม่โหลดคลาสของความสามารถนี้ เปรียบเทียบรุ่นและขอรับสิทธิ์ใช้งาน

Terminal window
composer require nextpdf/pro:^3

ระบบสัญลักษณ์แต่ละชนิดผูกชื่อความสามารถของตนเองใน license envelope: barcode.microqr, barcode.dotcode, barcode.hanxin, barcode.jabcode, barcode.rmqr, barcode.gs1databar และ barcode.gs1-composite-cc-c เมื่อความสามารถหนึ่งไม่มีสิทธิ์ใช้งาน รีจิสทรีจะไม่ resolve ตัวเข้ารหัสนั้น การเข้ารหัสสัญลักษณ์เต็มของ GS1 Composite CC-A และ CC-B ไม่รองรับ (ดูตารางสถานะการรองรับ) จึงไม่มีการลงทะเบียนคีย์ barcode.gs1-composite-cc-a หรือ barcode.gs1-composite-cc-b

คีย์รีจิสทรีมาจากค่า case ของ Core NextPDF\Barcode\Barcode2DType บวกกับคีย์ตามตัวอักษร gs1-composite-cc-c สำหรับตัวเข้ารหัสที่ resolve ผ่านรีจิสทรี คีย์รีจิสทรีคือสัญญาที่เสถียร ไม่ใช่ FQCN ของตัวเข้ารหัส

สัญลักษณ์พารามิเตอร์พฤติกรรมเริ่มต้นคืนค่าโยนหรือล้มเหลวด้วยหมายเหตุ
BarcodeProServiceProvider::register()BarcodeEncoderRegistry $registryผูกคีย์รีจิสทรีของ Pro ทั้งเจ็ดvoidstatic idempotent — การเรียกครั้งที่สองแทนที่การผูกครั้งแรก
MicroQrEncoder::encode()$data; อ็อพชัน ecLevel ('L', 'M', 'Q'; ค่าเริ่มต้น 'L'), version (1–4 หรือ null), mask (0–3 หรือ null)เลือกเวอร์ชันที่พอดีที่เล็กที่สุดโดยอัตโนมัติ M1–M4Barcode2DDataInvalidArgumentException'H' ที่ไม่รองรับถูกบังคับเป็น 'L' แบบเงียบ (ผู้เรียกที่ต้องการการเลือก EC แบบ fail-closed ต้องตรวจสอบล่วงหน้า) 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, ค่าเริ่มต้น auto)เวอร์ชันที่พอดีที่เล็กที่สุด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สัญลักษณ์ 8 สีเดี่ยวBarcodeColorDataInvalidArgumentException, JabCodeEncodingExceptionเมทริกซ์ module หลายสีพร้อมพาเลต
RmqrEncoder::encode()$data; อ็อพชัน ecLevel (RmqrConstants::EC_M ค่าเริ่มต้น, หรือ EC_H), version (เช่น 'R7x43', ค่าเริ่มต้น auto)เวอร์ชันที่พอดีที่เล็กที่สุดใน 32 เวอร์ชันของ ISO/IEC 23941Barcode2DDataInvalidArgumentExceptionปฏิเสธเพย์โหลดที่เกินความจุ ไม่ตัดทอนเลย
Gs1DataBarEncoder::encode()$data; อ็อพชัน variant (Gs1DataBarVariant, ค่าเริ่มต้น OMNIDIRECTIONAL), linkage (bool, ค่าเริ่มต้น false), height (int, ค่าเริ่มต้นคือค่าต่ำสุดของตัวแปร; ต่อแถวสำหรับ Expanded Stacked), segmentsPerRow (int, ค่าเริ่มต้น 4; เฉพาะ Expanded Stacked)เข้ารหัสอินพุต GTIN (ตระกูล §5/§6) หรือสตริงองค์ประกอบ GS1 AI (ตระกูล §7)Barcode2DDataInvalidArgumentException; InvalidSymbolStructureExceptionตัวแปร Annex J ของ ISO/IEC 24724 ทั้งเจ็ดเข้ารหัสได้
Gs1DataBarVariantisImplemented() คืนค่า true สำหรับทั้งเจ็ด caseenum (7 กรณี)minimumHeightX() และ defaultHeightX() ตาม Annex J
ImbEncoder::encode()string $code (20, 25, 29 หรือ 31 หลัก)แท่งสี่สถานะ 65 แท่งBarcodeDataInvalidArgumentExceptionอินเทอร์เฟซตัวเข้ารหัส 1D ไม่ใช่คีย์รีจิสทรี 2D
ImbEncoder::encodeToString()string $codeสถานะแท่งเป็นสตริง T/A/D/FstringInvalidArgumentExceptionสำหรับตรวจกับเวกเตอร์อ้างอิงของ USPS
Gs1DataParser::parse()string $dataตรวจจับ Digital Link URI อัตโนมัติ มิฉะนั้นเป็นรูปแบบ (AI)valueGs1ParsedDataInvalidArgumentExceptionนำสัญญา Core Gs1DataParserInterface ไปใช้
Gs1DataParser::parseDigitalLink()string $uriแจง GS1 Digital Link URIGs1ParsedDataInvalidArgumentException
Gs1DataParser::encodeForCode128() / ::encodeForQrCode() / ::encodeForDataMatrix()object $parsedลำดับไบต์ของตัวพาพร้อมแบบแผน FNC1 ของตัวพานั้นstringคาดหวังอินสแตนซ์ Gs1ParsedData
Gs1DataParser::validateAI()string $ai, string $valueตรวจโครงสร้างของค่า AI หนึ่งค่าbool
Gs1Validator::validate()string $barcodeData, Gs1SupplyChainProfile $profile (ค่าเริ่มต้น NONE)เส้นทางลัดแบบ static เหนือ run()Gs1ValidationResultความล้มเหลวในการแจงกลายเป็นผลการตรวจพบ ไม่ใช่ข้อยกเว้น
Gs1Validator::run()เหมือน validate()แจง check digit วันที่ กฎ cross-AI และโปรไฟล์Gs1ValidationResultเส้นทางแบบอินสแตนซ์ constructor รับตัวแจงที่ฉีดเข้ามา
Gs1SupplyChainProfileNONE ข้ามกฎโปรไฟล์enum (5 กรณี)RETAIL, FOOD, PHARMA, LOGISTICS, NONE; requiredAIs(), recommendedAIs(), primaryIdentifiers()
Gs1ValidationResultผลการตรวจพบถูกแบ่งตามความรุนแรงเมื่อสร้างreadonly classisValid, findings, errors, warnings, infos, parsedData; passes(), fails(), totalFindings()
Gs1ValidationFinding / Gs1FindingSeverityseverity, ruleId, message พร้อม ai และ suggestion ที่เป็นทางเลือกreadonly class / enumระดับความรุนแรง: Error, Warning, Info
CompositeComponentA::codewordsFor()string $dataการเข้ารหัส binary-string อเนกประสงค์ §5 การแปลง base-928 การตรวจตนเองแบบ round-triplist<int> (แต่ละค่า 0–927)InvalidArgumentExceptionป้อนให้ linkFor() หรือตัวเรนเดอร์ตัวพา CC-A ภายนอก
CompositeComponentA::encode()ถูกเพิกเฉยปฏิเสธการเรนเดอร์สัญลักษณ์เต็มของ CC-AUnsupportedBarcodeFeature (เสมอ)fail-closed ดูกรณีขอบ
CompositeComponentB::encode()ถูกเพิกเฉยปฏิเสธการเข้ารหัส 2D ของ CC-BUnsupportedBarcodeFeature (เสมอ)linkFor() ยังคงพร้อมใช้ (CCSI 901)
CompositeComponentC::encode()$data; อ็อพชันถูกส่งต่อไปยังตัวพา PDF417; carrierType (ค่าเริ่มต้น GS1_128)ตัวพา PDF417 เต็มโดยมี CCSI codeword 920 นำหน้าBarcode2DDataBarcodeException; CompositeLinkageExceptionรับเฉพาะตัวพา GS1_128 เท่านั้น
CompositeComponent{A,B,C}::linkFor()string $carrierId, array $codewords, CompositeCarrierType $carrierTypeจับคู่ codeword ของส่วนประกอบกับตัวพา 1DCompositeLinkageCompositeLinkageExceptionบังคับความยอมรับได้และความจุของตัวพา
CompositeVariant / CompositeCarrierTypeCC_A, CC_B, CC_C; GS1_DATABAR, GS1_128enumsmaxCodewords(), 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

factory รีจิสทรีเริ่มต้นของ Core pre-bind ตัวเข้ารหัสของ Pro เป็นรายการแบบ lazy ที่ต้องมีสิทธิ์ใช้งานความสามารถ BarcodeProServiceProvider::register() เป็นทางเลือกสำรองที่รองรับสำหรับแอปพลิเคชันที่ประกอบรีจิสทรีโดยไม่มีค่าเริ่มต้น เช่นการผสานเฟรมเวิร์กที่มีคอนเทนเนอร์ของตนเอง ตัวเข้ารหัสแต่ละตัวแปลงเพย์โหลดสตริงและอ็อพชันต่อระบบสัญลักษณ์เป็นอ็อบเจกต์ข้อมูลบาร์โค้ดที่ตัวเรนเดอร์หน้าแปลงเป็น operator เนื้อหา PDF

Gs1DataParser รับสตริง AI ที่อ่านได้โดยมนุษย์ ((01)09521234543213(17)260131) และ GS1 Digital Link URI โดยสร้างลำดับไบต์ที่เข้ารหัสสำหรับตัวพา GS1-128, QR Code และ Data Matrix พร้อมใช้แบบแผน FNC1 และตัวคั่นกลุ่มของแต่ละตัวพา Gs1Validator รันไปป์ไลน์ห้าขั้น: แจง check digit (GTIN, SSCC) ตรรกะวันที่ กฎ cross-AI และ AI ที่จำเป็นตามโปรไฟล์อุตสาหกรรม ความล้มเหลวในการแจงให้ผลลัพธ์ที่ไม่ถูกต้องซึ่งมีผลการตรวจพบ ไม่ได้โยนข้อยกเว้น ผลการตรวจพบถูกแบ่งตามความรุนแรงเป็น error, warning และ info

Gs1DataBarEncoder::encode() จ่ายงานตัวแปร Annex J ของ ISO/IEC 24724:2011 ทั้งเจ็ดผ่านสัญญาอ็อพชันเดียว Omnidirectional, Truncated, Stacked และ Stacked Omnidirectional ใช้พีชคณิตความกว้างองค์ประกอบ §5 ร่วมกันพร้อม check character แบบ mod-79 Limited ใช้พีชคณิต symbol-character §6 ของตนเองพร้อม check character แบบ mod-89 Expanded และ Expanded Stacked ใช้พีชคณิต §7 (17,4) คือ state machine การบีบอัดสามโหมด §7.2.5.5 แบบตัวเลข ตัวอักษรผสม และ ISO/IEC 646 บวกกับ check character แบบ mod-211 (§7.2.6) ตระกูล §5/§6 รับ GTIN-14 14 หลักพร้อม check digit แบบ mod-10 หรือการระบุรายการ 13 หลัก ตระกูล §7 รับสตริงองค์ประกอบ GS1 AI ดิบ (ตัวเลข ตัวอักษร ชุดย่อยเครื่องหมายวรรคตอน ISO/IEC 646 และ FNC1 เป็นไบต์ 0x1D) อ็อพชัน linkage ตั้งค่า linkage flag ของส่วนประกอบ 2D สำหรับใช้เป็นส่วนประกอบเชิงเส้นของสัญลักษณ์ GS1 Composite

CC-C สร้างส่วนประกอบขยาย 2D ที่สมบูรณ์บนตัวพา PDF417 เต็ม โดยแทรก CCSI codeword 920 ที่จำเป็นเป็น data codeword นำหน้า (ISO/IEC 24723:2010 §5.4) CC-A สร้าง data codeword แบบ base-928 ที่เป็นไปตามมาตรฐานผ่าน codewordsFor() พร้อมการตรวจตนเองแบบ round-trip encode-decode ที่ fail-closed แต่ปฏิเสธการเรนเดอร์สัญลักษณ์เต็ม CC-B ปฏิเสธการเข้ารหัส 2D ทั้งหมด linkFor() จับคู่ codeword ของส่วนประกอบกับตัวพา 1D เป็นค่า CompositeLinkage โดยบังคับความยอมรับได้และความจุของตัวพา

  • ตัวเข้ารหัสทุกตัวปฏิเสธเพย์โหลดว่างด้วย InvalidArgumentException
  • Micro QR: การขอระดับ error-correction H ที่ไม่รองรับถูกบังคับเป็น L แบบเงียบแทนที่จะล้มเหลว (ตรวจสอบอ็อพชันล่วงหน้าหากต้องการการเลือก EC แบบ fail-closed) เพราะ ISO/IEC 18004 นิยามเฉพาะ L, M และ Q สำหรับสัญลักษณ์ Micro QR
  • rMQR: ระดับ error-correction ต้องเป็น M หรือ H เพย์โหลดที่เกินความจุของ 32 เวอร์ชันถูกปฏิเสธ ไม่ถูกตัดทอนเลย
  • JabCode: จำนวนสีนอกชุด power-of-two ที่รองรับ ระดับ ECC นอกช่วง 0–10 หรือจำนวนสัญลักษณ์นอกช่วง 1–61 ถูกปฏิเสธ ความล้มเหลวในการเข้ารหัสปลายทางโยน JabCodeEncodingException
  • GS1 DataBar: ตระกูล §5/§6 ตรวจสอบ check digit แบบ mod-10 ของ GTIN และ Limited จำกัด indicator digit เป็น 0 หรือ 1 ตระกูล §7 ปฏิเสธอักขระที่เข้ารหัสไม่ได้และตัวคั่น FNC1 ที่ต่อท้ายหรือซ้ำ Expanded Stacked ปฏิเสธจำนวน symbol-character ที่เป็นเลขคี่ต่อแถวและความสูงต่อแถวที่ต่ำกว่าค่าต่ำสุด 34X การตรวจตนเองของโครงสร้างภายในล้มเหลวด้วย InvalidSymbolStructureException แทนที่จะปล่อยสัญลักษณ์ที่ผิดรูปแบบ
  • GS1 Composite: encode() ของ CC-A และ CC-B โยน UnsupportedBarcodeFeature เสมอ (fail closed) CC-C โยน BarcodeException เมื่อข้อมูลว่างหรือความจุ PDF417 ล้น (มากกว่า 925 codeword) และโยน CompositeLinkageException สำหรับตัวพาที่รับไม่ได้
  • การตรวจสอบ GS1 ตั้งค่าสถานะโครงสร้าง AI ที่ผิดรูปแบบและ check digit ที่ไม่ถูกต้องก่อนการเข้ารหัส สตริง supply-chain ที่ไม่ถูกต้องไม่เคยสร้างสัญลักษณ์ที่สแกนได้และเป็นไปตามมาตรฐาน
  • IMB รับเฉพาะอินพุต 20, 25, 29 หรือ 31 หลักเท่านั้น
  • การเข้ารหัสบาร์โค้ดไม่ดำเนินการเข้ารหัสลับ ไม่มีพฤติกรรมเฉพาะโหมด FIPS ตัวเข้ารหัสรันเหมือนกันไม่ว่าโปรไฟล์ FIPS จะเป็นอย่างไร

NextPDF นำระบบสัญลักษณ์เหล่านี้ไปใช้ตามมาตรฐานที่เผยแพร่ซึ่งอ้างถึงด้านล่างและปักหมุด reference trace ไว้ในชุดทดสอบ ข้อความบนหน้านี้เป็นการอ้างความสามารถ คือการรองรับไม่ใช่ความสอดคล้อง และความสอดคล้องไม่ใช่การรับรอง NextPDF ไม่ถือการรับรองระบบสัญลักษณ์ใด จุดยึดข้อถูกถอดความจากซอร์สของผลิตภัณฑ์และ fixture ความสอดคล้องของมัน คลังของ compliance-engine ไม่ครอบคลุมมาตรฐานระบบสัญลักษณ์บาร์โค้ด จุดยึดด้านล่างจึงอิงผลิตภัณฑ์โดยไม่มี reference identifier

พื้นผิวมาตรฐานจุดยึดข้อ (ถอดความ)
พีชคณิตความกว้างองค์ประกอบ GS1 DataBarISO/IEC 24724:2011§5.2 symbol-character structure; Annex F.1 worked example (Omnidirectional); Annex F.2 (Limited); Annex F.3 (Expanded)
เค้าโครง stacked ของ GS1 DataBarISO/IEC 24724:2011§5.4 Stacked; §5.5 Stacked Omnidirectional; §7.2.8 Expanded Stacked row partition and separators
การเข้ารหัส GS1 DataBar ExpandedISO/IEC 24724:2011§7.2.5.5 three-mode compaction state machine; §7.2.6 mod-211 check character
การเชื่อมโยง GS1 Composite และ CC-CISO/IEC 24723:2010§5.4 CCSI codeword semantics; §5.1 carrier admissibility
codeword ของ GS1 Composite CC-AISO/IEC 24723:2010§5 general-purpose binary-string encodation with base-928 conversion
โครงสร้างสัญลักษณ์ rMQRISO/IEC 23941:2022§6.3.2 Table 1 version dimensions; §7.8.2 fixed mask; Annex C / Annex I format-information reference
Micro QRISO/IEC 18004Micro QR M1–M4 capacity and format information
Han Xin CodeISO/IEC 20830:2021Symbol structure; finder and alignment patterns; GB 2312 Region 1/2 modes; Reed–Solomon ECC; masking
JabCodeISO/IEC 23634Symbol, colour, and ECC structure
ระบบสัญลักษณ์ไปรษณีย์USPS-B-3200Intelligent Mail Barcode field structure

ตัวแปรได้สถานะ Verified เมื่อ fixture ภายใต้ pro/tests/** ใช้งานมัน โดยควรเป็น reference trace ที่ปักหมุดกับตัวอย่างที่ทำงานแล้วซึ่งเผยแพร่ ตัวแปรที่มาพร้อมแต่ไม่มี fixture เฉพาะจะคงสถานะ Claimed ตัวแปรที่ไม่มีตัวเข้ารหัสคือ Not supported

ระบบสัญลักษณ์ / ตัวแปรสถานะหลักฐาน (เส้นทางทดสอบ)หมายเหตุ
Micro QR (M1–M4)Verifiedpro/tests/Unit/Barcode/MicroQrEncoderTest.phpระดับหน่วย fixture reference-trace ของตัวอย่างที่ทำงานแล้วเป็น backfill ที่ติดตามไว้
DotCodeVerifiedpro/tests/Unit/Barcode/DotCodeEncoderTest.php; DotCodeGfArithmeticTest.phpครอบคลุมเลขคณิต Galois-field ไม่มี round trip ของตัวถอดรหัสจากผู้ขาย
Han Xin CodeVerifiedpro/tests/Unit/Barcode/HanXinEncoderTest.php; HanXinRsEncodingTest.phpเส้นทางการเข้ารหัส Reed–Solomon ถูกใช้งานอย่างชัดแจ้ง
JabCode (1–61 symbols, 4–256 colors, ECC 0–10)Verifiedpro/tests/Unit/Barcode/JabCode/JabCodeEncoderTest.php (+ 11 component suite ในไดเรกทอรีเดียวกัน)cascade หลายสัญลักษณ์และช่วง ECC ถูกใช้งาน ไม่มี round trip ของตัวถอดรหัสจากผู้ขาย
USPS Intelligent Mail BarcodeVerifiedpro/tests/Unit/Barcode/ImbEncoderTest.php; ImbRoutingCodeTest.phpการตรวจสอบ routing-code และความยาว 20/25/29/31 หลักถูกใช้งาน
rMQR — all 32 ISO/IEC 23941 versionsVerifiedpro/tests/Conformance/Barcode/Rmqr/AnnexValidatedSizesTest.php; RmqrAnnexCFormatInfoTest.php; pro/tests/Unit/Barcode/Rmqr/RmqrEncoderTest.phpคู่เวอร์ชันและ EC ถูกตรวจกับ ISO/IEC 23941 Table 1 ค่าอ้างอิง format-information ตาม Annex C / Annex I
GS1 DataBar — Omnidirectional / TruncatedVerifiedpro/tests/Conformance/Barcode/Gs1DataBar/Gs1DataBarReferenceTest.phpbyte-equal กับตัวอย่างที่ทำงานแล้วของ Annex F.1 Truncated ใช้การเข้ารหัสร่วมกันที่ความสูงลดลง
GS1 DataBar — Stacked / Stacked OmnidirectionalVerifiedpro/tests/Conformance/Barcode/Gs1DataBar/Gs1DataBarStackedReferenceTest.phpการแยกแถวอนุพันธ์จาก trace ของ Annex F.1 การสร้างตัวคั่นตาม §5.4 และ §5.5
GS1 DataBar — LimitedVerifiedpro/tests/Conformance/Barcode/Gs1DataBar/Gs1DataBarLimitedReferenceTest.php; pro/tests/Unit/Barcode/Gs1DataBar/Gs1DataBarLimitedEncoderTest.phpbyte-equal กับตัวอย่างที่ทำงานแล้วของ Annex F.2 (item 00098765432105)
GS1 DataBar — ExpandedVerifiedpro/tests/Conformance/Barcode/Gs1DataBar/Gs1DataBarExpandedReferenceTest.php; pro/tests/Integration/Barcode/Gs1DataBarExpandedTwoDecoderTest.phpbyte-equal กับตัวอย่างที่ทำงานแล้วของ Annex F.3 ((10)12A) round trip ตัวถอดรหัสอิสระเทียบกับ zxing-cpp และ ZBar
GS1 DataBar — Expanded StackedVerifiedpro/tests/Unit/Barcode/Gs1DataBar/Gs1DataBarExpandedEncoderTest.php (กรณี stacked) round trip แบบ integration ด้านบนไปป์ไลน์ข้อมูลเดียวกับ Expanded แถวเดียว การแบ่งแถวและตัวคั่น §7.2.8 ถูก assert
GS1 Composite — CC-C (PDF417 carrier)Verifiedpro/tests/Conformance/Barcode/Gs1Composite/CompositeComponentCTest.php; CompositeRoundtripTest.php; CompositeLinkageTest.phpครอบคลุมการทำงานร่วมกันของ CCSI codeword 920 และ linkage-flag
GS1 Composite — CC-APartialpro/tests/Unit/Barcode/Gs1Composite/CompositeComponentACodewordTest.php; pro/tests/Conformance/Barcode/Gs1Composite/CompositeComponentATest.phpการสร้าง codeword Verified (base-928 การตรวจตนเองแบบ round-trip) การเรนเดอร์สัญลักษณ์เต็มไม่รองรับ — encode() fail closed
GS1 Composite — CC-BNot supportedpro/tests/Conformance/Barcode/Gs1Composite/CompositeComponentBTest.php (assert การปฏิเสธแบบ fail-closed)ไม่มีการเข้ารหัส 2D ตัวช่วยเชื่อมโยง (CCSI 901) ยังคงพร้อมใช้
GS1 AI parserVerifiedpro/tests/Unit/Barcode/Gs1DataParserTest.php; Gs1DataParserFnc1Test.phpทั้งสองรูปแบบอินพุตและเอาต์พุตลำดับไบต์ของตัวพาทั้งสามถูกใช้งาน
GS1 supply-chain validatorVerifiedpro/tests/Unit/Barcode/Gs1ValidatorTest.php; Gs1ValidatorCrossAiTest.php; pro/tests/Unit/Barcode/Gs1/Gs1ValidatorDateValidationEdgeCaseTest.phpcheck digit การรวม cross-AI ที่จำเป็น และตรรกะวันที่ถูกใช้งาน
  • จุดยึดหลักฐานบนหน้านี้เป็นเส้นทางทดสอบภายใต้ pro/tests/** repository ไม่มีไดเรกทอรี examples/ สำหรับโมดูลนี้
  • ชื่อความสามารถทั้งเจ็ดที่ระบุไว้ในหัวข้อความพร้อมใช้งานและการอนุญาตคือคีย์ที่ service provider ผูก ตัวเข้ารหัส IMB ถูกสร้างโดยตรงและไม่มีคีย์รีจิสทรี
  • CC-A ปล่อยเฉพาะเมธอด encodation อเนกประสงค์ เมธอดบีบอัดเฉพาะแอปพลิเคชันเป็นส่วนตกค้างด้านความหนาแน่นที่บันทึกไว้ ไม่ใช่ช่องว่างด้านความถูกต้อง

หน้านี้บันทึกเฉพาะพฤติกรรมที่สังเกตได้จากภายนอกและพื้นผิว public API ที่รองรับเท่านั้น เส้นทาง namespace ภายใน คลาสตัวช่วย ตารางกลไก ชื่อไฟล์ runbook และคำนำหน้า ticket อยู่นอกขอบเขต