2012-10-08 16 views
6

Mam framework Symfony z silnikiem szablonu TWIG. Robię 1000 stron PDF wW Symfony, Czy istnieje sposób na tworzenie plików PDF w tym samym czasie?

<dynamic-page>...content in for-loop...</dynamic-page>` 

Jednak podczas zapisywania na dysku z ps_facade, to daje mi pamięci wyczerpane błąd krytyczny. Czy istnieje jakiś sposób na stworzenie tego pliku PDF o 5 stron kawałka?

Po badaniach okazało się, że powinien działać szablon z wartością 5 stron, a następnie napisać go do pliku. Ale w ten sposób nie będę mógł dodawać numerów stron, ponieważ numer strony powinien wynosić 1-1000. Mój kod stopka wygląda tak,

<placeholders> 
    <footer> 
     <div height="30px" width="100%"> 
     <hr/> 
     <div float="left">Blah Blah</div> 
     <div float="left" margin-left="350px"><page-info format="Page %s of %s"></div> 
     </div> 
    </footer> 
</placeholders> 

Odpowiedz

2

Należy użyć systemu obsługi wiadomości dla long processes like this. RabbitMQ może wykonać to zadanie.

  1. prośby użytkowników do pdf
  2. powiesz mu od razu, że jego prośba została uwzględniona, a otrzyma wiadomość e-mail, gdy praca jest wykonywana, lub że może wrócić później
  3. Konsument widzi pracę i uruchamia generowanie pdf (nie musi być w php).

Plusy: Ponieważ proces nie jest prowadzony przez Internetową wersję php, to nie ma memory_limit i czas max_execution ograniczenie Jeśli zadanie jest już uruchomiony, można poinformować użytkownika, więc zamiast uruchamiania innego generowanie dla tego samego pliku pdf. A ponieważ ludzie często odświeżają stronę, gdy zaczynają się niecierpliwić, może to być naprawdę Pro na twój serwer (mniejsze użycie procesora).

Minusy: Musisz skonfigurować serwer wiadomości i nauczyć się kilku rzeczy. Ale czy to naprawdę Con?

+0

Dzięki za wejście, ale to nie jest odpowiedź na moje pytanie :). Znam te wszystkie usługi i wszystko. Ale tego nie szukam. – doNotCheckMyBlog

Powiązane problemy