2015-11-30 14 views
6

Tôi đang cố tải xuống dữ liệu HTML/JSON từ máy chủ web (Node.js) và chuyển đổi sang PDF ở phía máy khách. Tôi muốn thực hiện việc xử lý trên trình duyệt của người dùng để máy chủ của tôi không bị quá tải với các chuyển đổi pdf.Chunk và đường ống số lượng lớn dữ liệu cho khách hàng trang web (trình duyệt) tạo PDF

Sẽ không có vấn đề gì nếu dữ liệu không quá lớn. Báo cáo (dữ liệu được tải xuống từ máy chủ) có thể tổng cộng 200, 300MB và các trình duyệt không thể xử lý quá nhiều dữ liệu trong bộ nhớ. Bởi vì điều đó, tôi (có thể) cần phải tải xuống và lưu dữ liệu theo khối, hoặc đặt nó trực tiếp vào trình chuyển đổi PDF.

Nhưng tôi không thể xoay quanh đầu. Làm cách nào để tôi có thể cắt & lưu trữ/lắp đặt dữ liệu đã tải xuống? Tôi đã nhìn xung quanh và tìm thấy một số thư viện, nhưng tôi vẫn không hiểu cách làm cho chúng hoạt động cùng nhau. Có suy nghĩ gì không?

+0

Kích thước yêu cầu của dữ liệu sẽ được gửi tới trình duyệt là gì? – guest271314

+0

Nó đi từ 50Kb đến 800MB, 900MB. – AFMeirelles

+0

bạn không thể sử dụng các đoạn phản hồi hoặc các ổ cắm web để truyền dữ liệu khôn ngoan cho khách hàng? thế hệ pdf theo yêu cầu trên máy khách vẫn là một thách thức. – lipp

Trả lời

0

Tôi không nghĩ rằng việc người tiêu dùng ứng dụng tạo ra các tệp pdf 800MB trên máy tính của họ là một ý tưởng hay.

Tôi sẽ tránh JSON trong trường hợp các bản ghi lớn. Nếu có hơn 25 MB dữ liệu bản ghi thực tế, tôi sẽ gửi dữ liệu đó dưới dạng nhị phân/nén.

Để xem tất cả dữ liệu này, tôi thậm chí không nghĩ PDF là con đường để đi. Tôi sẽ tạo một trình xem ngoại tuyến đặc biệt cho người tiêu dùng cuối cùng. Có lẽ plugin hoặc tiện ích mở rộng trình duyệt tùy chỉnh để chúng không phải ném bộ nhớ 800MB khi họ đang xem báo cáo.

Một lưu ý khác có thể là sử dụng Google Drive hoặc Rackspace OpenCloud hoặc AWS hoặc một cái gì đó có tính chất, lý do là, nếu xảy ra sự cố trên nửa cuối của người tiêu dùng thông qua quá trình chuyển, máy chủ của bạn cũng phải bắt đầu lại. Nếu bạn ném nó vào đám mây đằng sau một CDN, thì họ có thể tải xuống nó nhiều lần, tuy nhiên, từ một máy chủ gần với chúng. Ngoài ra, máy chủ của bạn sẽ có thể gửi nó lên đám mây nhanh hơn nhiều so với việc gửi nó đến máy khách để ít thời gian hơn mà máy chủ của bạn có tài nguyên bị ràng buộc mở.

+0

Quan điểm thú vị. Bạn có thể cho tôi biết thêm lý do tại sao bạn nghĩ rằng đó là một ý tưởng tồi để tạo pdf ở phía máy khách? Tôi đã nghĩ sẽ tốt hơn nếu đẩy chi phí xử lý cho người dùng, vì vậy máy chủ của tôi không bị tràn ngập bởi một số yêu cầu xử lý - và tôi không cần một máy chủ lớn hơn. Nó làm giảm chi phí tổng thể của ứng dụng.Đối với PDF là định dạng tốt nhất hay không, tiếc là nó không phải là một lựa chọn, đó là một yêu cầu kinh doanh. – AFMeirelles

+0

Tôi đồng ý rằng việc ủy ​​thác càng nhiều công việc cho khách hàng càng tốt là tốt nhất. Tôi có một cảm giác tôi sẽ mạnh mẽ chống lại yêu cầu đó mặc dù bởi vì tôi có xu hướng nghi ngờ nó sẽ là trải nghiệm tốt nhất cho người tiêu dùng cuối cùng. Nhưng để xác định một giải pháp tối ưu, tôi sẽ cần biết chính xác dữ liệu thô là gì và chính xác thông tin mà người tiêu dùng được cho là thu được từ dữ liệu thô. Ví dụ, tôi đã xây dựng một hệ thống quản lý windfarm. Dữ liệu thô là chi tiết sửa chữa/sửa chữa lưỡi cắt. Khách hàng nhận được báo cáo PDF với các biểu đồ và chi tiết, nhưng các báo cáo được đưa vào một lần kiểm tra/sửa chữa dự án. – flcoder

Các vấn đề liên quan