แอปพลิเคชันสำหรับอ่าน PDF ในรูปแบบ Flipbook ที่สวยงาม
🔗 https://github.com/pcbimon/FlipPDF
- เลือกไฟล์ PDF: รองรับการเลือกไฟล์ PDF จากอุปกรณ์
- Flipbook แบบ 3D: แสดงผล PDF ในรูปแบบการพลิกหน้าแบบสมจริง
- ประมวลผลล่วงหน้า: แปลง PDF ทุกหน้าเป็น Widget ก่อนแสดงผล
- แสดงสถานะหน้า: แสดงหมายเลขหน้าปัจจุบันและจำนวนหน้าทั้งหมด
- UI ที่สวยงาม: ออกแบบให้ใช้งานง่ายและสวยงาม
- การเลือกไฟล์: ผู้ใช้เลือกไฟล์ PDF จากอุปกรณ์
- การประมวลผล:
- อ่านไฟล์ PDF
- แปลงแต่ละหน้าเป็น image
- สร้าง Widget สำหรับแต่ละหน้า
- เก็บ Widget ทั้งหมดใน List
- การแสดงผล: ใช้ PageFlip widget เพื่อแสดงผลแบบ flipbook
main.dart: หน้าจอหลักและการเลือกไฟล์PdfScreen.dart: หน้าจอแสดงผล PDF flipbookpdf_processor.dart: ประมวลผล PDF และสร้าง Widgetpdf_page.dart: Widget สำหรับแสดงแต่ละหน้า PDF
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.8
page_flip: ^0.2.1 # สำหรับ flipbook effect
file_picker: ^8.1.3 # เลือกไฟล์
flutter_pdfview: ^1.3.2 # อ่าน PDF (เป็น fallback)
path_provider: ^2.1.4 # จัดการ path
pdf: ^3.11.0 # ประมวลผล PDF
printing: ^5.12.0 # แปลง PDF เป็น image- Clone โปรเจค:
git clone https://github.com/iNT-Mahidol/IdeaSpace-Flipbook-Flutter.git cd IdeaSpace-Flipbook-Flutter - ติดตั้ง dependencies:
flutter pub get - รันแอป:
flutter run
- เปิดแอป
- กดปุ่ม "เลือกไฟล์ PDF"
- เลือกไฟล์ PDF จากอุปกรณ์
- กดปุ่ม "เปิด PDF Flipbook"
- รอให้ระบบประมวลผล PDF
- เมื่อเสร็จแล้วจะแสดงผลแบบ flipbook
- ใช้นิ้วสัมผัสเพื่อพลิกหน้า
- การประมวลผล PDF ขนาดใหญ่อาจใช้เวลาสักครู่
- แอปจะแสดง loading indicator ขณะประมวลผล
- Widget ทั้งหมดจะถูกสร้างและเก็บไว้ในหน่วยความจำก่อนแสดงผล
- ความละเอียดของรูปภาพตั้งไว้ที่ 150 DPI เพื่อความชัดเจนและประสิทธิภาพ
สามารถพัฒนาเพิ่มเติม:
- เพิ่มการ zoom in/out
- เพิ่มการค้นหาข้อความ
- เพิ่มการ bookmark
- เพิ่มการแชร์
- เพิ่มการปรับความสว่าง
โปรเจคนี้ใช้ GitHub Actions สำหรับการ build และสร้าง release อัตโนมัติ
- อัปเดตเวอร์ชันใน
pubspec.yaml - สร้างและ push tag ในรูปแบบ
vX.X.X:git tag v1.0.0 git push origin v1.0.0
- GitHub Actions จะทำงานอัตโนมัติ:
- Build APK สำหรับ Android (หลายสถาปัตยกรรม)
- Build Web version
- Build Windows executable
- สร้าง GitHub Release พร้อมไฟล์ดาเนลโหลด
- Build APK: Build APK เฉพาะ Android เมื่อมี version tag
- Build Multi-Platform: Build ทุกแพลตฟอร์ม (Android, Web, Windows)
ดาเนลโหลดเวอร์ชันล่าสุดได้จาก GitHub Releases