Ошибка при генерации PDF из шаблона

raul60

Новичок
Ошибка при генерации PDF из шаблона

При использовании учебного PDF-шаблона с диска к книге при генерации документа из этого шаблона всё нормально генерится, однако если пересохранить этот PDF из самого акробата или из корела или из иллюстратора, то документ генериться прекращает - выдаёт ошибку, что документ damaged или требует какой-то dict object. Точно также ведут все шаблоны созданные самостоятельно в любой программе.

Возможно, вопрос не совсем по PHP, однако файлы-шаблоны нормально открываются акробатом, а как повреждённый ведёт себя именно файл сгенерированный через PHP

Что нужно учесть при создании такого шаблона?
 

raul60

Новичок
Проблема в том, что учебный шаблон работает, а сделанный самостоятельно не работает, а не в том, что он из книги

И вопрос не о том, что это учебный или из книги, а в том, как правильно подготовить такой шаблон для генерации из PDF?
 

dimagolov

Новичок
raul60, если ты думаешь, что средство генерации PDF в PHP одно и дано нам Господом свыше как и Книга, то ты заблуждаешься.
 

raul60

Новичок
Хотелось бы всё же обсудить причину данной конкретной ошибки, если кто сталкивался с ней и знает причину. А вопрос о том, что думаю я о количестве средств генерации PDF отношения к моему вопросу не имеет
 

dimagolov

Новичок
raul60, ты идиот или прикидываешься? как можно обсуждать причины ошибок, если нифига непонятно чем ты этот PDF генеришь?

или ты птенец гнезда Евгения Петрова?
 

raul60

Новичок
Надеюсь, что мой собеседник настолько же знающий, насколько и хамовитый :) и знает решение проблемы...

function pdf_replace( $pattern, $replacement, $string )
{
$len = strlen( $pattern );
$regexp = '';
for ( $i = 0; $i<$len; $i++ )
{
$regexp .= $pattern[$i];
if ($i<$len-1)
$regexp .= "(\)\-{0,1}[0-9]*\(){0,1}";
}
return ereg_replace ( $regexp, $replacement, $string );
}

header( 'Content-Disposition: filename=cert.pdf');
header( 'Content-type: application/pdf' );
$imya="imya";
$filename="shablon.pdf";
$output=file_get_contents($filename);
$output=pdf_replace('<<imya>>',$imya,$output);
echo $output;

сам shablon.pdf содержит только строку <<imya>>

На самом деле проблема не в коде, а в том, что что-то не учитываю при поготовке шаблона, поскольку до пересохранения в самого себя (save as) шаблон из учебника получает переменную, а после - выдаёт ошибку
 
Сверху