พิมพ์ลาเบล ตัวอย่างดอกผลจากแนวคิด ทำเองใช้เอง

บทความนี้ จะขอยกตัวอย่างการพัฒนาโปรแกรม แบบเอาใจเขา มาใส่ใจเรา ตามแนวคิดที่ให้ผู้ออกแบบคิดว่า ต้องทำเองและต้องใช้เอง ซึ่งทำให้ในที่สุด จึงได้โปรแกรมที่ใส่ใจในทุกรายละเอียด กอปรกับช่วงตอนโปรแกรมเริ่มตั้งไข่ ได้พบกับลูกค้าที่เรียกกันต่อหน้า (หลังจากสนิทกัน) ว่า คุณชายละเอียด ผู้ซึ่งเปิดทุกหน้าจอ และเก็บรายละเอียดทุกเม็ด ให้ทำให้เห็น กว่าจะเซ็นสั่งซื้อ ทำให้ได้โปรแกรมที่อาจกล่าวได้ว่า เอาใจลูกค้าสุดๆ

วันนี้ ขอยกตัวอย่าง การออกแบบหน้าจอพิมพ์ลาเบล (Label) เพื่อพิมพ์สันปก และทะเบียนบาร์โค้ด เพื่อติดหนังสือ นะครับ

Lab sticker ขนาด A10 สำหรับพิมพ์สันปก บาร์โค้ดและทะเบียน

สิ่งที่คิดอย่างแรก คือ จะพิมพ์ลงกระดาษอะไร

แน่นอนครับว่า ต้องเป็น Sticker สำเร็จรูป ที่เรียกว่า Label Sticker หรือเรียกสั้นๆ ว่า Lab Sticker ตามรูปด้านข้าง เพราะคิดว่า คงไม่มีใครอยากพิมพ์แล้วต้องมาตัด Sticker อีกแน่นอน

คำถามถัดมา จะสั่งให้พิมพ์ด้วยเงื่อนไขอะไร

ได้คำตอบว่า เบสิคที่สุดคือ พิมพ์ตามเลขทะเบียน ตั้งแต่เลขที่ … ถึงเลขที่ … แต่ก็มีคำถามว่า แล้วถ้าจะพิมพ์ข้ามเลขทะเบียน จะทำอย่างไร ต้องสั่งพิมพ์อีกครั้งใช่่หรือไม่ หมายความว่า ต้องใช้กระดาษ Sticker แผ่นใหม่ ทั้งที่แผ่นเดิมยังพิมพ์ไม่หมด หรือต้องใส่ Sticker แผ่นเดิม (แบบกลับหัวกลับหาง) เพื่อใช้ส่วนที่ยังเหลืออยู่ใช่หรือไม่

ถ้าตอบว่าใช่ คือลำบากแน่ๆ ดังนั้นจึงต้องทำให้โปรแกรมสามารถสั่งพิมพ์ข้ามได้ด้วย และหากข้ามแล้ว ต้องการพิมพ์แบบต่อเนื่องต่อไปอีก ก็ต้องทำให้ได้ด้วย เป็นที่มาของความสามารถในการสั่งพิมพ์ตามเลขทะเบียนดังตัวอย่างนี้

17869-17872,17875,17878-17881 (โดย, คือข้ามไป และ – คือ ถึง) ซึ่งจะได้ Label ที่มีเลขทะเบียน 17869, 17870, 17871, 17872, 17875, 17878, 17879, 17880 และ 17881 รวม 9 รายการ

มีคำถามว่า

ถ้าไม่เคยใช้โปรแกรมอะไรมาก่อนเลย แล้วจะต้องนั่งลงทะเบียนในโปรแกรม (หรือดาวน์โหลดข้อมูลมา)ทั้งหมด จะทำอย่างไรกับเลขทะเบียนที่มีอยู่

ทางออกที่ดีและง่ายที่สุดคือ ลืมเลขทะเบียนพวกนั้นไปเสีย แล้วเริ่มใหม่ (ไม่ต้องเสียดายสมุดทะเบียนที่อุตสาห์นั่งเขียนมาตั้งแต่ต้นนะครับ เพราะเมื่อใช้โปรแกรม ท่านสามารถพิมพ์จากโปรแกรมออกมาเก็บเป็นรูปเล่ม เป็นแฟ้มก็ได้ หรือจะส่งออกเป็นไฟล์แล้วจัดเป็นหน้าสวยๆ เก็บเป็นไฟล์ไว้ หรือจะพิมพ์ออกมาก็ยังได้) ถ้าเอาตามนี้ ก็พิมพ์ตามเลขทะเบียนแบบที่กล่าวมาข้างต้นได้สบายๆ

