2011-09-25 39 views
5

Tôi không thể tìm thấy câu trả lời cho các câu hỏi của mình về một số bài viết về cùng một chủ đề, đó là lý do tại sao tôi sẽ đặt câu hỏi cụ thể hơn tại đây.wkhtmltopdf vs fpdf và các câu hỏi liên quan đến việc sử dụng và hiệu suất (HTML tới PDF)

Câu hỏi của tôi là về wkhtmltopdf và fpdf. Tôi cần một trong số đó để tạo ra 1 trang hóa đơn (thiết kế thực sự cơ bản) và 1 trang báo cáo (thiết kế cơ bản là tốt) vì vậy tài liệu PDF rất nhỏ.

Tôi đã đọc rằng hầu hết mọi người khuyên bạn nên sử dụng wkhtmltopdf vì hiệu suất của nó nhưng đối với tài liệu trang 1 nhỏ thì nó có thực sự tạo sự khác biệt so với fpdf không? Nó thực sự tiêu thụ ít bộ nhớ hơn? Nhanh hơn?

Tôi biết đó là câu hỏi ngớ ngẩn nhưng tôi cũng cần biết liệu wkhtmltopdf có thể được thực hiện nhiều lần cùng một lúc hay không. Ý tôi là, nếu có 1000 người dùng trên trang web của tôi cố gắng lưu hóa đơn của họ trong PDF cùng một lúc? Có giới hạn không, nó hoạt động như thế nào? Tôi biết rằng fpdf là một lớp php vì vậy tôi không phải "lo lắng" về điều này (tôi chỉ cần cấu hình php.ini thích hợp tôi đoán).

Bạn sẽ đề xuất điều gì? Đối với tài liệu PDF nhỏ nhưng hiệu suất cao để có thể xử lý nhiều yêu cầu cùng một lúc.

Có tùy chọn nào khác không?

Cảm ơn sự giúp đỡ của bạn!

Trả lời

9

Câu trả lời ngắn gọn là có - bạn có thể tạo các phiên bản đồng thời của wkhtmltopdf đồng thời mỗi chuyển đổi trang html của riêng nó thành pdf. Tuy nhiên, wkhtmltopdf chạy như một quá trình hệ điều hành có nghĩa là nếu 1000 người dùng đang xem hóa đơn của họ cùng một lúc, 1000 quy trình wkhtmltopdf sẽ được sinh ra trong máy chủ mà có lẽ không phải là thứ bạn muốn.

Mặt khác, FPDF hoạt động như một phần của quy trình máy chủ web bên trong thời gian chạy PHP và sẽ không có giới hạn này. Nếu bạn đang tạo ra một hóa đơn nhỏ hoặc thậm chí lớn, tôi sẽ đề nghị sử dụng FPDF vì nó là khá dễ dàng để tạo ra một hóa đơn sử dụng FPDF. Không chỉ bạn sẽ có nhiều quyền kiểm soát bố cục trang PDF, bạn cũng sẽ tiết kiệm được thời gian trong quá trình bảo trì/nâng cấp sau này.

Một trong những vấn đề tôi gặp phải với wkhtmltopdf là việc ngắt trang. Wkhtmltopdf sẽ không phá vỡ các trang của bạn như bạn mong đợi. Ví dụ: một dòng văn bản có thể được phân chia giữa hai trang - phần trên của dòng văn bản xuất hiện ở cuối một trang và phần dưới xuất hiện ở đầu trang tiếp theo. Để tránh hành vi này, bạn phải đặt thuộc tính css page-break-after hoặc page-break-before một cách thận trọng trong các trang html của bạn, điều này đôi khi có thể khó khăn vì bạn không chắc chắn trang sẽ bị hỏng ở đâu.

+0

Cảm ơn bạn Indra, đó là câu trả lời tôi đang tìm kiếm và cảm ơn thông tin/chi tiết. – Mike

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