ما الذي قد يتسبب في عدم مسح الرموز الشريطية Code128 التي تم إنشاؤها من مكتبة netbarcodewriter؟

StackOverflow https://stackoverflow.com//questions/20045056

  •  26-12-2019
  •  | 
  •  

سؤال

أحاول استخدام netbarcodewriter من https://github.com/simongh/barcodes لإنشاء الباركود code128.لا يمكن مسح الرمز الشريطي الذي تم إنشاؤه إلا من خلال بعض تطبيقات الهواتف الذكية، ولكن ليس من خلال أي ماسحات ضوئية تعمل عبر USB أو ماسحات ضوئية متينة تعمل بنظام Windows Mobile 6.

على سبيل المثال، تُظهر الصور المرفقة "502337700000000198" مشفرة من مصادر مختلفة، وتطبيق هاتف ذكي واحد فقط (iOS) - يمكن لـ Zbarcode مسح الرمز الشريطي الذي تم إنشاؤه بواسطة netbarcodewriter 1, ، والبعض الآخر (attscanner) لا يستطيع ذلك.لا تقوم أي من الماسحات الضوئية USB أو محطات Windows ce القوية بمسحها ضوئيًا أيضًا.

from netbarcodewriter

from raco

from itextsharp

string huid = "502337700000000198";

short w = 251;
short h = 100;
short x = 28;
Code128 code = new Code128();

var b2mp = code.Generate(huid, new BarcodeSettings { BarHeight = 65, WideWidth = w - 2 * x });
b2mp.Save(string.Format(@"c:\temp\{0}.png", huid), ImageFormat.Png);

عندما تم إنشاؤها بواسطة itextsharp 3 أو على مواقع مثل racoindustries.com/barcodegenerator/1d/code-128.aspx 2, ، جميع الماسحات الضوئية تعمل.الرمز الشريطي الخاص بـ iTextSharp صغير جدًا، ولا يمكن تعيين خاصية BarcodeSize.

هل عمل أحد مع هذه المكتبة؟أيضًا، هل يعرف أحد ما تفعله تلك المستطيلات الرمادية #MARKER؟

سيكون موضع تقدير أي مساعدة.

هل كانت مفيدة؟

المحلول

إنه نوع من الخلل.عندما تقوم بإنشاء فئة Code128 جديدة، فإنها تقوم بتعيين إعداداتها الافتراضية.بالنسبة للرمز 128، هذا يعني ضبط حشوة الوحدة النمطية - المسافة بين الرقم المشفر - على 0.

في الكود الذي حصلت عليه أعلاه، قمت بتمرير كائن إعدادات جديد.يؤدي هذا إلى إعادة المساحة المتروكة إلى وضعها الافتراضي وهو 2، وبالتالي التباعد الإضافي.

أنت أيضًا تقوم بتعيين WideWidth.لا يُستخدم هذا في Code128 - فهو يستخدم فقط NarrowWidth هذه هي عرض الأشرطة والقيمة الافتراضية هي 2.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top