За последние 24 часа нас посетили 17548 программистов и 1589 роботов. Сейчас ищут 1389 программистов ...

Генерация PDF

Тема в разделе "Регулярные выражения", создана пользователем steks, 12 окт 2011.

  1. steks

    steks Активный пользователь

    С нами с:
    27 июл 2011
    Сообщения:
    4
    Симпатии:
    0
    Необходимо загрузить шаблон pdf файла, заменить заполнитель и вывести в браузере.
    При замене заполнителя с помощью регулярных выражений появляется ошибка "The file is demaged and could not be repaired."
    При чем обычную строку заменяет правильно. Код ниже

    Код (Text):
    1. <?php
    2. set_time_limit(180);
    3.  
    4. $cuzov = "Седан";
    5.  
    6. function pdf_replace($pattern, $replacement, $string)
    7. {
    8. $len = strlen($pattern);
    9. $regexp = "";
    10.  
    11. for($i=0; $i<$len; $i++)
    12. {
    13. $regexp .= $pattern[$i];
    14. if($i<$len-1)
    15.     $regexp .= "(\)\-{0,1}[0-9]*\(){0,1}";
    16. }
    17. return ereg_replace($regexp, $replacement, $string);
    18. }
    19.  
    20. header('Content-disposition: filename=technical.pdf');
    21. header('Content-type: application/pdf');
    22.  
    23. $filename = "tech.pdf";
    24. $fp = fopen($filename, 'r');
    25. $output = fread($fp, filesize($filename));
    26. fclose($fp);
    27.  
    28. $output = pdf_replace('<<cuzov>>', $cuzov, $output);
    29.  
    30. echo $output;
    31. ?>