cletus
cletus

Reputation: 625097

HTML+CSS to RTF (in PHP)?

I am seeking a solution to converting HTML + CSS (2.1) to RTF in PHP. While I have found a superb solution for HTML to PDF in Prince XML, I've yet to find anything that:

Is there anything out there?

Upvotes: 18

Views: 24234

Answers (3)

zfr
zfr

Reputation: 337

There is a PHP wrapper for HTML-to-PDF converter PD4ML. Optionally PD4ML can produce RTF instead of PDF. You just only need to add -outformat rtf or -outformat rtfwmf to its command line (and adjust HTTP header correspondingly).

Upvotes: 1

Leo Bonnafe
Leo Bonnafe

Reputation:

The easiest way to do this is using phpLiveDocx. It is component for the Zend Framework and completely free.

Supported template file formats (input)

  • DOCX - Microsoft Word DOCX Format
  • DOC - Microsoft Word DOC Format
  • RTF - Rich Text Format File
  • TXD - TX Text Control Format

Supported document file formats (output)

  • DOCX - Microsoft Word DOCX Format
  • DOC - Microsoft Word DOC Format
  • RTF - Rich Text Format File
  • PDF - Acrobat Portable Document Format
  • TXD - TX Text Control Format
  • TXT - ANSI Plain Text

From the project web site:

"phpLiveDocx allows developers to generate documents by combining structured data from PHP with a template, created in a word processor. The resulting document can be saved as a PDF, DOCX, DOC or RTF file. The concept is the same as with mail-merge."

For details, see:

http://www.phplivedocx.org/articles/brief-introduction-to-phplivedocx/

Upvotes: 13

vladr
vladr

Reputation: 66681

For all your document conversion needs, you can use OpenOffice (running in headless mode.) You may invoke it with command-line parameters to perform conversion, or you may interface with it using PUNO. You may spawn a new OpenOffice instance everytime you need conversion, or you may have one ore more instances run as daemon(s).

With either interfacing choice, you will probably want to use a macro to add custom headers and footers after opening the html, but before exporting as Word.

Upvotes: 12

Related Questions