แนะนำ iReport, iText

"ในห้วงเวลาหนึ่ง เราสามารถทำสิ่งดีๆ ได้เต็มที่เพียงสิ่งเดียว" ใครบางคนบอกผม

สนใจลองศึกษา
lik:
Screenshots iRepot, iReport(JasperReports) for java
      iText Documentation for .net & java (ใช้ตัวนี้อยู่ครับ),
ตัวอย่าง: HelloWorld, code HelloWorld

คุยให้ฟัง
ถ้าคุณต้องการสร้างโปรแกรมอะไรสักอย่าง สิ่งสุดท้ายที่ผู้ใช้(User)
จะได้รับคือ ผลลัพธ์ รายงานหรือเอกสารที่จับต้องได้ ผมกำลังหมายถึง รายงาน(Report) จากที่เคยใช้ component เพื่อสร้างทั้งที่มีค่าใช้จ่ายและฟรี สุดท้ายก็จบที่ของฟรีและพัฒนาต่อเองได้
ถ้าถามว่าทำไม? เหตุผลคือ โจทย์ที่ผมได้ลัพธ์คือสร้างให้ได้เหมือนต้นฉบับ เงื่อนไข ต้องใช้บน web ได้ และเข้าใจว่าบางส่วน report ที่นิยมใช้ทำไม่ได้ คำตอบ คือ report ที่เป็น open source แต่กว่าจะพบ
หรือใช้งานได้จริงใช้เวลาศึกษาเกือบ 4 เดือน ผลที่ได้คือเราต้องมาศึกษาวิธีการใช้(Tutoial & Example) และประยุกต์ให้ได้กับงาน

สิ่งที่ผมตอบโจทย์คือ
1. report  ใช้ได้ทั้งบน web และ win app
2. เหมือนต้นฉบับเพราะใช้ต้นฉบับสร้างด้วย word แล้ว generate
เป็น template แล้วจึงใช้ xml(syntax ที่คิดขึ้น) สำหรับ sql command + layout สุดท้ายจึงได้เป็นไฟล์ pdf ทั้งแบบ gid ไฟล์ และ stream ไฟล์

ข้อดี
1. ไม่มีค่าใช้จ่าย
2. ตรงตามโจทย์+เงื่อนไข
3. สะดวก เพราะ code + interpreter(xml syntax ที่คิดขึ้น) สามารถแก้ไขได้เอง
4. สามารถแก้ไขและ upload ส่งให้ลูกค้าได้ pdf template  + xml ขนาด ระหว่าง 10kb ถึงน้อยกว่า 200kb
5. สามารถพัฒนาต่อได้ ใช้ได้ทั้ง .net & java
6. เปลี่ยน database ได้ (ใช้ oracle อยู่)
7. เป็น web service ส่งแค่ reportID, parameter ในการ web หรือเลือก report
8. สามารถพัฒนา report editor เพื่อจำหน่ายได้(ในความคิด)
ข้อเสีย
1. ใช้งานยากไม่เหมาะกับ User ที่ต้องแก้ไขรายงาน(แก้ไข โดยให้สร้างให้ลูกค้า ส่งผ่านเมล์ หรือ upload ให้โดยตรง)
2. ไม่มี report editor(ใช้ vs2003, notepad หรือ text editor)
3. ฯลฯ ขอติดไว้ก่อนครับ

ปล. โดยส่วนตัวคิดว่า
   - ในบ้านเราไม่ค่อยเผยแพร่ข้อมูลตรงนี้
ค่อนข้างปิดกัน(เหตุผลทางธุรกิจ และมุมมองว่าคนเก่งคือคนที่รู้) ต่างประเทศมีการเขียนโค้ดตัวอย่างไว้, มีตัวอย่างโปรแกรม, มีคนมาตอบคำถามให้ (หรือว่ามีแต่ผมไม่พบ)
    - เวลาส่วนใหญ่ที่เสียไปไม่ใช่การโค้ด แต่เป็นการคิด ศึกษาเงื่อนไข ค้นหาและลองผิดลองถูก เช่นกันบ้านเราไม่สนใจ research ทำได้ก็จบ มองเหมือนง่าย พอทำได้ก็หมดความหมาย เพราะโค้ดคนอื่นเอาไปดูก็จบล่ะ เพราะผู้ใหญ่มักมองคนที่ผลงาน ไม่ได้มองที่ความเป็นไปได้
ใครใช้เวลาน้อยได้งานมากคนนั้นก็เก่งไป

ปล 2. ความยากของ pdf + ภาษาไทยคือต้อง embedded font ลงไปด้วย และสลับ unicode สำหรับกันสระลอย

ปล 3. Adobe Reader 8.0 เร็วกว่าทุก version