Cách convert trên 123doc.vn
Trang 1Convert tài liệu trên 123doc.vn
NHỮNG VẤN ĐỀ GẶP PHẢI VÀ GIẢI PHÁP
Trang 2Giới thiệu 123doc.vn
Trang chia sẻ tài liệu và sách hàng đầu Việt Nam
200k tài liệu đã có trên hệ thống
Dự kiến đến tháng 4 – 2013 sẽ có 40k đầu sách
App Android & IOS đọc sách riêng
Trang 3Yêu cầu kết quả
Đầu vào: File tài liệu định dạng phổ biến: doc, docx, ppt, pptx
Đầu ra:
Định dạng html
Giữ nguyên được form so với tài liệu gốc
Cỡ chữ, màu chữ, font chữ
Căn lề
Hình ảnh, bảng biểu, …
Trang 4Bước đầu
Giải pháp
Doc, docx, ppt, pptx -> html qua OpenOffice
PDF -> html dùng thư viện XPDF (Nguồn mở viết bằng C)
Vấn đề
Mất hết cấu trúc html vì OpenOffice convert ra html dạng rất đơn giản
Trang 5Tiếp theo
Giải pháp
Doc, docx, … -> PDF
Tất cả từ PDF -> HTML
Vấn đề
Font chữ hầu như là sai hết
Bắt đầu nghiên cứu về font chữ
Font chữ trong PDF đều là font nhúng (embeded subset) -> Phải tách được riêng font chữ từ file pdf và hiển thị được trên trình duyệt
Trang 6Lấy font trong file pdf
Dùng các chương trình sẵn có
Vấn đề: Không hiển thị được font đó trên HTML
Font Forge
Trang 7Quản lý bộ nhớ, thời gian timeout và convert nhiều tài liệu tại một thời điểm
Vấn đề:
Convert bị đứng dẫn đến nghẽn hệ thống không convert được
Trong quá trình convert -> Memory leak -> Server die
Convert được nhiều tài liệu cùng một lúc để giảm thời gian đợi của user
Giải pháp
Dùng service Service có khả năng
Đón nhận id của các tài liệu gửi đến
Phân chia công việc, gọi đồng thời convert
Quản lý thời gian timeout
Quản lý memory
Trang 8Quản lý bộ nhớ, thời gian timeout và convert nhiều tài liệu tại một thời điểm
Quản lý thời gian timeout & bộ nhớ sử dụng chức năng sẵn có của nhân Linux
ps -ao pid,etime,cmd | grep convert_to_html.php
14062 00:10 convert_to_html.php
ps -ao pid,rss | grep convert_to_html.php
14062 160000
Convert đồng thời
3s service sẽ kiểm tra số lượng convert đang chạy: Nếu thiếu -> bù
Trang 9Mô hình
• Doc, docx