แล้วถ้าใช้โปรแกรมอื่นมาแล้ว มีข้อมูลทะเบียนหนังสืออยู่แล้ว แปลงข้อมูลเข้าระบบแล้ว แต่อยากพิมพ์ Stickerใหม่ (อาจเพื่อให้มีสีตามหมวดหมู่ ซึ่งจะกล่าวต่อไปด้านท้ายบทความ หรือเพื่อให้ Label รูปแบบเดียวกันทั้งหมด) จะทำอย่างไร ถ้าสั่งพิมพ์ด้วยวิธีการข้างบน จะวุ่นวายแค่ไหน ถ้าเลขทะเบียนแรกอยู่หมวดนึง เลขต่อมาอยู่อีกหมวดนึง เลขต่อไปข้ามไปอีกหมวดนึง ถ้าเอา Sticker ทั้งหมดเดินไปแปะตามชั้นโน้นชั้นนี้จะอนาถขนาดไหน

เป็นที่มาของการสั่งพิมพ์วิธีที่ 2 คือพิมพ์ตามเลขเรียก

ตัวอย่างเช่น จะพิมพ์หมวด 100 ทั้งหมดก็ใส่เลข 1 ที่ช่องพิมพ์ตามเลขเรียก เป็นเงื่อนไขในการสั่งพิมพ์ และให้มันดียิ่งขึ้นไปอีก คือถ้าหมวดหมู่นี้ มีหนังสือเยอะมาก อยู่กันหลายชั้น ก็ให้สามารถสั่งพิมพ์ให้ละเอียดลงไปอีก เช่นพิมพ์เลข 10 เพื่อพิมพ์เฉพาะเลขเรียกที่ขึ้นต้นด้วย 10 อย่างเดียว เสร็จแล้วก็สั่งพิมพ์เลข 11 ไล่ไปจนจบที่ 19 ส่วนพวกนวนิยาย เรื่องสั้น ก็สั่งพิมพ์ได้ด้วยวิธีเดียวกัน โดยพิมพ์ น หรือนว (ตามที่ท่านใช้ในตอนลงทะเบียน) สำหรับนวนิยาย เป็นต้น

พิมพ์เสร็จ ก็เอา Sticker ไปยืนหน้าชั้นเลขหมู่ที่พิมพ์ แล้วหาหนังสือที่อยู่ตรงนั้นมาแปะ ไม่ต้องเดินไปเดินมาที่ชั้นนั้นชั้นนี้อีกต่อไป

แล้วถ้าลงทะเบียนแล้ว ยังไม่ได้พิมพ์ Sticker ทันที วันหลังค่อยสั่งพิมพ์ได้ไหม ถ้าไม่ได้จดเลขทะเบียนไว้จะทำอย่างไร

เลือกพิมพ์ตามช่วงวันได้ครับ ถ้าจำว้นไม่ได้ชัดๆ ว่าที่หนังสือที่ยังไม่ได้พิมพ์ เริ่มตั้งแต่วันไหน ก็ใส่ลองใส่วันเริ่มต้น แล้วดู Preview ที่หน้าจอ อย่างน้อยก็ น่าจะคุ้นๆ ว่า เล่มนี้พิมพ์หรือยัง

ที่คิดต่อมาคือ เวลาสั่งพิมพ์จะพิมพ์ส่วนไหนออกมาได้บ้าง

ที่ต้องมีแน่ๆ คือส่วนที่เป็นสันปก และบาร์โค้ดติดปก แต่ไหนๆ ก็พิมพ์แล้ว พิมพ์ส่วนที่เป็น รายละเอียดการลงทะเบียน ที่ปรกติบรรณารักษ์ใช้ปั๊มตราประทับแล้วเขียน ออกมาด้วยเลย จะได้ไม่ต้องปั๊มไม่ต้องเขียนกันอีกต่อไป

ประทับตราลงทะเบียน

แล้วถ้าอยากได้แบบบาร์โค้ด 2 ดวง เพื่อแปะปกหน้าปกหลังเพื่อสะดวกในการยืม จะได้ไม่ต้องพลิกหนังสือหาบาร์โค้ด

ก็สามารถเลือกสั่งพิมพ์ แบบ 1 สันปก และ 2 บาร์โค้ดได้

แล้วถ้าเกิดส่วนใดส่วนหนึ่งมันชำรุดจะทำอย่างไร

