183 lines
12 KiB
ReStructuredText
183 lines
12 KiB
ReStructuredText
.. _intro:
|
|
|
|
Introduction
|
|
============
|
|
|
|
PHPWord is a library written in pure PHP that provides a set of classes
|
|
to write to and read from different document file formats. The current
|
|
version of PHPWord supports Microsoft `Office Open
|
|
XML <http://en.wikipedia.org/wiki/Office_Open_XML>`__ (OOXML or
|
|
OpenXML), OASIS `Open Document Format for Office
|
|
Applications <http://en.wikipedia.org/wiki/OpenDocument>`__
|
|
(OpenDocument or ODF), and `Rich Text
|
|
Format <http://en.wikipedia.org/wiki/Rich_Text_Format>`__ (RTF).
|
|
|
|
No Windows operating system is needed for usage because the resulting
|
|
DOCX, ODT, or RTF files can be opened by all major `word processing
|
|
softwares <http://en.wikipedia.org/wiki/List_of_word_processors>`__.
|
|
|
|
PHPWord is an open source project licensed under LGPL. PHPWord is `unit
|
|
tested <https://travis-ci.org/PHPOffice/PHPWord>`__ to make sure that
|
|
the released versions are stable.
|
|
|
|
**Want to contribute?** `Fork
|
|
us <https://github.com/PHPOffice/PHPWord/fork>`__ or
|
|
`submit <https://github.com/PHPOffice/PHPWord/issues>`__ your bug
|
|
reports or feature requests to us.
|
|
|
|
Features
|
|
--------
|
|
|
|
- Set document properties, e.g. title, subject, and creator.
|
|
- Create document sections with different settings, e.g.
|
|
portrait/landscape, page size, and page numbering
|
|
- Create header and footer for each sections
|
|
- Set default font type, font size, and paragraph style
|
|
- Use UTF-8 and East Asia fonts/characters
|
|
- Define custom font styles (e.g. bold, italic, color) and paragraph
|
|
styles (e.g. centered, multicolumns, spacing) either as named style
|
|
or inline in text
|
|
- Insert paragraphs, either as a simple text or complex one (a text
|
|
run) that contains other elements
|
|
- Insert titles (headers) and table of contents
|
|
- Insert text breaks and page breaks
|
|
- Insert and format images, either local, remote, or as page watermarks
|
|
- Insert binary OLE Objects such as Excel or Visio
|
|
- Insert and format table with customized properties for each rows
|
|
(e.g. repeat as header row) and cells (e.g. background color,
|
|
rowspan, colspan)
|
|
- Insert list items as bulleted, numbered, or multilevel
|
|
- Insert hyperlinks
|
|
- Insert footnotes and endnotes
|
|
- Create document from templates
|
|
- Use XSL 1.0 style sheets to transform main document part of OOXML
|
|
template
|
|
- ... and many more features on progress
|
|
|
|
File formats
|
|
------------
|
|
|
|
Below are the supported features for each file formats.
|
|
|
|
Writers
|
|
~~~~~~~
|
|
|
|
+---------------------------+----------------------+--------+-------+-------+--------+-------+
|
|
| Features | | DOCX | ODT | RTF | HTML | PDF |
|
|
+===========================+======================+========+=======+=======+========+=======+
|
|
| **Document Properties** | Standard | ✓ | | | | |
|
|
+---------------------------+----------------------+--------+-------+-------+--------+-------+
|
|
| | Extended | ✓ | | | | |
|
|
+---------------------------+----------------------+--------+-------+-------+--------+-------+
|
|
| | UserDefined | ✓ | | | | |
|
|
+---------------------------+----------------------+--------+-------+-------+--------+-------+
|
|
| **Element Type** | Text | ✓ | ✓ | ✓ | ✓ | ✓ |
|
|
+---------------------------+----------------------+--------+-------+-------+--------+-------+
|
|
| | Text Run | ✓ | ✓ | ✓ | ✓ | ✓ |
|
|
+---------------------------+----------------------+--------+-------+-------+--------+-------+
|
|
| | Title | ✓ | | | ✓ | ✓ |
|
|
+---------------------------+----------------------+--------+-------+-------+--------+-------+
|
|
| | Link | ✓ | ✓ | | ✓ | ✓ |
|
|
+---------------------------+----------------------+--------+-------+-------+--------+-------+
|
|
| | Preserve Text | ✓ | | | | |
|
|
+---------------------------+----------------------+--------+-------+-------+--------+-------+
|
|
| | Text Break | ✓ | ✓ | ✓ | ✓ | ✓ |
|
|
+---------------------------+----------------------+--------+-------+-------+--------+-------+
|
|
| | Page Break | ✓ | | | | |
|
|
+---------------------------+----------------------+--------+-------+-------+--------+-------+
|
|
| | List | ✓ | | | | |
|
|
+---------------------------+----------------------+--------+-------+-------+--------+-------+
|
|
| | Table | ✓ | ✓ | | ✓ | ✓ |
|
|
+---------------------------+----------------------+--------+-------+-------+--------+-------+
|
|
| | Image | ✓ | ✓ | | ✓ | |
|
|
+---------------------------+----------------------+--------+-------+-------+--------+-------+
|
|
| | Object | ✓ | | | | |
|
|
+---------------------------+----------------------+--------+-------+-------+--------+-------+
|
|
| | Watermark | ✓ | | | | |
|
|
+---------------------------+----------------------+--------+-------+-------+--------+-------+
|
|
| | Table of Contents | ✓ | | | | |
|
|
+---------------------------+----------------------+--------+-------+-------+--------+-------+
|
|
| | Header | ✓ | | | | |
|
|
+---------------------------+----------------------+--------+-------+-------+--------+-------+
|
|
| | Footer | ✓ | | | | |
|
|
+---------------------------+----------------------+--------+-------+-------+--------+-------+
|
|
| | Footnote | ✓ | | | ✓ | |
|
|
+---------------------------+----------------------+--------+-------+-------+--------+-------+
|
|
| | Endnote | ✓ | | | ✓ | |
|
|
+---------------------------+----------------------+--------+-------+-------+--------+-------+
|
|
| **Graphs** | 2D basic graphs | | | | | |
|
|
+---------------------------+----------------------+--------+-------+-------+--------+-------+
|
|
| | 2D advanced graphs | | | | | |
|
|
+---------------------------+----------------------+--------+-------+-------+--------+-------+
|
|
| | 3D graphs | | | | | |
|
|
+---------------------------+----------------------+--------+-------+-------+--------+-------+
|
|
| **Math** | OMML support | | | | | |
|
|
+---------------------------+----------------------+--------+-------+-------+--------+-------+
|
|
| | MathML support | | | | | |
|
|
+---------------------------+----------------------+--------+-------+-------+--------+-------+
|
|
| **Bonus** | Encryption | | | | | |
|
|
+---------------------------+----------------------+--------+-------+-------+--------+-------+
|
|
| | Protection | | | | | |
|
|
+---------------------------+----------------------+--------+-------+-------+--------+-------+
|
|
|
|
Readers
|
|
~~~~~~~
|
|
|
|
+---------------------------+----------------------+--------+-------+-------+
|
|
| Features | | DOCX | ODT | RTF |
|
|
+===========================+======================+========+=======+=======+
|
|
| **Document Properties** | Standard | ✓ | | |
|
|
+---------------------------+----------------------+--------+-------+-------+
|
|
| | Extended | ✓ | | |
|
|
+---------------------------+----------------------+--------+-------+-------+
|
|
| | UserDefined | ✓ | | |
|
|
+---------------------------+----------------------+--------+-------+-------+
|
|
| **Element Type** | Text | ✓ | | |
|
|
+---------------------------+----------------------+--------+-------+-------+
|
|
| | Text Run | ✓ | | |
|
|
+---------------------------+----------------------+--------+-------+-------+
|
|
| | Title | ✓ | | |
|
|
+---------------------------+----------------------+--------+-------+-------+
|
|
| | Link | ✓ | | |
|
|
+---------------------------+----------------------+--------+-------+-------+
|
|
| | Preserve Text | ✓ | | |
|
|
+---------------------------+----------------------+--------+-------+-------+
|
|
| | Text Break | ✓ | | |
|
|
+---------------------------+----------------------+--------+-------+-------+
|
|
| | Page Break | ✓ | | |
|
|
+---------------------------+----------------------+--------+-------+-------+
|
|
| | List | ✓ | | |
|
|
+---------------------------+----------------------+--------+-------+-------+
|
|
| | Table | ✓ | | |
|
|
+---------------------------+----------------------+--------+-------+-------+
|
|
| | Image | ✓ | | |
|
|
+---------------------------+----------------------+--------+-------+-------+
|
|
| | Object | | | |
|
|
+---------------------------+----------------------+--------+-------+-------+
|
|
| | Watermark | | | |
|
|
+---------------------------+----------------------+--------+-------+-------+
|
|
| | Table of Contents | | | |
|
|
+---------------------------+----------------------+--------+-------+-------+
|
|
| | Header | ✓ | | |
|
|
+---------------------------+----------------------+--------+-------+-------+
|
|
| | Footer | ✓ | | |
|
|
+---------------------------+----------------------+--------+-------+-------+
|
|
| | Footnote | ✓ | | |
|
|
+---------------------------+----------------------+--------+-------+-------+
|
|
| | Endnote | ✓ | | |
|
|
+---------------------------+----------------------+--------+-------+-------+
|
|
| **Graphs** | 2D basic graphs | | | |
|
|
+---------------------------+----------------------+--------+-------+-------+
|
|
| | 2D advanced graphs | | | |
|
|
+---------------------------+----------------------+--------+-------+-------+
|
|
| | 3D graphs | | | |
|
|
+---------------------------+----------------------+--------+-------+-------+
|
|
| **Math** | OMML support | | | |
|
|
+---------------------------+----------------------+--------+-------+-------+
|
|
| | MathML support | | | |
|
|
+---------------------------+----------------------+--------+-------+-------+
|
|
| **Bonus** | Encryption | | | |
|
|
+---------------------------+----------------------+--------+-------+-------+
|
|
| | Protection | | | |
|
|
+---------------------------+----------------------+--------+-------+-------+
|