2011-08-17 14 views
7

Tôi muốn hiển thị/mở tệp PDF (được lưu trữ trong SDCard) trong Android mà không cần sử dụng ứng dụng hoặc trình xem trong xây dựng.Kết xuất PDF của Android

1) Chúng tôi đã thử thư viện nguồn mở MuPDF nhưng việc sử dụng thư viện này rất chậm.

2) Chúng tôi có thể sử dụng thư viện iText để hiển thị tệp PDF trong Android (ví dụ: iText dưới dạng Trình xem PDF).

Có thư viện PDF nào khác (mã nguồn mở) có thể được sử dụng trong Android hay đề xuất nguyên tắc cơ bản để phát triển trình xem PDF cho Android.

Trả lời

4

Tôi đã thực hiện một số nghiên cứu trong lĩnh vực này gần đây, tôi đã thử hơn 14 thư viện trên Android, tôi đã thực hiện đánh giá đơn giản trên một số tạp chí PDF có độ phân giải cao in sẵn và tôi hiện đang xem xét sử dụng MuPDF hoặc Radaee trong công việc khi họ ra ngoài là tốt nhất.

Tôi cũng đã thử VuDroid và apv và chúng rất không ổn định, chúng thường xuyên gặp sự cố với các tài liệu PDF phức tạp và rất chậm trong việc gộp MuPDF hoặc Radaee.

Vì MuPDF và Radaee (và một số thư viện khác) được viết bằng C thuần túy và được sử dụng trên Android thông qua NDK, chúng mang lại hiệu suất tốt nhất có thể (và cả hai đều được trả tiền cho mục đích thương mại).

+0

có vẻ như tất cả MuPDF (bắt nguồn từ VuDroid, apv), Radaee không phù hợp để sử dụng trong ứng dụng trả phí. Có phải bất kỳ thư viện pdf nào có thể được sử dụng trong ứng dụng trả tiền không? – manhon

+1

Tôi không chắc chắn chính xác bạn đang hỏi gì, nhưng nếu câu hỏi của bạn là thư viện nào được sử dụng miễn phí cho mục đích thương mại, bạn có thể tìm kiếm thư viện PDFBox. Mặc dù nó là thư viện Java, có thể có một số cổng cho Android ở đâu đó (ví dụ như có vẻ như đang bắt đầu một số dự án trên GitHub: https://github.com/jeremyvillalobos/android-pdfbox-port) ...cũng có một thư viện PDF khác được gọi là PDFView từ Sun hoàn toàn miễn phí. –

8

1) MuPDF là tốt để hiển thị pdf sách giáo khoa trong Android trong khi nó có thể được làm chậm để làm cho pdf với hình ảnh lớn. Rất nhiều tùy chỉnh và cải tiến đặc biệt là kiểm soát sử dụng bộ nhớ cần phải làm nếu bạn muốn MuPDF chạy nhanh và ổn định trên nền tảng Android. Bạn có thể xem hai dự án mã nguồn mở VuDroid và apv dựa trên MuPDF.

2) Tùy theo yêu cầu của bạn. IText có thể đủ để hiển thị pdf văn bản đơn giản, nhưng tôi không nghĩ rằng nó có hiệu suất tốt hơn so với MuPDF hoặc các thư viện khác được phát triển bằng cách sử dụng C/C++.

Một lựa chọn khác là sử dụng Poppler. Một câu chuyện thành công là ứng dụng android ezPDF Reader phổ biến dựa trên Poppler, mặc dù nó vi phạm giấy phép GPL. Các ra khỏi hộp Poppler cần nhiều công việc hơn MuPDF để làm để chạy trên Android trơn tru. Bạn có thể tham khảo dự án mã nguồn mở apdfviewer.

+0

Gluttony Cảm ơn bạn đã trả lời nhanh - sẽ thử các tùy chọn được đề xuất và cho bạn biết ... Đồng thời tôi đang khám phá vài điều và tìm thấy thêm một tùy chọn tức là PDFBox - chúng tôi có thể sử dụng trong Android như trình xem PDF ... – user895935

+2

Tại sao bạn nghĩ ezPDF dựa trên Poppler? – Vanuan

+0

Pressreader của Newspaper Direct cũng đang sử dụng Poppler, hoạt động khá độc đáo mặc dù panning hơi lag. –

0

Hãy xem trình đọc PDF của tôi dành cho Android here at anddev. Như tôi nhớ nó sử dụng PDFBox sửa đổi (không có những thứ liên quan đến chỉnh sửa), và các tính năng chuyển đổi phông chữ của riêng tôi (để nuôi phông chữ cho Android và làm cho chúng nhanh hơn).

Tôi không phát triển trình đọc PDF nữa và tôi có thể thực hiện tất cả các thay đổi của mình mã nguồn mở (mặc dù nó sẽ yêu cầu một số công việc và thời gian). Bạn có thể thử nó để tìm hiểu xem nó hoạt động tốt như thế nào cho bạn. Lưu ý: người đọc không hỗ trợ mã hóa và bảo vệ chống sao chép.