โปรแกรมก็ต้องมี ตัวเลือก (Option) ให้เลือกว่าจะพิมพ์เฉพาะส่วนได้

ซึ่ง Option ที่ว่า ก็จะตอบโจทย์ สำหรับลูกค้าที่อยากพิมพ์ สันปก แล้วบาร์โค้ด 2 ดวง และแบบตราทะเบียนด้วย โดยพิมพ์แบบ 1 สัน 2 บาร์โค้ด ครั้งนึง และเลือกพิมพ์เฉพาะส่วนที่เป็น ตราทะเบียน อย่างเดียวอีกครั้งนึง

ที่ต้องคิดต่อคือ Sticker แผ่นนึง ถ้าพิมพ์แล้วยังไม่หมด พิมพ์ครั้งต่อไป จะใช้อีกต้องทำอย่างไร

ตอนนั้น ได้ทราบว่า บรรณารักษ์ที่ใช้โปรแกรมอื่น ใช้วิธีกลับหัวกลับหาง Sticker เอาบนลงล่าง หากพิมพ์ไม่หมดอีก ก็เหลือเฉพาะตรงกลาง บางท่านใช้วิธีตัดกระดาษ Sticker ส่วนที่ลอกไปใช้แล้วออก แต่ก็มีปัญหาถ้ากระดาษสั้นเกินไปก็ไปติดค้างในเครื่องพิมพ์ บางท่านด้วยความเสียดาย ก็ลอกส่วนที่อยู่ตรงกลางมาแปะด้านบน เหตุผลคือ เสียดาย บ้างก็ว่า กลัวนายว่า สิ้นเปลือง

เพื่อแก้ปัญหานี้ จึงได้มีฟังก์ชั่น ให้ระบุว่า จะเริ่มพิมพ์แถวหรือดวงที่เท่าไหร่ เมื่อสั่งพิมพ์ โดย Sticker แผ่นแรกจะเริ่มพิมพ์ตามที่ระบุ Sticker แผ่นต่อไปก็จะเริ่มพิมพ์แถวหรือดวงที่ 1 ตามปกติ

คำถามต่อมาคือ รายละเอียดที่พิมพ์จะมีอะไรบ้าง
ตอนเริ่มทำโปรแกรมก็ตามมาตราฐานที่(คิดเอาเอง)ว่าทุกที่ต้องการเหมือนกัน คือส่วนสันปก แน่นอนว่า ต้องมีเลขเรียกพร้อมรายละเอียดอื่นๆ ประกอบเช่นปีพิมพ์ ฉบับที่ เล่มที่อยู่แล้ว

ส่วนที่เป็นบาร์โค้ดที่ติดปก ที่ต้องมีแน่ๆ คือบาร์โค้ด เลขเรียกเหมือนที่ติดสันปก โลโก้หน่วยงาน ชื่อห้องสมุดหน่วยงาน ชื่อเรื่องหนังสือ

ส่วนที่เป็นตราประทับ อันนี้มาตรฐาน ไม่มีอะไร ใส่ไปตามนั้น เลขทะเบียน วันลงทะเบียน และเลขเรียกหนังสือ

แต่ปัญหาเกิดขึ้น เมื่อบางแห่งไม่ต้องการปีที่พิมพ์บ้าง ไม่ต้องการให้ปรากฎฉบับที่เล่มที่บ้าง ไม่อยากพิมพ์โลโก้บ้าง ฯลฯ ในที่สุดจึงต้องทำเป็น Option ให้เลือกว่า ส่วนไหน จะเอาหรือไม่เอา ได้แก่ ปีที่พิมพ์ เล่มที่ ฉบับที่ โลโก้ และชื่อห้องสมุด ให้เลือกพิมพ์กันตามอัธยาศัย

เลือกสีแต่ละหมวดหมู่ พิมพ์ลงบนสันปก เพื่อแก้ปัญหาหนังสือหลงชั้น

โจทย์ต่อมา ท้าทายอย่างยิ่ง ถ้าพิมพ์แล้วลอกออกมา พบว่าตัวหนังสือขาดจะทำยังไง แล้วถ้าปรับให้ตรงแล้ว ต่อมาลูกค้าเปลี่ยนเครื่องพิมพ์ พิมพ์ออกมาแล้วตัวหนังสือขาดอีก จะต้องทำอย่างไร

