Создание Rtf файла, используя данные из базы

Подстановка данных в Odt файлКак сделать экспорт данных из базы в Rtf файл..

Простой Rtf (Rich Text Formatфайл содержит примерно такой код:

{\rtf1
{\fonttbl {\f0 Arial;} {\f1 Times New Roman;}}
\f0\fs28 Заголовок \par
\f1\fs20 Это простой rtf-документ.\par
}

Здесь определено два шрифта и добавлены две строки, одна ариалом размером 28 (14пт) и вторая таймом.

Чтобы больше узнать о кодах, использующихся в Rtf файлах можно скачать спецификацию rtf файла

Но проще, думаю, будет сформировать в текстовом редакторе, например, Open Office, шаблон нужного документа и вставить какие-то текстовые коды, чтобы можно было сделать их замену на нужные данные.

Например, можно использовать для вставки кодов такое сочетание <<name>>

Более сложный вариант - вывести несколько записей из базы данных с использованием подготовленного в rtf шаблона.

Чтобы сделать такой вывод, откроем Rtf документ в notepad++ и разделим его на части. Например, первая чать это не повторяющиеся данные, а вторая часть повторяющиеся данные, то есть туда будут подставляться данные из записей базы данных. Может быть будет еще и третья часть, где будут завершающие файл статичные данные.

<?php
header('Content-Type: application/msword');
header('Content-Disposition: inline, filename=blank.rtf');

$filename1 = 't1.txt';
$filename2 = 't2.txt';

$output = file_get_contents($filename1);

$filename2_data = file_get_contents($filename2);

foreach($records as $record){
 $data = str_replace('<<title>>', $recor->title, $filename2_data);
 $data = str_replace('<<name>>', $recor->name, $data);
}
$output .= $data;

//$output .= '\par }';

echo $output;
?>

Вот, примерно так. Важно, не напутать при разделении файла на части.

Что может огорчить при выводе данных в Rtf файл.. Столкнулся с тем, что в Rtf файле не получается объединить ячейки таблицы в колонке. Пробовал делать в OpenOffice.

Поэтому, если нужное вам форматирование не поддерживается rtf форматом, можно воспользовать odt форматом это текстовый редактор в пакете OpenOffice >> Подстановка данных в Odt файл