Một nút cổ chai lớn mà tôi có lúc này là tạo PDF mỗi khi có ai đó đặt hàng. Nó không phải là một việc lớn đối với một đơn hàng, nhưng khi có rất nhiều trong một khung thời gian ngắn, quá trình này rất chậm.Tạo các tệp PDF có hình ảnh quá chậm
PDF cần thông tin văn bản, mã QR, mã vạch, biểu trưng và 1 hoặc nhiều hơn (tối đa 20+) hình ảnh 1/4 chiều rộng.
quá trình hiện tại w/DOMPDF:
- code hình ảnh QR tạo w/PHP và lưu lại dưới dạng png
- Bar code hình ảnh được tạo ra và lưu lại dưới dạng png
- DOMPDF tạo PDF
Tư tưởng mới:
- html2pdf tạo PDF, và sử dụng nó qr và mã vạch thẻ để tạo ra mã vạch
Đó lý thuyết sẽ chăm sóc những hình ảnh QR và mã vạch, nhưng vẫn còn, phần còn lại của hình ảnh làm cho nó quá chậm.
Làm theo cách này, không có bất kỳ hình ảnh nào ngoài mã QR và mã vạch, PDF có thể tạo ra ~ 500 mili giây, nhưng ngay sau khi tôi bắt đầu thêm hình ảnh, nó sẽ lên tới 2, 3, 4, 5 + giây mỗi lần.
Khi chạy thử nghiệm và xử lý ~ 10 nghìn đơn hàng (trong vài phút), nó vẫn đang xử lý các tệp PDF khoảng 12 giờ sau đó cho đến khi tôi tắt nó đi.
PDF được tạo trong một quy trình xếp hàng riêng biệt, vì vậy người đó không phải đợi khi đặt hàng, nhưng - vẫn ... không thể mất hơn 5 giờ để họ nhận được xác nhận PDF trong khi lưu lượng truy cập cao .
Câu hỏi/TLDR:
Làm thế nào tôi có thể làm cho quá trình của tôi về tạo file PDF với một mã qr năng động, một mã vạch năng động, văn bản động, và 1-20 hình ảnh tĩnh (hình ảnh là như nhau trên tất cả các tệp PDF) nhanh hơn?
Có những thứ tiềm năng khác mà tôi chưa từng nghĩ tới không? Có thể làm một mẫu PDF và bằng cách nào đó sử dụng PHP để chỉ cần điền vào các điểm năng động?
DOMPDF đang sử dụng GD? Tôi đoán tưởng tượng có thể nhanh hơn. Tuy nhiên, việc xử lý các tệp pdf khổng lồ với nhiều hình ảnh trong php chậm và tốn bộ nhớ. Chúng tôi đã triển khai giải pháp tạo tệp mủ và sau đó in chúng sang pdf. Bạn có thể thử điều đó. Để xử lý hình ảnh, bạn có thể thử sử dụng imagick thay vì GD. Câu hỏi * là * rộng, bạn sẽ phải thử và đánh giá các giải pháp khác nhau. Tôi nghi ngờ có thể đưa ra câu trả lời "đúng". Nó có thể là một ý tưởng tốt để hồ sơ mã hiện tại của bạn cũng như để xem chính xác nó là chậm. – burzum
Bất kỳ đề xuất nào về CÁCH cụ thể hơn chắc chắn được chào đón. Tôi không tìm kiếm một câu trả lời "bạn đang thiếu dấu chấm phẩy" cho chắc chắn, nhưng - tôi đã mô tả chi tiết về quy trình và vấn đề và sẽ yêu thích bất kỳ đề xuất, ý tưởng ... v.v. Tôi đang thua lỗ và đã chi hết tất cả các tài nguyên khác của mình. Không chắc chắn nơi nào khác để đi khác hơn là hỏi ở đây. :(Phải có một số cách để tạo file PDF với hình ảnh nhanh hơn, cả hai Html2PDF và DomPDF đều chậm như ốc sên khi tôi bắt đầu thêm hình ảnh. Tôi nghĩ có lẽ ý tưởng mẫu có một số công đức, nhưng - không thể tìm thấy bất cứ thứ gì ở đó. – Dave
Hồ sơ kịch bản của bạn và xem nơi nó là chậm, tôi đặt cược vào phần thao tác hình ảnh của nó.Sau đó cố gắng cải thiện nó.Đó là tốt nhất tôi có thể nghĩ ngay bây giờ.Bạn có thể thử các giải pháp cao su là tốt, nó không phải là khó Ví dụ: https://www.sharelatex.com/learn/Inserting_Images Tuy nhiên tôi đã tạo một báo cáo sửa chữa 21 trang với nhiều tài liệu ảnh 7 năm trước và nó hoạt động tốt tại thời điểm này với TCPDF (hoặc cái gì khác Tôi không thể xử lý 10k báo cáo mỗi ngày – burzum