템플릿을 기반으로하는 pdf 파일의 대량 생성을 수행하고 있으며 성능 문제가 매우 빠르게 발생했습니다. 나의 현재 시나리오는 다음과 같다 :pdftk를 사용하여 PHP에서 대량 템플릿 기반 pdf 생성
- 는 FDF로 PDF 파일을 병합 데이터
- 는 단일 데이터 행과 PDF 형식 디스크
- -
- 쓰기
.fdf
파일을 기반으로 FDF를 만들 DB를에서 작성 될 수 pdftk (병합 된 명령으로 fill_form 사용) .pdf
이 생성 될 때까지 행 반복 반복- 생성 된 모든 파일이 함께 병합됩니다. 끝과 하나의 PDF는 클라이언트
나는, 그러나 이것은 단지 약간의 성능 향상 (시간 파일을 작성 저장합니다)입니다 클라이언트에 원시 출력을 제공하기 위해 passthru
를 사용 주어집니다. 총 작업 시간은 200 레코드의 경우 약 50 초이며 어떤 식 으로든 적어도 10 초에 도달하려고합니다.
이상적인 시나리오는 이러한 모든 pdfs를 메모리에서 작동시키고 파일 하나 하나를 모두 작성하지 않고 pdftk와 같은 외부 도구에 그런 종류의 데이터를 전달할 수 없기 때문에 출력을 수행 할 수 없다는 것입니다 . 또 다른 아이디어는 그 모든 행을 가진 하나의 큰 .fdf
파일을 생성하는 것이지만, 허용되지 않는 것처럼 보입니다.
나는 여기 아주 사소한 것을 놓치고 있습니까?
나는 조언을 드릴 것입니다.
추신. 나는 pdflib와 같은 좋은 라이브러리를 사용할 수 있다는 것을 알고 있지만 지금은 오픈 된 라이브러리 만 고려하고 있습니다.
는 편집 :
내가 템플릿과 같은 PDF를 사용하여 여러 페이지가있는 .fdf
파일을 구축 할 수있는 구문을 파악까지 오전은, 몇 시간을 소비하고 좋은 문서를 찾을 수 없습니다.
xgetbug와 같은 프로파일 링 도구를 webgrind와 함께 사용하면 실제로 시간이 많이 걸리는 것을 볼 수 있습니다. (그리고 나서 그것을 해결할 수 있습니다.) 몇 일 전과 매우 비슷한 상황에 빠졌습니다. 오픈 소스 대기열 시스템을 사용하고있었습니다. 내 경우에는 시간이 필요해. 다시 오픈 소스 솔루션 인 dompdf를 사용하고있었습니다. – amitchhajer
필자는 프로파일 링을했는데 많은 시간을 필요로하는 주요 작업은 별도의 pdfs를 계속 작성하는 것입니다. –
왜 그냥 6 또는 7 pdftk 변환을 병렬로 실행하지 않아도 총 시간이 10 초로 줄어들지 않는 이유는 무엇입니까? –