Jump to content
php.lv forumi

Klases/biblioteākas RTF failu veidošanai


rat

Recommended Posts

Meklēju kādu ērtu klasi/bibliotēku RTF failu veidošanai. Nepieciešams, lai būtu iespēja likt iekšā bildes, tekstu dāžādos kodējumos (jo plašāka un ērtāk realizējama funkcionalitāte, jo labāk).

Uz servera stāv PHP5.

Link to comment
Share on other sites

nezinu vai strādā.. bet...

 

function html2rtf ( $html ) {
$startpos = strpos($html,'<');
$rtf = '';

while ( $startpos !== false ) {
// get tag
$endpos = strpos($html,'>',$startpos);
if ($endpos !== false) {
$tag = substr($html,$startpos+1,$endpos - $startpos - 1);
$rtf .= substr($html,0,$startpos);
switch (strtoupper($tag)) {
case 'P':
break;
case '/P':
$rtf .= ' \par ';
break;
case 'BR':
$rtf .= ' \line ';
break;
case 'B':
$rtf .= '{\b ';
break;
case '/B':
$rtf .= '}';
break;
case 'STRONG':
$rtf .= '{\b ';
break;
case '/STRONG':
$rtf .= '} ';
break;
case 'I':
$rtf .= '{\i ';
break;
case '/I':
$rtf .= '}';
break;
case 'EM':
$rtf .= '{\i ';
break;
case '/EM':
$rtf .= '}';
break;
case 'U':
$rtf .= '{\ul ';
break;
case '/U':
$rtf .= '}';
break;
case 'OL':
$listnumber = 1;
$listtype = 'number';
break;
case '/OL':
break;
case 'UL':
$listtype = 'bullet';
break;
case '/UL':
break;
case 'LI':
switch ($listtype) {
case 'number':
$bullet = "$listnumber.";
$listnumber++;
break;
default:
$bullet = '\bullet ';
break;
}
$rtf .= ' \fi-400\li400{'. $bullet .'\tab ';
break;
case '/LI':
$rtf .= '}\par ';
break;
case '/TD':
$rtf .= ' ';
break;
case '/TR':
$rtf .= ' \par ';
break;
}
$html = substr($html, $endpos + 1);

$startpos = strpos($html,'<');
} else {
$startpos = false;
}
}

// append remaining text
$rtf .= $html;


return $rtf;

}

Link to comment
Share on other sites

Ir netā gan pilns standarts no Microsoft, gan arī jau gatavas klases, kas to visu iekļauj, tikai diemžēl tās klases ir maksas, bet man vajag bezmaksas risinājumu.

A pašam kodēt nav laika - paietu pāris mēneši šim darbam :)

Link to comment
Share on other sites

Pāris dienas varbūt tad, ja viņas ir pilnībā brīvas, nevis ka dienas biegās pēc darba utt. paliek pāris h. Ja kas - tev ir visas iespējas izpausties un iegūt pasaules atzinību, jo cik es meklēju - sakarīgu bezmaksas RTF ģenerātoru neatradu. Bija visādas light versijas vai arī maksas, bet maksāt nevar un light versiju funkcionalitāte ir stipri par īsu.

 

Tad kā būs - taisīsi? :)

Link to comment
Share on other sites

×
×
  • Create New...