การจะไปนั่งปรับให้ลูกค้าแต่ละรายๆ เวลาเกิดปัญหาดูจะเป็นภาระ แต่ที่สำคัญกว่า คือความรู้สึกของลูกค้าที่ต้องคอยขอรับความช่วยเหลือได้อย่างเดียวโดยที่ทำอะไรไม่ได้ เป็นเราก็คงไม่สบายใจว่า ถ้าตามตัวไม่ได้ คนขายไม่ยอมมา หรือกว่าจะมาต้องรอนาน งานจะเป็นอย่างไรฯลฯ

จึงต้องมีฟังก์ชั่น ให้ลูกค้าปรับตำแหน่งสิ่งที่ปรากฎบน Sticker ได้เอง ชื่อเรื่องอยู่สูงไป ลอกออกมาแล้วชื่อเรื่องขาดครึ่ง ขาดมากขาดน้อย ก็คลิ๊กตรงชื่อเรื่องและกดลูกศรที่หน้าจอ ปรับตำแหน่งให้ต่ำลงมา เป็นต้น

และไหนๆ ก็ทำแล้ว ก็ทำให้สามารถกำหนดสีตัวอักษรได้ เลือกฟอนต์ตัวอักษรได้ เลือกขนาดตัวอักษรได้ ไปด้วยเลย

ฟังดูเหมือนง่าย แต่เวลาทำจริงยากเอาการ ที่สุดของงานนี้คือเรื่องนี้เลยครับ

โจทย์ต่อมา เกิดจากห้องสมุดจำนวนไม่น้อย นิยมติดแถบสีเพื่อแก้ปัญหาหนังสือหลงชั้น

คือในเมื่อปกติก็ใช้เครื่องพิมพ์แบบอิงค์เจ็ท ซึ่งสามารถพิมพ์สี สำหรับพิมพ์ Sticker อยู่แล้ว ก็เพียงแค่ใส่แถบสีที่สันปก ไม่ต้องซื้อ Sticker แถบสี มาแปะกันอีกต่อไป แค่นี้ก็จบ

แต่จริงๆ ไม่จบ มีเรื่องต้องคิดต่อมากมายเช่น หมวดไหน ใช้สีอะไร จะกำหนดตายตัวเลยหรือไม่ ไม่ควร เพราะคำว่า นานาจิตตัง ค้ำคอ จึงต้องให้เลือกสีได้เอง ต้องมีหลายสี หลายเฉดสี แล้วถ้าหนังสือบางหมวดมีเยอะ ต้องการแยกย่อยลงไปอีก ก็ต้องทำให้รองรับ และถ้าเป็นการจัดหมวดหมู่แบบ LC จะกำหนดแบบนี้น่าจะลำบากเพราะสีที่แตกต่างกันแบบชัดๆ มีให้เลือกไม่พอหรือเลือกยาก ก็ต้องทำเป็น 2 แถบสีสำหรับตัวอักษรหมวดแต่ละตัว

พอมีสีให้เลือกเยอะ ก็ต้องคิดต่อว่า จะทำอย่างไรให้เลือกง่ายที่สุด เลือกแล้ว ก็ต้องสั่งให้มารวมอยู่ด้วยกัน เพื่อดูก่อนว่า สีที่เลือกใกล้เคียงกันเกินไปไหม จะทำให้แยกลำบากไหม และใส่ฟังก์ชั่น สั่งพิมพ์ออกมาทางเครื่องพิมพ์ โดยให้พิมพ์เฉพาะสีที่เลือกไว้ เพราะสีบนหน้าจอกับที่พิมพ์จริงอาจไม่เหมือนกัน เป็นต้น

เขียนมาถึงตรงนี้ บางท่านคิดว่า จะพิมพ์ Sticker ทำไมยุ่งยากน่าดู จริงๆ มันไม่ได้ยุ่งยากหรอกครับ ค่าอะไรต่างๆ นานามีการกำหนดไว้แล้ว แต่หากต้องการปรับแต่ง ก็สามารถทำและบันทึกไว้ เพื่อให้โปรแกรมพิมพ์ตามนั้นในการพิมพ์ครั้งต่อๆ ไป

ขอย้ำว่า ที่เราลงทุนลงแรงไปมากกับหน้าพิมพ์ลาเบลนี้ ก็เพื่อให้ลูกค้าสามารถทำอะไรก็ได้ดั่งใจ หรืออย่างน้อยก็สบายใจได้ว่า ถ้าต้องเปลี่ยนเครื่องพิมพ์ ก็จะไม่ต้องกังวลกับปัญหา พิมพ์จะพิมพ์ไม่ตรงช่อง Sticker ปัญหาตัวหนังสือขาด และใช้ไม่ได้

สวัสดีครับ.