<?xml version="1.0" encoding="UTF-8"?>
<pages type="array">
  <page>
    <created-at type="datetime">2008-10-19T04:39:02Z</created-at>
    <description>Reverted to revision #8</description>
    <id type="integer">63</id>
    <name>AODL</name>
    <number type="integer">11</number>
    <person-id type="integer">14</person-id>
    <text>__TOC__

= AODL (An Open Document Library) =

AODL is the .net module of the [[Home|ODF Toolkit]]. The library is completly written in pure C# and can be used
to extend your .net based software to support the OpenDocument Format. To use AODL within your projects respectively
software there is no need of a deep knowlegde of the OpenDocument Format itself. It would be helpfull to understand
what's going behind the scenes and for writing your own extensions, but as mentioned before this isn't a fundamental requirement.
&lt;br/&gt;&lt;br/&gt;
= Main Features =
Until now, the following fundamental operations are supported by AODL:&lt;br/&gt;

&lt;ul&gt;
&lt;li&gt;Creating new documents in the text and the spreadsheet format.&lt;/li&gt;
&lt;li&gt;Loading and manipulating documents in the text and spreadsheet (not complete yet) format.&lt;/li&gt;
&lt;li&gt;Initial support for Charts within Spreadsheet Documents.&lt;/li&gt;
&lt;li&gt;Export loaded or created documents into the HTML format (text and spreadsheet documents).&lt;/li&gt;
&lt;li&gt;Export loaded or created documents into the PDF Format. (this is in an early state of implementation and only available for text documents)&lt;/li&gt;
&lt;/ul&gt;
&lt;br/&gt;
= ODF implemented Features =
&lt;ul&gt;
&lt;li&gt;Reading, editing, creating and saving documents in the OpenDocument text format (TextDocument class).&lt;/li&gt;
&lt;li&gt;Reading, editing, creating and saving documents in the OpenDocument spreadsheet format (SpreadsheetDocument class).&lt;/li&gt;
&lt;li&gt;ParagraphBuilder class, this class offer several methods for the creation of often used Paragraphs types.&lt;/li&gt;
&lt;li&gt;TableBuilder class, this class offer several methods for the creation of often used Table types.&lt;/li&gt;
&lt;li&gt;TextBuilder class, this class offer several methods for the simple creation of ITextCollections that will be used within a Paragraph.&lt;/li&gt;
&lt;li&gt;SizeConverter class, this class offer size conversation and size type conversation methods for height and width properties of AODL OpenDocument objects.&lt;/li&gt;
&lt;li&gt;Colors class, this class offer the possibility to convert any .net system color to the corresponding color used in any document in the OpenDocument format.&lt;/li&gt;
&lt;li&gt;Support for common styles. These are e.g used by OpenOffice as style templates.&lt;/li&gt;
&lt;li&gt;Reading and writing of the documents metadata.&lt;/li&gt;
&lt;li&gt;Full Paragraph support incl. Paragraphstyle and Paragraphproperties.&lt;/li&gt;
&lt;li&gt;Full Header support incl. Headerstyle and Proeperties.&lt;/li&gt;
&lt;li&gt;List support (number and bullet) support incl. Liststyle and Listproperties.&lt;/li&gt;
&lt;li&gt;Full Table of Contents support incl. Sectionstyles.&lt;/li&gt;
&lt;li&gt;Full Table support with nested table up to any depth and cellmerging support.&lt;/li&gt;
&lt;li&gt;- Full support for Rows incl. Rowstyle and Rowproperties.&lt;/li&gt;
&lt;li&gt;- Full support for Columns incl. Columnstyle and Columnproperties.&lt;/li&gt;
&lt;li&gt;- Full support for Cells incl. Cellstyle and Cellproperties.&lt;/li&gt;
&lt;li&gt;Text support incl. Textstyle and textproperties.&lt;br/&gt; &lt;b&gt;...........&lt;br/&gt;&lt;br/&gt;     
Take a look at this [[AODL-Features|page]] to see a complete list of existing features.&lt;br/&gt;&amp;nbsp;&lt;/b&gt;
&lt;/li&gt;
&lt;/ul&gt;
= FAQ =
The AODL [[AODL-FAQ|FAQ]] (where to get the source, requirements, ..)&lt;br/&gt;
= Source Code and Download =
&lt;ul&gt;
&lt;li&gt;[http://odftoolkit.org/sources/aodl-src/show Mercurial repository]  of the current AODL source code. The &lt;a href=&quot;{{project help page SourceControl}}&quot;&gt;help&lt;/a&gt; contains instruction how to use Mercurial on odftoolkit.org.&lt;/li&gt;
&lt;li&gt;Download of the binary releases: [http://odftoolkit.org/projects/odftoolkit/downloads Download Page] .&lt;/li&gt;
&lt;/ul&gt;
= Code Snippets and Examples=
Here you will find several AODL code [[AODL-Examples|examples / snippets]]. Larger examples in form of Sample Applications a part of the source code.&lt;br/&gt;&amp;nbsp;

= Further Information =
* Google Summer of Code 2007, AODL [[AODL-Google-Summer-of-Code-2007|enhancements and status (finished)]]
* A [[AODL-Wishlist|Wish List]] for additional features and enhancements.&lt;br/&gt;



&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: [[Home|ODF Toolkit Wiki Home]]&lt;/center&gt;&lt;/p&gt;
</text>
    <text-as-html>&lt;div id='toc' class='toc'&gt;
           &lt;div id='toctitle' class='toc-title'&gt;
             &lt;span&gt;Contents&lt;/span&gt;
           &lt;/div&gt;
           &lt;div id='toccontents' class='toc-contents'&gt;&lt;ul&gt;&lt;li&gt;1 &lt;a href='#AODL_(An_Open_Document_Library)'&gt; AODL (An Open Document Library) &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;2 &lt;a href='#Main_Features'&gt; Main Features &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;3 &lt;a href='#ODF_implemented_Features'&gt; ODF implemented Features &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;4 &lt;a href='#FAQ'&gt; FAQ &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;5 &lt;a href='#Source_Code_and_Download'&gt; Source Code and Download &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;6 &lt;a href='#Code_Snippets_and_Examples'&gt; Code Snippets and Examples&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;7 &lt;a href='#Further_Information'&gt; Further Information &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
         &lt;/div&gt;&lt;p&gt;&lt;br /&gt;

&lt;/p&gt;&lt;h1&gt;&lt;a name='AODL_(An_Open_Document_Library)'&gt;&lt;/a&gt; AODL (An Open Document Library) &lt;/h1&gt;
&lt;p&gt;
AODL is the .net module of the &lt;a href='&lt;?url_for_page Home?&gt;' class='internal'&gt;ODF Toolkit&lt;/a&gt;. The library is completly written in pure C# and can be used
to extend your .net based software to support the OpenDocument Format. To use AODL within your projects respectively
software there is no need of a deep knowlegde of the OpenDocument Format itself. It would be helpfull to understand
what's going behind the scenes and for writing your own extensions, but as mentioned before this isn't a fundamental requirement.
&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;h1&gt;&lt;a name='Main_Features'&gt;&lt;/a&gt; Main Features &lt;/h1&gt;
&lt;p&gt;Until now, the following fundamental operations are supported by AODL:&lt;br /&gt;

&lt;/p&gt;&lt;p&gt;&lt;ul&gt;&lt;li&gt;Creating new documents in the text and the spreadsheet format.&lt;/li&gt;&lt;li&gt;Loading and manipulating documents in the text and spreadsheet (not complete yet) format.&lt;/li&gt;&lt;li&gt;Initial support for Charts within Spreadsheet Documents.&lt;/li&gt;&lt;li&gt;Export loaded or created documents into the HTML format (text and spreadsheet documents).&lt;/li&gt;&lt;li&gt;Export loaded or created documents into the PDF Format. (this is in an early state of implementation and only available for text documents)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/p&gt;&lt;h1&gt;&lt;a name='ODF_implemented_Features'&gt;&lt;/a&gt; ODF implemented Features &lt;/h1&gt;
&lt;p&gt;&lt;ul&gt;&lt;li&gt;Reading, editing, creating and saving documents in the OpenDocument text format (TextDocument class).&lt;/li&gt;&lt;li&gt;Reading, editing, creating and saving documents in the OpenDocument spreadsheet format (SpreadsheetDocument class).&lt;/li&gt;&lt;li&gt;ParagraphBuilder class, this class offer several methods for the creation of often used Paragraphs types.&lt;/li&gt;&lt;li&gt;TableBuilder class, this class offer several methods for the creation of often used Table types.&lt;/li&gt;&lt;li&gt;TextBuilder class, this class offer several methods for the simple creation of ITextCollections that will be used within a Paragraph.&lt;/li&gt;&lt;li&gt;SizeConverter class, this class offer size conversation and size type conversation methods for height and width properties of AODL OpenDocument objects.&lt;/li&gt;&lt;li&gt;Colors class, this class offer the possibility to convert any .net system color to the corresponding color used in any document in the OpenDocument format.&lt;/li&gt;&lt;li&gt;Support for common styles. These are e.g used by OpenOffice as style templates.&lt;/li&gt;&lt;li&gt;Reading and writing of the documents metadata.&lt;/li&gt;&lt;li&gt;Full Paragraph support incl. Paragraphstyle and Paragraphproperties.&lt;/li&gt;&lt;li&gt;Full Header support incl. Headerstyle and Proeperties.&lt;/li&gt;&lt;li&gt;List support (number and bullet) support incl. Liststyle and Listproperties.&lt;/li&gt;&lt;li&gt;Full Table of Contents support incl. Sectionstyles.&lt;/li&gt;&lt;li&gt;Full Table support with nested table up to any depth and cellmerging support.&lt;/li&gt;&lt;li&gt;- Full support for Rows incl. Rowstyle and Rowproperties.&lt;/li&gt;&lt;li&gt;- Full support for Columns incl. Columnstyle and Columnproperties.&lt;/li&gt;&lt;li&gt;- Full support for Cells incl. Cellstyle and Cellproperties.&lt;/li&gt;&lt;li&gt;Text support incl. Textstyle and textproperties.&lt;br /&gt; &lt;b&gt;...........&lt;br /&gt;&lt;br /&gt;     
Take a look at this &lt;a href='&lt;?url_for_page AODL-Features?&gt;' class='internal'&gt;page&lt;/a&gt; to see a complete list of existing features.&lt;br /&gt;&amp;nbsp;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;h1&gt;&lt;a name='FAQ'&gt;&lt;/a&gt; FAQ &lt;/h1&gt;
&lt;p&gt;The AODL &lt;a href='&lt;?url_for_page AODL-FAQ?&gt;' class='internal'&gt;FAQ&lt;/a&gt; (where to get the source, requirements, ..)&lt;br /&gt;&lt;/p&gt;&lt;h1&gt;&lt;a name='Source_Code_and_Download'&gt;&lt;/a&gt; Source Code and Download &lt;/h1&gt;
&lt;p&gt;&lt;ul&gt;&lt;li&gt;&lt;a class='external' href=&quot;http://odftoolkit.org/sources/aodl-src/show&quot;&gt;Mercurial repository&lt;/a&gt;  of the current AODL source code. The &lt;a href=&quot;&lt;?url_for_resource project help page SourceControl?&gt;&quot;&gt;help&lt;/a&gt; contains instruction how to use Mercurial on odftoolkit.org.&lt;/li&gt;&lt;li&gt;Download of the binary releases: &lt;a class='external' href=&quot;http://odftoolkit.org/projects/odftoolkit/downloads&quot;&gt;Download Page&lt;/a&gt; .&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;h1&gt;&lt;a name='Code_Snippets_and_Examples'&gt;&lt;/a&gt; Code Snippets and Examples&lt;/h1&gt;
&lt;p&gt;Here you will find several AODL code &lt;a href='&lt;?url_for_page AODL-Examples?&gt;' class='internal'&gt;examples / snippets&lt;/a&gt;. Larger examples in form of Sample Applications a part of the source code.&lt;br /&gt;&amp;nbsp;

&lt;/p&gt;&lt;h1&gt;&lt;a name='Further_Information'&gt;&lt;/a&gt; Further Information &lt;/h1&gt;
&lt;ul&gt;&lt;li&gt; Google Summer of Code 2007, AODL &lt;a href='&lt;?url_for_page AODL-Google-Summer-of-Code-2007?&gt;' class='internal'&gt;enhancements and status (finished)&lt;/a&gt;&lt;/li&gt;&lt;li&gt; A &lt;a href='&lt;?url_for_page AODL-Wishlist?&gt;' class='internal'&gt;Wish List&lt;/a&gt; for additional features and enhancements.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;

&lt;/p&gt;&lt;p&gt;&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: &lt;a href='&lt;?url_for_page Home?&gt;' class='internal'&gt;ODF Toolkit Wiki Home&lt;/a&gt;&lt;/center&gt;&lt;/p&gt;&lt;/p&gt;</text-as-html>
    <updated-at type="datetime">2009-02-10T21:00:47Z</updated-at>
    <wiki-id type="integer">51</wiki-id>
  </page>
  <page>
    <created-at type="datetime">2008-10-19T05:01:59Z</created-at>
    <description>Reverted to revision #2</description>
    <id type="integer">66</id>
    <name>AODL-Examples</name>
    <number type="integer">6</number>
    <person-id type="integer">14</person-id>
    <text>= AODL Examples and Code Snippets =

&lt;ol&gt;
&lt;li&gt;Create a Spreadsheet document and add a table with formated cells. [[AODL-example-1|Show example]]&lt;/li&gt;
&lt;li&gt;Create a spreadsheet document and add a table. [[AODL-example-2|Show example]]&lt;/li&gt;
&lt;li&gt;Add Image Maps to your document. [[AODL-example-3|Show example]]&lt;/li&gt;
&lt;li&gt;Add a graphic as Illustration to you document. [[AODL-example-4|Show example]]&lt;/li&gt;
&lt;li&gt;Add graphics to your document. [[AODL-example-5|Show example]]&lt;/li&gt;
&lt;li&gt;Create a table and use cell merging. [[AODL-example-6|Show example]]&lt;/li&gt;
&lt;li&gt;Create a simple text table by using the TableBuilder class. [[AODL-example-7|Show example]]&lt;/li&gt;
&lt;li&gt;Don't do things twice. Create deep clones of any IContent object. [[AODL-example-8|Show example]]&lt;/li&gt;
&lt;li&gt;Accessing and manipulating common styles (style templates). [[AODL-example-9|Show example]]&lt;/li&gt;
&lt;li&gt;Create a Paragraph Collection from a long string by using the ParagraphBuilder. [[AODL-example-10|Show example]]&lt;/li&gt;
&lt;li&gt;Creating Footnotes and Endnotes. [[AODL-example-11|Show example]]&lt;/li&gt;
&lt;li&gt;Create any type of hyperlinks by using the XLink class. [[AODL-example-12|Show example]]&lt;/li&gt;
&lt;li&gt;Using the Header object and fill the heading text using the TextBuilder class. [[AODL-example-13|Show example]]&lt;/li&gt;
&lt;li&gt;Create a List with List Item objects. [[AODL-example-14|Show example]]&lt;/li&gt;
&lt;li&gt;Create a standard Paragraph with formated text. [[AODL-example-15|Show example]]&lt;/li&gt;
&lt;li&gt;Create a simple Paragraph using the ParagraphBuilder. [[AODL-example-16|Show example]]&lt;/li&gt;
&lt;li&gt;Create a new TextDocument and use the OpenOfficeLib to do a print out. [[AODL-example-17|Show example]]&lt;/li&gt;
&lt;/ol&gt;

&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: [[AODL|AODL Wiki Home]] || [[Home|ODF Toolkit Wiki Home]]&lt;/center&gt;&lt;/p&gt;</text>
    <text-as-html>&lt;h1&gt;&lt;a name='AODL_Examples_and_Code_Snippets'&gt;&lt;/a&gt; AODL Examples and Code Snippets &lt;/h1&gt;
&lt;p&gt;&lt;ol&gt;&lt;li&gt;Create a Spreadsheet document and add a table with formated cells. &lt;a href='&lt;?url_for_page AODL-example-1?&gt;' class='internal'&gt;Show example&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Create a spreadsheet document and add a table. &lt;a href='&lt;?url_for_page AODL-example-2?&gt;' class='internal'&gt;Show example&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Add Image Maps to your document. &lt;a href='&lt;?url_for_page AODL-example-3?&gt;' class='internal'&gt;Show example&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Add a graphic as Illustration to you document. &lt;a href='&lt;?url_for_page AODL-example-4?&gt;' class='internal'&gt;Show example&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Add graphics to your document. &lt;a href='&lt;?url_for_page AODL-example-5?&gt;' class='internal'&gt;Show example&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Create a table and use cell merging. &lt;a href='&lt;?url_for_page AODL-example-6?&gt;' class='internal'&gt;Show example&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Create a simple text table by using the TableBuilder class. &lt;a href='&lt;?url_for_page AODL-example-7?&gt;' class='internal'&gt;Show example&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Don't do things twice. Create deep clones of any IContent object. &lt;a href='&lt;?url_for_page AODL-example-8?&gt;' class='internal'&gt;Show example&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Accessing and manipulating common styles (style templates). &lt;a href='&lt;?url_for_page AODL-example-9?&gt;' class='internal'&gt;Show example&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Create a Paragraph Collection from a long string by using the ParagraphBuilder. &lt;a href='&lt;?url_for_page AODL-example-10?&gt;' class='internal'&gt;Show example&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Creating Footnotes and Endnotes. &lt;a href='&lt;?url_for_page AODL-example-11?&gt;' class='internal'&gt;Show example&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Create any type of hyperlinks by using the XLink class. &lt;a href='&lt;?url_for_page AODL-example-12?&gt;' class='internal'&gt;Show example&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Using the Header object and fill the heading text using the TextBuilder class. &lt;a href='&lt;?url_for_page AODL-example-13?&gt;' class='internal'&gt;Show example&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Create a List with List Item objects. &lt;a href='&lt;?url_for_page AODL-example-14?&gt;' class='internal'&gt;Show example&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Create a standard Paragraph with formated text. &lt;a href='&lt;?url_for_page AODL-example-15?&gt;' class='internal'&gt;Show example&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Create a simple Paragraph using the ParagraphBuilder. &lt;a href='&lt;?url_for_page AODL-example-16?&gt;' class='internal'&gt;Show example&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Create a new TextDocument and use the OpenOfficeLib to do a print out. &lt;a href='&lt;?url_for_page AODL-example-17?&gt;' class='internal'&gt;Show example&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;

&lt;/p&gt;&lt;p&gt;&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: &lt;a href='&lt;?url_for_page AODL?&gt;' class='internal'&gt;AODL Wiki Home&lt;/a&gt; || &lt;a href='&lt;?url_for_page Home?&gt;' class='internal'&gt;ODF Toolkit Wiki Home&lt;/a&gt;&lt;/center&gt;&lt;/p&gt;&lt;/p&gt;</text-as-html>
    <updated-at type="datetime">2009-02-10T21:01:49Z</updated-at>
    <wiki-id type="integer">51</wiki-id>
  </page>
  <page>
    <created-at type="datetime">2008-10-19T05:41:53Z</created-at>
    <description>initial ....</description>
    <id type="integer">84</id>
    <name>AODL-FAQ</name>
    <number type="integer">4</number>
    <person-id type="integer">12</person-id>
    <text>== AODL FAQ ==

&lt;p&gt;
'''''Where can I checkout resp. download the source code or binaries?'''''
&lt;br/&gt;
The source code of AODL is stored within the Marcurial repository of the ODF Toolkit. 
On the following site you can browse the repository online
and will also get information about how to check out the source code.
[http://odftoolkit.org/sources/aodl-src/show Mercurial Repository]
The source code as a downloadable file will follow within the next days and will be
available through the ODF Toolkits project homepage.
[http://odftoolkit.org ODF Toolkit]
&lt;/p&gt;
&lt;p&gt;
'''''Must be OpenOffice.org or parts of it installed for using AODL?'''''
&lt;br/&gt;
There is no need of a installation. The whole document handling is implemented
inside AODL without dependicies on OpenOffice.org or it's API.&lt;br/&gt;
The only case where OpenOffice.org has to be installed is when you plan to use 
the small printer library which is available within AODL.
&lt;/p&gt;
&lt;p&gt;
'''''Can AODL be used with mono under Linux?'''''
&lt;br/&gt;
Yes, this is possible since there are no Microsoft specific dependicies.
&lt;/p&gt;
&lt;p&gt;
'''''Which version of the .net framwork is required by AODL?'''''
&lt;br/&gt;
AODL will need at minimum version 1.1 of the .net framework.
&lt;/p&gt;
&lt;p&gt;
'''''Is it possible to compile AODL with the Microsoft Visual Studio 2005 and or 2008 C# Express Edition?'''''
&lt;br/&gt;
Yes, you can simply import the existing Visual Studio project file and compile
the whole library.&lt;br/&gt; However, the original project file is for Microsoft Visual Studio 2003.
&lt;/p&gt;

&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: [[AODL|AODL Wiki Home]] ||  [[AODL-Examples|AODL Examples Overview]] || [[Home|ODF Toolkit Wiki Home]]&lt;/center&gt;&lt;/p&gt;</text>
    <text-as-html>&lt;h2&gt;&lt;a name='AODL_FAQ'&gt;&lt;/a&gt; AODL FAQ &lt;/h2&gt;
&lt;p&gt;&lt;p&gt;&lt;i&gt;&lt;b&gt;Where can I checkout resp. download the source code or binaries?&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
The source code of AODL is stored within the Marcurial repository of the ODF Toolkit. 
On the following site you can browse the repository online
and will also get information about how to check out the source code.
&lt;a class='external' href=&quot;http://odftoolkit.org/sources/aodl-src/show&quot;&gt;Mercurial Repository&lt;/a&gt;
The source code as a downloadable file will follow within the next days and will be
available through the ODF Toolkits project homepage.
&lt;a class='external' href=&quot;http://odftoolkit.org&quot;&gt;ODF Toolkit&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;&lt;b&gt;Must be OpenOffice.org or parts of it installed for using AODL?&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
There is no need of a installation. The whole document handling is implemented
inside AODL without dependicies on OpenOffice.org or it's API.&lt;br /&gt;
The only case where OpenOffice.org has to be installed is when you plan to use 
the small printer library which is available within AODL.
&lt;/p&gt;&lt;p&gt;&lt;i&gt;&lt;b&gt;Can AODL be used with mono under Linux?&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
Yes, this is possible since there are no Microsoft specific dependicies.
&lt;/p&gt;&lt;p&gt;&lt;i&gt;&lt;b&gt;Which version of the .net framwork is required by AODL?&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
AODL will need at minimum version 1.1 of the .net framework.
&lt;/p&gt;&lt;p&gt;&lt;i&gt;&lt;b&gt;Is it possible to compile AODL with the Microsoft Visual Studio 2005 and or 2008 C# Express Edition?&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
Yes, you can simply import the existing Visual Studio project file and compile
the whole library.&lt;br /&gt; However, the original project file is for Microsoft Visual Studio 2003.
&lt;/p&gt;

&lt;/p&gt;&lt;p&gt;&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: &lt;a href='&lt;?url_for_page AODL?&gt;' class='internal'&gt;AODL Wiki Home&lt;/a&gt; ||  &lt;a href='&lt;?url_for_page AODL-Examples?&gt;' class='internal'&gt;AODL Examples Overview&lt;/a&gt; || &lt;a href='&lt;?url_for_page Home?&gt;' class='internal'&gt;ODF Toolkit Wiki Home&lt;/a&gt;&lt;/center&gt;&lt;/p&gt;&lt;/p&gt;</text-as-html>
    <updated-at type="datetime">2008-11-03T11:14:32Z</updated-at>
    <wiki-id type="integer">51</wiki-id>
  </page>
  <page>
    <created-at type="datetime">2008-10-19T04:57:23Z</created-at>
    <description>initial ....</description>
    <id type="integer">65</id>
    <name>AODL-Features</name>
    <number type="integer">3</number>
    <person-id type="integer">6</person-id>
    <text>= AODL Main Features =

&lt;ul&gt;
&lt;li&gt; Reading, editing, creating and saving documents in the OpenDocument text format (TextDocument class).&lt;/li&gt;
&lt;li&gt; Reading, editing, creating and saving documents in the OpenDocument spreadsheet format (SpreadsheetDocument class).&lt;/li&gt;
&lt;li&gt; ParagraphBuilder class, this class offer several methods for the creation of often used Paragraphs types.&lt;/li&gt;
&lt;li&gt; TableBuilder class, this class offer several methods for the creation of often used Table types.&lt;/li&gt;
&lt;li&gt; TextBuilder class, this class offer several methods for the simple creation of ITextCollections that will be used within a Paragraph.&lt;/li&gt;
&lt;li&gt; SizeConverter class, this class offer size conversation and size type conversation methods for height and width properties of AODL OpenDocument objects.&lt;/li&gt;
&lt;li&gt; Colors class, this class offer the possibility to convert any .net system color to the corresponding color used in any document in the OpenDocument format.&lt;/li&gt;
&lt;li&gt; Support for common styles. These are e.g used by OpenOffice as style templates.&lt;/li&gt;
&lt;li&gt; Reading and writing of the documents metadata.&lt;/li&gt;
&lt;li&gt; Full Paragraph support incl. Paragraphstyle and Paragraphproperties.&lt;/li&gt;
&lt;li&gt; Full Header support incl. Headerstyle and Proeperties.&lt;/li&gt;
&lt;li&gt; List support (number and bullet) support incl. Liststyle and Listproperties.&lt;/li&gt;
&lt;li&gt; Full Table of Contents support incl. Sectionstyles.&lt;/li&gt;
&lt;li&gt; Full Table support with nested table up to any depth and cellmerging support.&lt;/li&gt;
  - Full support for Rows incl. Rowstyle and Rowproperties.
  - Full support for Columns incl. Columnstyle and Columnproperties.
  - Full support for Cells incl. Cellstyle and Cellproperties.  
&lt;li&gt; Text support incl. Textstyle and textproperties.&lt;/li&gt;
  - Simple Text
  - Formated text
  - Footnotes and Endnotes
&lt;li&gt; Textcontrol Whitespaces, Tabstops and Linebreaks.&lt;/li&gt;
&lt;li&gt; XLink support (Hyperlinks for www, email, ftp,.. ).&lt;/li&gt;
&lt;li&gt; Full Bookmark support (Standard, End and Start).&lt;/li&gt;
&lt;li&gt; Graphic support, graphics could be used as simple embed graphic or as a Illustration with a sorounding DrawTextBox.&lt;/li&gt;
&lt;li&gt; Drawframe support. The draw frame is the standard container object for draw objects and graphics. Incl. Graphicstyle and Graphicproperties.&lt;/li&gt;
&lt;li&gt; Imagemap support with DrawAreaRectangle and DrawAreaCircle.&lt;/li&gt;
&lt;li&gt; DrawTextBox support.&lt;/li&gt;
&lt;li&gt; Officescripts support. Office scripts could be used within a image map.&lt;/li&gt;
&lt;li&gt; Deep cloning of AODL content objects. Deep clones from most of the IContent implementations like Tables, Paragraphs could be simply created by calling the clone method.&lt;/li&gt;
&lt;li&gt; The Unknown content pattern. The unknown content implementation is available for Styles, Content and Text. All content that will be read from a OpenDocument file which isn't implemented yet will be mapped to a UnknownContent, UnknownTextContent resp. a UknownStyle object. All these implementation has a public property Node which made it easy to analyze the OpenDocument format inside. At least this solution make it possible to load and write files back without loosing any style or content information.&lt;/li&gt;
&lt;li&gt; OpenDocument Importer interface. This interface let you easily writing your own importer implementations. Existing standard implementation of IImporter&lt;/li&gt;
  - PlainTextImporter (TextDocument only)
  - CsvImporter (SpreadsheetDocument only)
  - OpenDocumentImporter all document types.  
&lt;li&gt; OpenDocument Exporter interface. This interface let you easily writing your own exporter implementations. Existing standard implementation of IExporter&lt;/li&gt;
  - OpenDocumentExporter all document types.
  - HtmlExporter all document types.
  - PDF export for text documents (early beta and TextDocument only)
&lt;li&gt; Helper class LinesStyles (possible Linestyles), Border (possible Border) and FontFamilies (about 100 fonts).&lt;/li&gt;
&lt;li&gt; Print documents via the included OpenOfficeLib (This is feature is embed in seperate dll and is the only feature which need an existing OpenOffice installation.)&lt;/li&gt;
&lt;li&gt; Master style pages support&lt;/li&gt;
&lt;li&gt; Office forms support&lt;/li&gt;
&lt;li&gt; Fields support&lt;/li&gt;
&lt;/ul&gt;

&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: [[AODL|AODL Wiki Home]] || [[Home|ODF Toolkit Wiki Home]]&lt;/center&gt;&lt;/p&gt;</text>
    <text-as-html>&lt;h1&gt;&lt;a name='AODL_Main_Features'&gt;&lt;/a&gt; AODL Main Features &lt;/h1&gt;
&lt;p&gt;&lt;ul&gt;&lt;li&gt; Reading, editing, creating and saving documents in the OpenDocument text format (TextDocument class).&lt;/li&gt;&lt;li&gt; Reading, editing, creating and saving documents in the OpenDocument spreadsheet format (SpreadsheetDocument class).&lt;/li&gt;&lt;li&gt; ParagraphBuilder class, this class offer several methods for the creation of often used Paragraphs types.&lt;/li&gt;&lt;li&gt; TableBuilder class, this class offer several methods for the creation of often used Table types.&lt;/li&gt;&lt;li&gt; TextBuilder class, this class offer several methods for the simple creation of ITextCollections that will be used within a Paragraph.&lt;/li&gt;&lt;li&gt; SizeConverter class, this class offer size conversation and size type conversation methods for height and width properties of AODL OpenDocument objects.&lt;/li&gt;&lt;li&gt; Colors class, this class offer the possibility to convert any .net system color to the corresponding color used in any document in the OpenDocument format.&lt;/li&gt;&lt;li&gt; Support for common styles. These are e.g used by OpenOffice as style templates.&lt;/li&gt;&lt;li&gt; Reading and writing of the documents metadata.&lt;/li&gt;&lt;li&gt; Full Paragraph support incl. Paragraphstyle and Paragraphproperties.&lt;/li&gt;&lt;li&gt; Full Header support incl. Headerstyle and Proeperties.&lt;/li&gt;&lt;li&gt; List support (number and bullet) support incl. Liststyle and Listproperties.&lt;/li&gt;&lt;li&gt; Full Table of Contents support incl. Sectionstyles.&lt;/li&gt;&lt;li&gt; Full Table support with nested table up to any depth and cellmerging support.&lt;/li&gt;&lt;pre&gt;  - Full support for Rows incl. Rowstyle and Rowproperties.
  - Full support for Columns incl. Columnstyle and Columnproperties.
  - Full support for Cells incl. Cellstyle and Cellproperties.  
&lt;/pre&gt;&lt;li&gt; Text support incl. Textstyle and textproperties.&lt;/li&gt;&lt;pre&gt;  - Simple Text
  - Formated text
  - Footnotes and Endnotes
&lt;/pre&gt;&lt;li&gt; Textcontrol Whitespaces, Tabstops and Linebreaks.&lt;/li&gt;&lt;li&gt; XLink support (Hyperlinks for www, email, ftp,.. ).&lt;/li&gt;&lt;li&gt; Full Bookmark support (Standard, End and Start).&lt;/li&gt;&lt;li&gt; Graphic support, graphics could be used as simple embed graphic or as a Illustration with a sorounding DrawTextBox.&lt;/li&gt;&lt;li&gt; Drawframe support. The draw frame is the standard container object for draw objects and graphics. Incl. Graphicstyle and Graphicproperties.&lt;/li&gt;&lt;li&gt; Imagemap support with DrawAreaRectangle and DrawAreaCircle.&lt;/li&gt;&lt;li&gt; DrawTextBox support.&lt;/li&gt;&lt;li&gt; Officescripts support. Office scripts could be used within a image map.&lt;/li&gt;&lt;li&gt; Deep cloning of AODL content objects. Deep clones from most of the IContent implementations like Tables, Paragraphs could be simply created by calling the clone method.&lt;/li&gt;&lt;li&gt; The Unknown content pattern. The unknown content implementation is available for Styles, Content and Text. All content that will be read from a OpenDocument file which isn't implemented yet will be mapped to a UnknownContent, UnknownTextContent resp. a UknownStyle object. All these implementation has a public property Node which made it easy to analyze the OpenDocument format inside. At least this solution make it possible to load and write files back without loosing any style or content information.&lt;/li&gt;&lt;li&gt; OpenDocument Importer interface. This interface let you easily writing your own importer implementations. Existing standard implementation of IImporter&lt;/li&gt;&lt;pre&gt;  - PlainTextImporter (TextDocument only)
  - CsvImporter (SpreadsheetDocument only)
  - OpenDocumentImporter all document types.  
&lt;/pre&gt;&lt;li&gt; OpenDocument Exporter interface. This interface let you easily writing your own exporter implementations. Existing standard implementation of IExporter&lt;/li&gt;&lt;pre&gt;  - OpenDocumentExporter all document types.
  - HtmlExporter all document types.
  - PDF export for text documents (early beta and TextDocument only)
&lt;/pre&gt;&lt;li&gt; Helper class LinesStyles (possible Linestyles), Border (possible Border) and FontFamilies (about 100 fonts).&lt;/li&gt;&lt;li&gt; Print documents via the included OpenOfficeLib (This is feature is embed in seperate dll and is the only feature which need an existing OpenOffice installation.)&lt;/li&gt;&lt;li&gt; Master style pages support&lt;/li&gt;&lt;li&gt; Office forms support&lt;/li&gt;&lt;li&gt; Fields support&lt;/li&gt;&lt;/ul&gt;

&lt;/p&gt;&lt;p&gt;&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: &lt;a href='&lt;?url_for_page AODL?&gt;' class='internal'&gt;AODL Wiki Home&lt;/a&gt; || &lt;a href='&lt;?url_for_page Home?&gt;' class='internal'&gt;ODF Toolkit Wiki Home&lt;/a&gt;&lt;/center&gt;&lt;/p&gt;&lt;/p&gt;</text-as-html>
    <updated-at type="datetime">2008-11-01T16:45:43Z</updated-at>
    <wiki-id type="integer">51</wiki-id>
  </page>
  <page>
    <created-at type="datetime">2008-10-19T04:53:01Z</created-at>
    <description>initial ....</description>
    <id type="integer">64</id>
    <name>AODL-Google-Summer-of-Code-2007</name>
    <number type="integer">3</number>
    <person-id type="integer">6</person-id>
    <text>__TOC__

This is the wiki page for the Google Summer of Code 2007 proposal by Oleg Yegorov and mentored by Dieter L&#246;schky and Lars Behrmann.

== Proposal ==
'''FORMS'''&lt;br/&gt;
The first part of my project is to implement Forms support for the AODL library.
My vision of it (briefly):
# The main classes for Forms support are located in the AODL.Document.Forms namespace.
# Each form is represented by the ODFForm class; this class should contain such properties as Href, TargetFrame, Method and others (which are the attributes of a form:form tag). It should implement the IHtml interface (allows to export non-nested forms into HTML)
# Those properties that have several possible values should have an enum type.
# Boolean properties will have an XmlBoolean type (enum with possible values: True, False, NotSet).
# Properties listed in form:properties tag should be reflected in a Properties property of ODFForm (these properties are application-specific). There should be smart methods that return the required property.
# Each form should have a collection of child controls (Controls property of ODFControlsCollection type); ODFControlsCollection will be a class derived from CollectionWithEvents.
# Everything connected with controls will be located in AODL.Document.Forms.Controls
# A separate class will stand for each control type (such as ODFText, ODFTextArea, ODFButton, ODFCheckBox etc.). 
# ODFForm will have methods that help to search for any child controls by ID or by Name (or form by name), including those controls that are located in nested forms.
# TextDocument will also have a series of methods to iterate through all the controls within it.
# Each form has a property that represents child (one level below) forms. We should also remember that top-level form is situated in office:forms tag (unlike for those that are nested)
# TextDocument, OpenDocumentTextExporter and OpenDocumentImporter should be expanded to handle forms correctly while saving/loading a document.
# A new class FormsProcessor will be added to the AODL.Document.Import.OpenDocument.NodeProcessors namespace;

I have decided to resolve the synchronization between the draw:control in the contents nodes and the appropriate form:form element in the following way:
# A new auxiliary class AODL.Document.Forms.Controls.ODFControlRef will be added; this is an internal AODL class that stands for draw:control tag. It will have such properties as ID, X,Y,Width,Height,AnchorType, AnchorPageNumber,StyleName,TextStyleName and others that reflect draw:control attributes. And, of course, it will have a set of common properties such as Node.
# ODFFormControl will be a basic class for all form controls. All specific controls such as ODFButton will derive from it. ODFFormControl will have an internal variable _controlRef (ODFControlRef) that represents its reference; all the public properties of _controlRef will be accessible through public ODFFormControl properties.
# ODFFormControl will have a constructor taking parent form, content container and ID string as obligatory parameters. Of course, there will be other handy overloaded constructors with more parameters.
# ODFForm's controls collection will have appropriate Inserted and Removed events to implement the synchronization.
# I'll also add synchronous deletion of control in form:form tag when the reference is deleted.

The AODL Forms are already implemented.

'''FIELDS'''&lt;br/&gt;
# All the fields-related classes are located in AODL.Document.Fields namespace
# All the Fields classes that represent the appropriate 'content' snippets implement the IContent interface. 
# Placeholder and TextInput classes stand for text:placeholder and text:text-input fields respectively.
# Placeholder class has such properties as PlaceholderType, Value, Description and some others. PlaceholderType is an enumeration.
# TextInput class has such Value, Descriptions properties etc.
# Implementation of text:variable-set will be separated in two classes: VariableDecl and VariableSet. VariableDeclCollection will be a class deriving from CollectionWithEvents to handle variable declaration lists.
# VariableDecl will stand for variable declaration snippet. Main properties besides Name and Node: Name and VariableValueType
# TextDocument is augmented with a variable declaration list property
# TextDocument has methods to find any VariableDecl. For example, by its name.
# VariableSet is a class that implements the text:variable-set. It has a series of properties bound to the possible attributes of text:variable-set tag.
# Of course, there will be some kind of synchronization between the two last mentioned classes
# Import/export handlers will support fields.

== Current Status ==
Current status: 
Working on AODL Fields implementation&lt;br/&gt;Project blog: http://soc-aodl.blogspot.com

== Student Task List ==
* Subscribe to ODF Toolkit mailing list. Done.
* Submit a filled-out copy of the Joint Copyright Assignment form (JCA). Done.
* Workout initial implementation details. Done

Forms:
* Create a detailed Forms project proposal. Done
* Implement the Forms support in the AODL. Done
* Create tests. Done

Fields
* Create a detailed Fields project proposal. Done
* Implement the Fields support in the AODL. Done
* Test AODL fields. Done

&lt;font color=&quot;red&quot;&gt;'''The official GSoC task has been completed'''&lt;/font&gt;

==Further information about the ODF Toolkit==
AODL code [[AODL|AODL Wiki page]]&lt;br/&gt;


&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: [[AODL|AODL Wiki Home]] || [[Home|ODF Toolkit Wiki Home]]&lt;/center&gt;&lt;/p&gt;
</text>
    <text-as-html>&lt;div id='toc' class='toc'&gt;
           &lt;div id='toctitle' class='toc-title'&gt;
             &lt;span&gt;Contents&lt;/span&gt;
           &lt;/div&gt;
           &lt;div id='toccontents' class='toc-contents'&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;1 &lt;a href='#Proposal'&gt; Proposal &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;2 &lt;a href='#Current_Status'&gt; Current Status &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;3 &lt;a href='#Student_Task_List'&gt; Student Task List &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;4 &lt;a href='#Further_information_about_the_ODF_Toolkit'&gt;Further information about the ODF Toolkit&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;&lt;/div&gt;
         &lt;/div&gt;&lt;p&gt;&lt;br /&gt;

&lt;/p&gt;&lt;p&gt;This is the wiki page for the Google Summer of Code 2007 proposal by Oleg Yegorov and mentored by Dieter L&#246;schky and Lars Behrmann.

&lt;/p&gt;&lt;h2&gt;&lt;a name='Proposal'&gt;&lt;/a&gt; Proposal &lt;/h2&gt;
&lt;p&gt;&lt;b&gt;FORMS&lt;/b&gt;&lt;br /&gt;
The first part of my project is to implement Forms support for the AODL library.
My vision of it (briefly):
&lt;/p&gt;&lt;ol&gt;&lt;li&gt; The main classes for Forms support are located in the AODL.Document.Forms namespace.
&lt;/li&gt;&lt;li&gt; Each form is represented by the ODFForm class; this class should contain such properties as Href, TargetFrame, Method and others (which are the attributes of a form:form tag). It should implement the IHtml interface (allows to export non-nested forms into HTML)
&lt;/li&gt;&lt;li&gt; Those properties that have several possible values should have an enum type.
&lt;/li&gt;&lt;li&gt; Boolean properties will have an XmlBoolean type (enum with possible values: True, False, NotSet).
&lt;/li&gt;&lt;li&gt; Properties listed in form:properties tag should be reflected in a Properties property of ODFForm (these properties are application-specific). There should be smart methods that return the required property.
&lt;/li&gt;&lt;li&gt; Each form should have a collection of child controls (Controls property of ODFControlsCollection type); ODFControlsCollection will be a class derived from CollectionWithEvents.
&lt;/li&gt;&lt;li&gt; Everything connected with controls will be located in AODL.Document.Forms.Controls
&lt;/li&gt;&lt;li&gt; A separate class will stand for each control type (such as ODFText, ODFTextArea, ODFButton, ODFCheckBox etc.). 
&lt;/li&gt;&lt;li&gt; ODFForm will have methods that help to search for any child controls by ID or by Name (or form by name), including those controls that are located in nested forms.
&lt;/li&gt;&lt;li&gt; TextDocument will also have a series of methods to iterate through all the controls within it.
&lt;/li&gt;&lt;li&gt; Each form has a property that represents child (one level below) forms. We should also remember that top-level form is situated in office:forms tag (unlike for those that are nested)
&lt;/li&gt;&lt;li&gt; TextDocument, OpenDocumentTextExporter and OpenDocumentImporter should be expanded to handle forms correctly while saving/loading a document.
&lt;/li&gt;&lt;li&gt; A new class FormsProcessor will be added to the AODL.Document.Import.OpenDocument.NodeProcessors namespace;
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;
I have decided to resolve the synchronization between the draw:control in the contents nodes and the appropriate form:form element in the following way:
&lt;/p&gt;&lt;ol&gt;&lt;li&gt; A new auxiliary class AODL.Document.Forms.Controls.ODFControlRef will be added; this is an internal AODL class that stands for draw:control tag. It will have such properties as ID, X,Y,Width,Height,AnchorType, AnchorPageNumber,StyleName,TextStyleName and others that reflect draw:control attributes. And, of course, it will have a set of common properties such as Node.
&lt;/li&gt;&lt;li&gt; ODFFormControl will be a basic class for all form controls. All specific controls such as ODFButton will derive from it. ODFFormControl will have an internal variable _controlRef (ODFControlRef) that represents its reference; all the public properties of _controlRef will be accessible through public ODFFormControl properties.
&lt;/li&gt;&lt;li&gt; ODFFormControl will have a constructor taking parent form, content container and ID string as obligatory parameters. Of course, there will be other handy overloaded constructors with more parameters.
&lt;/li&gt;&lt;li&gt; ODFForm's controls collection will have appropriate Inserted and Removed events to implement the synchronization.
&lt;/li&gt;&lt;li&gt; I'll also add synchronous deletion of control in form:form tag when the reference is deleted.
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;
The AODL Forms are already implemented.

&lt;/p&gt;&lt;p&gt;&lt;b&gt;FIELDS&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt; All the fields-related classes are located in AODL.Document.Fields namespace
&lt;/li&gt;&lt;li&gt; All the Fields classes that represent the appropriate 'content' snippets implement the IContent interface. 
&lt;/li&gt;&lt;li&gt; Placeholder and TextInput classes stand for text:placeholder and text:text-input fields respectively.
&lt;/li&gt;&lt;li&gt; Placeholder class has such properties as PlaceholderType, Value, Description and some others. PlaceholderType is an enumeration.
&lt;/li&gt;&lt;li&gt; TextInput class has such Value, Descriptions properties etc.
&lt;/li&gt;&lt;li&gt; Implementation of text:variable-set will be separated in two classes: VariableDecl and VariableSet. VariableDeclCollection will be a class deriving from CollectionWithEvents to handle variable declaration lists.
&lt;/li&gt;&lt;li&gt; VariableDecl will stand for variable declaration snippet. Main properties besides Name and Node: Name and VariableValueType
&lt;/li&gt;&lt;li&gt; TextDocument is augmented with a variable declaration list property
&lt;/li&gt;&lt;li&gt; TextDocument has methods to find any VariableDecl. For example, by its name.
&lt;/li&gt;&lt;li&gt; VariableSet is a class that implements the text:variable-set. It has a series of properties bound to the possible attributes of text:variable-set tag.
&lt;/li&gt;&lt;li&gt; Of course, there will be some kind of synchronization between the two last mentioned classes
&lt;/li&gt;&lt;li&gt; Import/export handlers will support fields.
&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;&lt;a name='Current_Status'&gt;&lt;/a&gt; Current Status &lt;/h2&gt;
&lt;p&gt;Current status: 
Working on AODL Fields implementation&lt;br /&gt;Project blog: &lt;a class='external' href=&quot;http://soc-aodl.blogspot.com&quot;&gt;http://soc-aodl.blogspot.com&lt;/a&gt;

&lt;/p&gt;&lt;h2&gt;&lt;a name='Student_Task_List'&gt;&lt;/a&gt; Student Task List &lt;/h2&gt;
&lt;ul&gt;&lt;li&gt; Subscribe to ODF Toolkit mailing list. Done.
&lt;/li&gt;&lt;li&gt; Submit a filled-out copy of the Joint Copyright Assignment form (JCA). Done.
&lt;/li&gt;&lt;li&gt; Workout initial implementation details. Done
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
Forms:
&lt;/p&gt;&lt;ul&gt;&lt;li&gt; Create a detailed Forms project proposal. Done
&lt;/li&gt;&lt;li&gt; Implement the Forms support in the AODL. Done
&lt;/li&gt;&lt;li&gt; Create tests. Done
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
Fields
&lt;/p&gt;&lt;ul&gt;&lt;li&gt; Create a detailed Fields project proposal. Done
&lt;/li&gt;&lt;li&gt; Implement the Fields support in the AODL. Done
&lt;/li&gt;&lt;li&gt; Test AODL fields. Done
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;font color=&quot;red&quot;&gt;&lt;b&gt;The official GSoC task has been completed&lt;/b&gt;&lt;/font&gt;

&lt;/p&gt;&lt;h2&gt;&lt;a name='Further_information_about_the_ODF_Toolkit'&gt;&lt;/a&gt;Further information about the ODF Toolkit&lt;/h2&gt;
&lt;p&gt;AODL code &lt;a href='&lt;?url_for_page AODL?&gt;' class='internal'&gt;AODL Wiki page&lt;/a&gt;&lt;br /&gt;

&lt;/p&gt;&lt;p&gt;&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: &lt;a href='&lt;?url_for_page AODL?&gt;' class='internal'&gt;AODL Wiki Home&lt;/a&gt; || &lt;a href='&lt;?url_for_page Home?&gt;' class='internal'&gt;ODF Toolkit Wiki Home&lt;/a&gt;&lt;/center&gt;&lt;/p&gt;&lt;/p&gt;</text-as-html>
    <updated-at type="datetime">2008-11-01T16:45:42Z</updated-at>
    <wiki-id type="integer">51</wiki-id>
  </page>
  <page>
    <created-at type="datetime">2008-10-19T05:46:01Z</created-at>
    <description>initial ....</description>
    <id type="integer">85</id>
    <name>AODL-Wishlist</name>
    <number type="integer">3</number>
    <person-id type="integer">6</person-id>
    <text>__TOC__

= AODL Wishlist=

In this article, you can add descriptions of features you would like to see in [[AODL|AODL]]. This can serve as a source of inspiration for developers and contributers.  

==Styles==

'''Font by String'''

Allow indicating and using fonts by string, such as &quot;Broadway BT&quot;, rather than FontFamilies.BroadwayBT;

Otherwise, when I would try to use a typeface not included in the standard installations, such as &quot;Gentium&quot; or &quot;DejaVu Sans&quot;, these would never be available under the hardcoded system.

'''Table Cell Widths'''
Allow define of cell widths for individual cells or columns.

==Graphics==
'''Captions'''
Is there a way to add a caption to a Frame that has a graphic in it? I can simply add text below a figure, but I would like the captions to be sequences so that I could then build a table of contents. Below is a snippet of xml from an ODT content.xml file that shows what I need (written from OpenOffice). A little bit from the end is a text: sequence element. How do I add this using AODL? The graphics are no problem it's just the sequence that I'm lost on.

'''SVG'''
Work with SVG Import to allow runtime SVG insertion.

==AutoText==
My document assembly strategy relies heavily upon use of AutoText entries. Please implement Autotext features.

==Master Documents==
Easy insertion of smaller documents into Master documents without XmlDoc.ImportNode
[[category:Summer of Code 2007]][[category:AODL]]

==Temporary Files==
Please insert a possibility to change the path whitch is used for the temporary extraction of the ODF-Files. Maybe it can be set to the systemwide Temp-Directory.

&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: [[AODL|AODL Wiki Home]] ||  [[AODL-Examples|AODL Examples Overview]] || [[Home|ODF Toolkit Wiki Home]]&lt;/center&gt;&lt;/p&gt;</text>
    <text-as-html>&lt;div id='toc' class='toc'&gt;
           &lt;div id='toctitle' class='toc-title'&gt;
             &lt;span&gt;Contents&lt;/span&gt;
           &lt;/div&gt;
           &lt;div id='toccontents' class='toc-contents'&gt;&lt;ul&gt;&lt;li&gt;1 &lt;a href='#AODL_Wishlist'&gt; AODL Wishlist&lt;/a&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;1.1 &lt;a href='#Styles'&gt;Styles&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;1.2 &lt;a href='#Graphics'&gt;Graphics&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;1.3 &lt;a href='#AutoText'&gt;AutoText&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;1.4 &lt;a href='#Master_Documents'&gt;Master Documents&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;1.5 &lt;a href='#Temporary_Files'&gt;Temporary Files&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;&lt;/div&gt;
         &lt;/div&gt;&lt;p&gt;&lt;br /&gt;

&lt;/p&gt;&lt;h1&gt;&lt;a name='AODL_Wishlist'&gt;&lt;/a&gt; AODL Wishlist&lt;/h1&gt;
&lt;p&gt;
In this article, you can add descriptions of features you would like to see in &lt;a href='&lt;?url_for_page AODL?&gt;' class='internal'&gt;AODL&lt;/a&gt;. This can serve as a source of inspiration for developers and contributers.  

&lt;/p&gt;&lt;h2&gt;&lt;a name='Styles'&gt;&lt;/a&gt;Styles&lt;/h2&gt;
&lt;p&gt;&lt;b&gt;Font by String&lt;/b&gt;

&lt;/p&gt;&lt;p&gt;Allow indicating and using fonts by string, such as &amp;quot;Broadway BT&amp;quot;, rather than FontFamilies.BroadwayBT;

&lt;/p&gt;&lt;p&gt;Otherwise, when I would try to use a typeface not included in the standard installations, such as &amp;quot;Gentium&amp;quot; or &amp;quot;DejaVu Sans&amp;quot;, these would never be available under the hardcoded system.

&lt;/p&gt;&lt;p&gt;&lt;b&gt;Table Cell Widths&lt;/b&gt;
Allow define of cell widths for individual cells or columns.

&lt;/p&gt;&lt;h2&gt;&lt;a name='Graphics'&gt;&lt;/a&gt;Graphics&lt;/h2&gt;
&lt;p&gt;&lt;b&gt;Captions&lt;/b&gt;
Is there a way to add a caption to a Frame that has a graphic in it? I can simply add text below a figure, but I would like the captions to be sequences so that I could then build a table of contents. Below is a snippet of xml from an ODT content.xml file that shows what I need (written from OpenOffice). A little bit from the end is a text: sequence element. How do I add this using AODL? The graphics are no problem it's just the sequence that I'm lost on.

&lt;/p&gt;&lt;p&gt;&lt;b&gt;SVG&lt;/b&gt;
Work with SVG Import to allow runtime SVG insertion.

&lt;/p&gt;&lt;h2&gt;&lt;a name='AutoText'&gt;&lt;/a&gt;AutoText&lt;/h2&gt;
&lt;p&gt;My document assembly strategy relies heavily upon use of AutoText entries. Please implement Autotext features.

&lt;/p&gt;&lt;h2&gt;&lt;a name='Master_Documents'&gt;&lt;/a&gt;Master Documents&lt;/h2&gt;
&lt;p&gt;Easy insertion of smaller documents into Master documents without XmlDoc.ImportNode
&lt;?link_for_category Summer of Code 2007?&gt;&lt;?link_for_category AODL?&gt;

&lt;/p&gt;&lt;h2&gt;&lt;a name='Temporary_Files'&gt;&lt;/a&gt;Temporary Files&lt;/h2&gt;
&lt;p&gt;Please insert a possibility to change the path whitch is used for the temporary extraction of the ODF-Files. Maybe it can be set to the systemwide Temp-Directory.

&lt;/p&gt;&lt;p&gt;&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: &lt;a href='&lt;?url_for_page AODL?&gt;' class='internal'&gt;AODL Wiki Home&lt;/a&gt; ||  &lt;a href='&lt;?url_for_page AODL-Examples?&gt;' class='internal'&gt;AODL Examples Overview&lt;/a&gt; || &lt;a href='&lt;?url_for_page Home?&gt;' class='internal'&gt;ODF Toolkit Wiki Home&lt;/a&gt;&lt;/center&gt;&lt;/p&gt;&lt;/p&gt;</text-as-html>
    <updated-at type="datetime">2008-11-01T16:45:47Z</updated-at>
    <wiki-id type="integer">51</wiki-id>
  </page>
  <page>
    <created-at type="datetime">2008-10-19T05:05:40Z</created-at>
    <description>initial ....</description>
    <id type="integer">67</id>
    <name>AODL-example-1</name>
    <number type="integer">3</number>
    <person-id type="integer">6</person-id>
    <text>==Create a Spreadsheet document and add a table with formated cells.==

Tags: ODF, AODL, C#, .NET

&lt;pre&gt;
//Create new spreadsheet document
SpreadsheetDocument spreadsheetDocument = new SpreadsheetDocument();
spreadsheetDocument.New();
//Create a new table
Table table = new Table(spreadsheetDocument, &quot;First&quot;, &quot;tablefirst&quot;);
//Create a new cell, without any extra styles 
Cell cell = table.CreateCell();
//Add a paragraph to this cell
Paragraph paragraph = ParagraphBuilder.CreateSpreadsheetParagraph(spreadsheetDocument);
//Create some Formated text
FormatedText fText = new FormatedText(spreadsheetDocument, &quot;T1&quot;, &quot;Some Text&quot;);
//fText.TextStyle.TextProperties.Bold = &quot;bold&quot;;
fText.TextStyle.TextProperties.Underline = LineStyles.dotted;
//Add formated text
paragraph.TextContent.Add(fText);
//Add paragraph to the cell
cell.Content.Add(paragraph);
//Insert the cell at row index 2 and column index 3
//All need rows, columns and cells below the given
//indexes will be build automatically.
table.InsertCellAt(2, 3, cell);
//Insert table into the spreadsheet document
spreadsheetDocument.TableCollection.Add(table);
spreadsheetDocument.SaveTo(&quot;formated.ods&quot;);
&lt;/pre&gt;

&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: [[AODL|AODL Wiki Home]] ||  [[AODL-Examples|AODL Examples Overview]] || [[Home|ODF Toolkit Wiki Home]]&lt;/center&gt;&lt;/p&gt;</text>
    <text-as-html>&lt;h2&gt;&lt;a name='Create_a_Spreadsheet_document_and_add_a_table_with_formated_cells.'&gt;&lt;/a&gt;Create a Spreadsheet document and add a table with formated cells.&lt;/h2&gt;
&lt;p&gt;
Tags: ODF, AODL, C#, .NET

&lt;/p&gt;&lt;p&gt;&lt;pre&gt;
//Create new spreadsheet document
SpreadsheetDocument spreadsheetDocument = new SpreadsheetDocument();
spreadsheetDocument.New();
//Create a new table
Table table = new Table(spreadsheetDocument, &amp;quot;First&amp;quot;, &amp;quot;tablefirst&amp;quot;);
//Create a new cell, without any extra styles 
Cell cell = table.CreateCell();
//Add a paragraph to this cell
Paragraph paragraph = ParagraphBuilder.CreateSpreadsheetParagraph(spreadsheetDocument);
//Create some Formated text
FormatedText fText = new FormatedText(spreadsheetDocument, &amp;quot;T1&amp;quot;, &amp;quot;Some Text&amp;quot;);
//fText.TextStyle.TextProperties.Bold = &amp;quot;bold&amp;quot;;
fText.TextStyle.TextProperties.Underline = LineStyles.dotted;
//Add formated text
paragraph.TextContent.Add(fText);
//Add paragraph to the cell
cell.Content.Add(paragraph);
//Insert the cell at row index 2 and column index 3
//All need rows, columns and cells below the given
//indexes will be build automatically.
table.InsertCellAt(2, 3, cell);
//Insert table into the spreadsheet document
spreadsheetDocument.TableCollection.Add(table);
spreadsheetDocument.SaveTo(&amp;quot;formated.ods&amp;quot;);
&lt;/pre&gt;

&lt;/p&gt;&lt;p&gt;&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: &lt;a href='&lt;?url_for_page AODL?&gt;' class='internal'&gt;AODL Wiki Home&lt;/a&gt; ||  &lt;a href='&lt;?url_for_page AODL-Examples?&gt;' class='internal'&gt;AODL Examples Overview&lt;/a&gt; || &lt;a href='&lt;?url_for_page Home?&gt;' class='internal'&gt;ODF Toolkit Wiki Home&lt;/a&gt;&lt;/center&gt;&lt;/p&gt;&lt;/p&gt;</text-as-html>
    <updated-at type="datetime">2008-11-01T16:45:44Z</updated-at>
    <wiki-id type="integer">51</wiki-id>
  </page>
  <page>
    <created-at type="datetime">2008-10-19T05:24:34Z</created-at>
    <description>initial ....</description>
    <id type="integer">76</id>
    <name>AODL-example-10</name>
    <number type="integer">3</number>
    <person-id type="integer">6</person-id>
    <text>==Create a Paragraph Collection from a long string by using the ParagraphBuilder==

Tags: ODF, AODL, C#, .NET

&lt;pre&gt;
//some text e.g read from a TextBox
string someText     = &quot;Max Mustermann\nMustermann Str. 300\n22222 Hamburg\n\n\n\n&quot;
                        +&quot;Heinz Willi\nDorfstr. 1\n22225 Hamburg\n\n\n\n&quot;
                        +&quot;Offer for 200 Intel Pentium 4 CPU's\n\n\n\n&quot;
                        +&quot;Dear Mr. Willi,\n\n\n\n&quot;
                        +&quot;thank you for your request. \tWe can &quot;
                        +&quot;offer you the 200 Intel Pentium IV 3 Ghz CPU's for a price of &quot;
                        +&quot;79,80 &#8364; per unit.&quot;
                        +&quot;This special offer is valid to 31.10.2005. If you accept, we &quot;
                        +&quot;can deliver within 24 hours.\n\n\n\n&quot;
                        +&quot;Best regards \nMax Mustermann&quot;;

//Create new TextDocument
TextDocument document = new TextDocument();
document.New();
//Use the ParagraphBuilder to split the string into ParagraphCollection
ParagraphCollection pCollection  = ParagraphBuilder.CreateParagraphCollection(
                                     document,
                                     someText,
                                     true,
                                     ParagraphBuilder.ParagraphSeperator);
//Add the paragraph collection
foreach(Paragraph paragraph in pCollection)
    document.Content.Add(paragraph);
//save
document.SaveTo(&quot;Letter.odt&quot;);
&lt;/pre&gt;

&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: [[AODL|AODL Wiki Home]] ||  [[AODL-Examples|AODL Examples Overview]] || [[Home|ODF Toolkit Wiki Home]]&lt;/center&gt;&lt;/p&gt;</text>
    <text-as-html>&lt;h2&gt;&lt;a name='Create_a_Paragraph_Collection_from_a_long_string_by_using_the_ParagraphBuilder'&gt;&lt;/a&gt;Create a Paragraph Collection from a long string by using the ParagraphBuilder&lt;/h2&gt;
&lt;p&gt;
Tags: ODF, AODL, C#, .NET

&lt;/p&gt;&lt;p&gt;&lt;pre&gt;
//some text e.g read from a TextBox
string someText     = &amp;quot;Max Mustermann\nMustermann Str. 300\n22222 Hamburg\n\n\n\n&amp;quot;
                        +&amp;quot;Heinz Willi\nDorfstr. 1\n22225 Hamburg\n\n\n\n&amp;quot;
                        +&amp;quot;Offer for 200 Intel Pentium 4 CPU's\n\n\n\n&amp;quot;
                        +&amp;quot;Dear Mr. Willi,\n\n\n\n&amp;quot;
                        +&amp;quot;thank you for your request. \tWe can &amp;quot;
                        +&amp;quot;offer you the 200 Intel Pentium IV 3 Ghz CPU's for a price of &amp;quot;
                        +&amp;quot;79,80 &#8364; per unit.&amp;quot;
                        +&amp;quot;This special offer is valid to 31.10.2005. If you accept, we &amp;quot;
                        +&amp;quot;can deliver within 24 hours.\n\n\n\n&amp;quot;
                        +&amp;quot;Best regards \nMax Mustermann&amp;quot;;

//Create new TextDocument
TextDocument document = new TextDocument();
document.New();
//Use the ParagraphBuilder to split the string into ParagraphCollection
ParagraphCollection pCollection  = ParagraphBuilder.CreateParagraphCollection(
                                     document,
                                     someText,
                                     true,
                                     ParagraphBuilder.ParagraphSeperator);
//Add the paragraph collection
foreach(Paragraph paragraph in pCollection)
    document.Content.Add(paragraph);
//save
document.SaveTo(&amp;quot;Letter.odt&amp;quot;);
&lt;/pre&gt;

&lt;/p&gt;&lt;p&gt;&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: &lt;a href='&lt;?url_for_page AODL?&gt;' class='internal'&gt;AODL Wiki Home&lt;/a&gt; ||  &lt;a href='&lt;?url_for_page AODL-Examples?&gt;' class='internal'&gt;AODL Examples Overview&lt;/a&gt; || &lt;a href='&lt;?url_for_page Home?&gt;' class='internal'&gt;ODF Toolkit Wiki Home&lt;/a&gt;&lt;/center&gt;&lt;/p&gt;&lt;/p&gt;</text-as-html>
    <updated-at type="datetime">2008-11-01T16:45:46Z</updated-at>
    <wiki-id type="integer">51</wiki-id>
  </page>
  <page>
    <created-at type="datetime">2008-10-19T05:25:47Z</created-at>
    <description>initial ....</description>
    <id type="integer">77</id>
    <name>AODL-example-11</name>
    <number type="integer">3</number>
    <person-id type="integer">6</person-id>
    <text>==Creating Footnotes and Endnotes==

Tags: ODF, AODL, C#, .NET

&lt;pre&gt;
//Create new TextDocument
TextDocument document = new TextDocument();
document.New();
//Create a new Paragph
Paragraph para = ParagraphBuilder.CreateStandardTextParagraph(document);
//Create some simple Text
para.TextContent.Add(new SimpleText(document, &quot;Some simple text. And I have a footnode&quot;));
//Create a Footnote
para.TextContent.Add(new Footnote(document, &quot;Footer Text&quot;, &quot;1&quot;, FootnoteType.footnode));			
//Add the paragraph
document.Content.Add(para);
//Save
document.SaveTo(&quot;footnote.odt&quot;);
&lt;/pre&gt;

&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: [[AODL|AODL Wiki Home]] ||  [[AODL-Examples|AODL Examples Overview]] || [[Home|ODF Toolkit Wiki Home]]&lt;/center&gt;&lt;/p&gt;</text>
    <text-as-html>&lt;h2&gt;&lt;a name='Creating_Footnotes_and_Endnotes'&gt;&lt;/a&gt;Creating Footnotes and Endnotes&lt;/h2&gt;
&lt;p&gt;
Tags: ODF, AODL, C#, .NET

&lt;/p&gt;&lt;p&gt;&lt;pre&gt;
//Create new TextDocument
TextDocument document = new TextDocument();
document.New();
//Create a new Paragph
Paragraph para = ParagraphBuilder.CreateStandardTextParagraph(document);
//Create some simple Text
para.TextContent.Add(new SimpleText(document, &amp;quot;Some simple text. And I have a footnode&amp;quot;));
//Create a Footnote
para.TextContent.Add(new Footnote(document, &amp;quot;Footer Text&amp;quot;, &amp;quot;1&amp;quot;, FootnoteType.footnode));			
//Add the paragraph
document.Content.Add(para);
//Save
document.SaveTo(&amp;quot;footnote.odt&amp;quot;);
&lt;/pre&gt;

&lt;/p&gt;&lt;p&gt;&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: &lt;a href='&lt;?url_for_page AODL?&gt;' class='internal'&gt;AODL Wiki Home&lt;/a&gt; ||  &lt;a href='&lt;?url_for_page AODL-Examples?&gt;' class='internal'&gt;AODL Examples Overview&lt;/a&gt; || &lt;a href='&lt;?url_for_page Home?&gt;' class='internal'&gt;ODF Toolkit Wiki Home&lt;/a&gt;&lt;/center&gt;&lt;/p&gt;&lt;/p&gt;</text-as-html>
    <updated-at type="datetime">2008-11-01T16:45:46Z</updated-at>
    <wiki-id type="integer">51</wiki-id>
  </page>
  <page>
    <created-at type="datetime">2008-10-19T05:27:07Z</created-at>
    <description>initial ....</description>
    <id type="integer">78</id>
    <name>AODL-example-12</name>
    <number type="integer">3</number>
    <person-id type="integer">6</person-id>
    <text>==Create any type of hyperlinks by using the XLink class==

Tags: ODF, AODL, C#, .NET

&lt;pre&gt;
//Create new TextDocument
TextDocument document = new TextDocument();
document.New();
//Create a new Paragraph
Paragraph para = new Paragraph(document, &quot;P1&quot;);
//Create some simple text
SimpleText stext = new SimpleText(document, &quot;Some simple text &quot;);
//Create a XLink
XLink xlink = new XLink(document, &quot;http://www.OpenOffice.org&quot;, &quot;OpenOffice.org&quot;);
//Add the textcontent
para.TextContent.Add(stext);
para.TextContent.Add(xlink);
//Add paragraph to the document content
document.Content.Add(para);
//Save
document.SaveTo(&quot;XLink.odt&quot;);
&lt;/pre&gt;

&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: [[AODL|AODL Wiki Home]] ||  [[AODL-Examples|AODL Examples Overview]] || [[Home|ODF Toolkit Wiki Home]]&lt;/center&gt;&lt;/p&gt;</text>
    <text-as-html>&lt;h2&gt;&lt;a name='Create_any_type_of_hyperlinks_by_using_the_XLink_class'&gt;&lt;/a&gt;Create any type of hyperlinks by using the XLink class&lt;/h2&gt;
&lt;p&gt;
Tags: ODF, AODL, C#, .NET

&lt;/p&gt;&lt;p&gt;&lt;pre&gt;
//Create new TextDocument
TextDocument document = new TextDocument();
document.New();
//Create a new Paragraph
Paragraph para = new Paragraph(document, &amp;quot;P1&amp;quot;);
//Create some simple text
SimpleText stext = new SimpleText(document, &amp;quot;Some simple text &amp;quot;);
//Create a XLink
XLink xlink = new XLink(document, &amp;quot;http://www.OpenOffice.org&amp;quot;, &amp;quot;OpenOffice.org&amp;quot;);
//Add the textcontent
para.TextContent.Add(stext);
para.TextContent.Add(xlink);
//Add paragraph to the document content
document.Content.Add(para);
//Save
document.SaveTo(&amp;quot;XLink.odt&amp;quot;);
&lt;/pre&gt;

&lt;/p&gt;&lt;p&gt;&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: &lt;a href='&lt;?url_for_page AODL?&gt;' class='internal'&gt;AODL Wiki Home&lt;/a&gt; ||  &lt;a href='&lt;?url_for_page AODL-Examples?&gt;' class='internal'&gt;AODL Examples Overview&lt;/a&gt; || &lt;a href='&lt;?url_for_page Home?&gt;' class='internal'&gt;ODF Toolkit Wiki Home&lt;/a&gt;&lt;/center&gt;&lt;/p&gt;&lt;/p&gt;</text-as-html>
    <updated-at type="datetime">2008-11-01T16:45:46Z</updated-at>
    <wiki-id type="integer">51</wiki-id>
  </page>
  <page>
    <created-at type="datetime">2008-10-19T05:28:31Z</created-at>
    <description>initial ....</description>
    <id type="integer">79</id>
    <name>AODL-example-13</name>
    <number type="integer">3</number>
    <person-id type="integer">6</person-id>
    <text>==Using the Header object and fill the heading text using the TextBuilder class==

Tags: ODF, AODL, C#, .NET

&lt;pre&gt;
string headingText = &quot;Some    Heading with\n styles\t,line breaks, tab stops and extra whitspaces&quot;;
//Create a new text document
TextDocument document = new TextDocument();
document.New();
//Create a new Heading
Header header = new Header(document, Headings.Heading);
//Create a TextCollection from headingText using the TextBuilder
//You can conert every string incl. control character \n, \t, .. into
//a ItextCollection using the TextBuilder
ITextCollection textCol = TextBuilder.BuildTextCollection(document, headingText);
//Add text collection
header.TextContent = textCol;
//Add header
document.Content.Add(header);
document.SaveTo(&quot;HeadingWithControlCharacter.odt&quot;);
&lt;/pre&gt;

&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: [[AODL|AODL Wiki Home]] ||  [[AODL-Examples|AODL Examples Overview]] || [[Home|ODF Toolkit Wiki Home]]&lt;/center&gt;&lt;/p&gt;</text>
    <text-as-html>&lt;h2&gt;&lt;a name='Using_the_Header_object_and_fill_the_heading_text_using_the_TextBuilder_class'&gt;&lt;/a&gt;Using the Header object and fill the heading text using the TextBuilder class&lt;/h2&gt;
&lt;p&gt;
Tags: ODF, AODL, C#, .NET

&lt;/p&gt;&lt;p&gt;&lt;pre&gt;
string headingText = &amp;quot;Some    Heading with\n styles\t,line breaks, tab stops and extra whitspaces&amp;quot;;
//Create a new text document
TextDocument document = new TextDocument();
document.New();
//Create a new Heading
Header header = new Header(document, Headings.Heading);
//Create a TextCollection from headingText using the TextBuilder
//You can conert every string incl. control character \n, \t, .. into
//a ItextCollection using the TextBuilder
ITextCollection textCol = TextBuilder.BuildTextCollection(document, headingText);
//Add text collection
header.TextContent = textCol;
//Add header
document.Content.Add(header);
document.SaveTo(&amp;quot;HeadingWithControlCharacter.odt&amp;quot;);
&lt;/pre&gt;

&lt;/p&gt;&lt;p&gt;&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: &lt;a href='&lt;?url_for_page AODL?&gt;' class='internal'&gt;AODL Wiki Home&lt;/a&gt; ||  &lt;a href='&lt;?url_for_page AODL-Examples?&gt;' class='internal'&gt;AODL Examples Overview&lt;/a&gt; || &lt;a href='&lt;?url_for_page Home?&gt;' class='internal'&gt;ODF Toolkit Wiki Home&lt;/a&gt;&lt;/center&gt;&lt;/p&gt;&lt;/p&gt;</text-as-html>
    <updated-at type="datetime">2008-11-01T16:45:46Z</updated-at>
    <wiki-id type="integer">51</wiki-id>
  </page>
  <page>
    <created-at type="datetime">2008-10-19T05:29:37Z</created-at>
    <description>initial ....</description>
    <id type="integer">80</id>
    <name>AODL-example-14</name>
    <number type="integer">3</number>
    <person-id type="integer">6</person-id>
    <text>==Create a List with List Item objects==

Tags: ODF, AODL, C#, .NET

&lt;pre&gt;
//Create a new text document
TextDocument document = new TextDocument();
document.New();
//Create a numbered list
List li = new List(document, &quot;L1&quot;, ListStyles.Bullet, &quot;L1P1&quot;);
//Create a new list item
ListItem lit = new ListItem(li);
//Create a paragraph	
Paragraph paragraph = ParagraphBuilder.CreateStandardTextParagraph(document);
//Add some text
paragraph.TextContent.Add(new SimpleText(document, &quot;First item&quot;));
//Add paragraph to the list item
lit.Content.Add(paragraph);
//Add the list item
li.Content.Add(lit);
//Add the list
document.Content.Add(li);
//Save document
document.SaveTo(&quot;list.odt&quot;);
&lt;/pre&gt;

&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: [[AODL|AODL Wiki Home]] ||  [[AODL-Examples|AODL Examples Overview]] || [[Home|ODF Toolkit Wiki Home]]&lt;/center&gt;&lt;/p&gt;</text>
    <text-as-html>&lt;h2&gt;&lt;a name='Create_a_List_with_List_Item_objects'&gt;&lt;/a&gt;Create a List with List Item objects&lt;/h2&gt;
&lt;p&gt;
Tags: ODF, AODL, C#, .NET

&lt;/p&gt;&lt;p&gt;&lt;pre&gt;
//Create a new text document
TextDocument document = new TextDocument();
document.New();
//Create a numbered list
List li = new List(document, &amp;quot;L1&amp;quot;, ListStyles.Bullet, &amp;quot;L1P1&amp;quot;);
//Create a new list item
ListItem lit = new ListItem(li);
//Create a paragraph	
Paragraph paragraph = ParagraphBuilder.CreateStandardTextParagraph(document);
//Add some text
paragraph.TextContent.Add(new SimpleText(document, &amp;quot;First item&amp;quot;));
//Add paragraph to the list item
lit.Content.Add(paragraph);
//Add the list item
li.Content.Add(lit);
//Add the list
document.Content.Add(li);
//Save document
document.SaveTo(&amp;quot;list.odt&amp;quot;);
&lt;/pre&gt;

&lt;/p&gt;&lt;p&gt;&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: &lt;a href='&lt;?url_for_page AODL?&gt;' class='internal'&gt;AODL Wiki Home&lt;/a&gt; ||  &lt;a href='&lt;?url_for_page AODL-Examples?&gt;' class='internal'&gt;AODL Examples Overview&lt;/a&gt; || &lt;a href='&lt;?url_for_page Home?&gt;' class='internal'&gt;ODF Toolkit Wiki Home&lt;/a&gt;&lt;/center&gt;&lt;/p&gt;&lt;/p&gt;</text-as-html>
    <updated-at type="datetime">2008-11-01T16:45:46Z</updated-at>
    <wiki-id type="integer">51</wiki-id>
  </page>
  <page>
    <created-at type="datetime">2008-10-19T05:30:46Z</created-at>
    <description>initial ....</description>
    <id type="integer">81</id>
    <name>AODL-example-15</name>
    <number type="integer">3</number>
    <person-id type="integer">6</person-id>
    <text>==Create a standard Paragraph with formated text==

Tags: ODF, AODL, C#, .NET

&lt;pre&gt;
//Create a new text document
TextDocument document = new TextDocument();
document.New();
//Create a standard paragraph using the ParagraphBuilder
Paragraph paragraph = ParagraphBuilder.CreateStandardTextParagraph(document);
//Add some formated text
FormatedText formText = new FormatedText(document, &quot;T1&quot;, &quot;Some formated text!&quot;);
formText.TextStyle.TextProperties.Bold = &quot;bold&quot;;
paragraph.TextContent.Add(formText);
//Add the paragraph to the document
document.Content.Add(paragraph);
//Save 
document.SaveTo(&quot;formated.odt&quot;);
&lt;/pre&gt;

&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: [[AODL|AODL Wiki Home]] ||  [[AODL-Examples|AODL Examples Overview]] || [[Home|ODF Toolkit Wiki Home]]&lt;/center&gt;&lt;/p&gt;</text>
    <text-as-html>&lt;h2&gt;&lt;a name='Create_a_standard_Paragraph_with_formated_text'&gt;&lt;/a&gt;Create a standard Paragraph with formated text&lt;/h2&gt;
&lt;p&gt;
Tags: ODF, AODL, C#, .NET

&lt;/p&gt;&lt;p&gt;&lt;pre&gt;
//Create a new text document
TextDocument document = new TextDocument();
document.New();
//Create a standard paragraph using the ParagraphBuilder
Paragraph paragraph = ParagraphBuilder.CreateStandardTextParagraph(document);
//Add some formated text
FormatedText formText = new FormatedText(document, &amp;quot;T1&amp;quot;, &amp;quot;Some formated text!&amp;quot;);
formText.TextStyle.TextProperties.Bold = &amp;quot;bold&amp;quot;;
paragraph.TextContent.Add(formText);
//Add the paragraph to the document
document.Content.Add(paragraph);
//Save 
document.SaveTo(&amp;quot;formated.odt&amp;quot;);
&lt;/pre&gt;

&lt;/p&gt;&lt;p&gt;&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: &lt;a href='&lt;?url_for_page AODL?&gt;' class='internal'&gt;AODL Wiki Home&lt;/a&gt; ||  &lt;a href='&lt;?url_for_page AODL-Examples?&gt;' class='internal'&gt;AODL Examples Overview&lt;/a&gt; || &lt;a href='&lt;?url_for_page Home?&gt;' class='internal'&gt;ODF Toolkit Wiki Home&lt;/a&gt;&lt;/center&gt;&lt;/p&gt;&lt;/p&gt;</text-as-html>
    <updated-at type="datetime">2008-11-01T16:45:47Z</updated-at>
    <wiki-id type="integer">51</wiki-id>
  </page>
  <page>
    <created-at type="datetime">2008-10-19T05:32:02Z</created-at>
    <description>Reverted to revision #2</description>
    <id type="integer">82</id>
    <name>AODL-example-16</name>
    <number type="integer">5</number>
    <person-id type="integer">14</person-id>
    <text>==Create a simple Paragraph using the ParagraphBuilder==

Tags: ODF, AODL, C#, .NET

&lt;pre&gt;
//Create a new text document
TextDocument document = new TextDocument();
document.New();
//Create a standard paragraph using the ParagraphBuilder
Paragraph paragraph = ParagraphBuilder.CreateStandardTextParagraph(document);
//Add some simple text
paragraph.TextContent.Add(new SimpleText(document, &quot;Some simple text!&quot;));
//Add the paragraph to the document
document.Content.Add(paragraph);
//Save 
document.SaveTo(&quot;simple.odt&quot;);
&lt;/pre&gt;

&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: [[AODL|AODL Wiki Home]] ||  [[AODL-Examples|AODL Examples Overview]] || [[Home|ODF Toolkit Wiki Home]]&lt;/center&gt;&lt;/p&gt;</text>
    <text-as-html>&lt;h2&gt;&lt;a name='Create_a_simple_Paragraph_using_the_ParagraphBuilder'&gt;&lt;/a&gt;Create a simple Paragraph using the ParagraphBuilder&lt;/h2&gt;
&lt;p&gt;
Tags: ODF, AODL, C#, .NET

&lt;/p&gt;&lt;p&gt;&lt;pre&gt;
//Create a new text document
TextDocument document = new TextDocument();
document.New();
//Create a standard paragraph using the ParagraphBuilder
Paragraph paragraph = ParagraphBuilder.CreateStandardTextParagraph(document);
//Add some simple text
paragraph.TextContent.Add(new SimpleText(document, &amp;quot;Some simple text!&amp;quot;));
//Add the paragraph to the document
document.Content.Add(paragraph);
//Save 
document.SaveTo(&amp;quot;simple.odt&amp;quot;);
&lt;/pre&gt;

&lt;/p&gt;&lt;p&gt;&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: &lt;a href='&lt;?url_for_page AODL?&gt;' class='internal'&gt;AODL Wiki Home&lt;/a&gt; ||  &lt;a href='&lt;?url_for_page AODL-Examples?&gt;' class='internal'&gt;AODL Examples Overview&lt;/a&gt; || &lt;a href='&lt;?url_for_page Home?&gt;' class='internal'&gt;ODF Toolkit Wiki Home&lt;/a&gt;&lt;/center&gt;&lt;/p&gt;&lt;/p&gt;</text-as-html>
    <updated-at type="datetime">2009-02-10T21:02:07Z</updated-at>
    <wiki-id type="integer">51</wiki-id>
  </page>
  <page>
    <created-at type="datetime">2008-10-19T05:33:55Z</created-at>
    <description>initial ....</description>
    <id type="integer">83</id>
    <name>AODL-example-17</name>
    <number type="integer">3</number>
    <person-id type="integer">6</person-id>
    <text>==Create a new TextDocument and use the OpenOfficeLib to do a print out==

Tags: ODF, AODL, C#, .NET, OpenOffice.org

&lt;p&gt;This example NUnit test will show how to create a new OpenDocument text document by using AODL 
and send it to a printer by using the new OpenOfficeLib.&lt;/p&gt;

&lt;b&gt;Remarks:&lt;/b&gt; The OpenOfficeLib is an add on library for AODL. It's a simple wrapper for the CLI UNO assemblies 
which are part of OpenOffice.org since vers. 1.9.x. In contrast to the AODL library the OpenOfficeLib will need an 
existing OpenOffice.org installation in order to work!


&lt;pre&gt;
using System;
using NUnit.Framework;
using System.Xml;
using AODL.Document.Content.Tables;
using AODL.Document.TextDocuments;
using AODL.Document.Styles;
using AODL.Document.Content.Text;
using OpenOfficeLib.Connection;
using OpenOfficeLib.Document;
using OpenOfficeLib.Printer;
using unoidl.com.sun.star.lang;
using unoidl.com.sun.star.uno;
using unoidl.com.sun.star.bridge;
using unoidl.com.sun.star.frame;

namespace AODLTest
{
	/// &lt;summary&gt;
	/// OpenOfficeLibTests
	/// &lt;/summary&gt;
	[TestFixture]
	public class OpenOfficeLibTests
	{
		/// &lt;summary&gt;
		/// Creates the new document and print it out.
		/// &lt;/summary&gt;
		[Test (Description=&quot;Simple print test. OpenOffice.org installation and printer must exist.&quot;), Explicit]
		public void CreateNewDocumentAndDoAPrintOut()
		{
			string fileToPrint = &quot;fileToPrint.odt&quot;;

			//Create a new text document
			TextDocument document = new TextDocument();
			document.New();
			//Create a standard paragraph using the ParagraphBuilder
			Paragraph paragraph = ParagraphBuilder.CreateStandardTextParagraph(document);
			//Add some simple text
			paragraph.TextContent.Add(new SimpleText(document, &quot;Some simple text!&quot;));
			//Add the paragraph to the document
			document.Content.Add(paragraph);
			//Save empty
			document.SaveTo(fileToPrint);

			//Now print the new document via the OpenOfficeLib
			//Get the Component Context
			XComponentContext xComponentContext = Connector.GetComponentContext();
			//Get a MultiServiceFactory
			XMultiServiceFactory xMultiServiceFactory = Connector.GetMultiServiceFactory(xComponentContext);
			//Get a Dektop instance		
			XDesktop xDesktop = Connector.GetDesktop(xMultiServiceFactory);
			//Convert a windows path to an OpenOffice one
			fileToPrint = Component.PathConverter(fileToPrint);
			//Load the document you want to print
			XComponent xComponent = Component.LoadDocument(
				(XComponentLoader)xDesktop, fileToPrint, &quot;_blank&quot;);
			//Print the XComponent
			Printer.Print(xComponent);
		}
	}
}
&lt;/pre&gt;

&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: [[AODL|AODL Wiki Home]] ||  [[AODL-Examples|AODL Examples Overview]] || [[Home|ODF Toolkit Wiki Home]]&lt;/center&gt;&lt;/p&gt;</text>
    <text-as-html>&lt;h2&gt;&lt;a name='Create_a_new_TextDocument_and_use_the_OpenOfficeLib_to_do_a_print_out'&gt;&lt;/a&gt;Create a new TextDocument and use the OpenOfficeLib to do a print out&lt;/h2&gt;
&lt;p&gt;
Tags: ODF, AODL, C#, .NET, OpenOffice.org

&lt;/p&gt;&lt;p&gt;&lt;p&gt;This example NUnit test will show how to create a new OpenDocument text document by using AODL 
and send it to a printer by using the new OpenOfficeLib.&lt;/p&gt;

&lt;/p&gt;&lt;p&gt;&lt;b&gt;Remarks:&lt;/b&gt; The OpenOfficeLib is an add on library for AODL. It's a simple wrapper for the CLI UNO assemblies 
which are part of OpenOffice.org since vers. 1.9.x. In contrast to the AODL library the OpenOfficeLib will need an 
existing OpenOffice.org installation in order to work!

&lt;/p&gt;&lt;p&gt;&lt;pre&gt;
using System;
using NUnit.Framework;
using System.Xml;
using AODL.Document.Content.Tables;
using AODL.Document.TextDocuments;
using AODL.Document.Styles;
using AODL.Document.Content.Text;
using OpenOfficeLib.Connection;
using OpenOfficeLib.Document;
using OpenOfficeLib.Printer;
using unoidl.com.sun.star.lang;
using unoidl.com.sun.star.uno;
using unoidl.com.sun.star.bridge;
using unoidl.com.sun.star.frame;

namespace AODLTest
{
	/// &amp;lt;summary&amp;gt;
	/// OpenOfficeLibTests
	/// &amp;lt;/summary&amp;gt;
	[TestFixture]
	public class OpenOfficeLibTests
	{
		/// &amp;lt;summary&amp;gt;
		/// Creates the new document and print it out.
		/// &amp;lt;/summary&amp;gt;
		[Test (Description=&amp;quot;Simple print test. OpenOffice.org installation and printer must exist.&amp;quot;), Explicit]
		public void CreateNewDocumentAndDoAPrintOut()
		{
			string fileToPrint = &amp;quot;fileToPrint.odt&amp;quot;;

			//Create a new text document
			TextDocument document = new TextDocument();
			document.New();
			//Create a standard paragraph using the ParagraphBuilder
			Paragraph paragraph = ParagraphBuilder.CreateStandardTextParagraph(document);
			//Add some simple text
			paragraph.TextContent.Add(new SimpleText(document, &amp;quot;Some simple text!&amp;quot;));
			//Add the paragraph to the document
			document.Content.Add(paragraph);
			//Save empty
			document.SaveTo(fileToPrint);

			//Now print the new document via the OpenOfficeLib
			//Get the Component Context
			XComponentContext xComponentContext = Connector.GetComponentContext();
			//Get a MultiServiceFactory
			XMultiServiceFactory xMultiServiceFactory = Connector.GetMultiServiceFactory(xComponentContext);
			//Get a Dektop instance		
			XDesktop xDesktop = Connector.GetDesktop(xMultiServiceFactory);
			//Convert a windows path to an OpenOffice one
			fileToPrint = Component.PathConverter(fileToPrint);
			//Load the document you want to print
			XComponent xComponent = Component.LoadDocument(
				(XComponentLoader)xDesktop, fileToPrint, &amp;quot;_blank&amp;quot;);
			//Print the XComponent
			Printer.Print(xComponent);
		}
	}
}
&lt;/pre&gt;

&lt;/p&gt;&lt;p&gt;&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: &lt;a href='&lt;?url_for_page AODL?&gt;' class='internal'&gt;AODL Wiki Home&lt;/a&gt; ||  &lt;a href='&lt;?url_for_page AODL-Examples?&gt;' class='internal'&gt;AODL Examples Overview&lt;/a&gt; || &lt;a href='&lt;?url_for_page Home?&gt;' class='internal'&gt;ODF Toolkit Wiki Home&lt;/a&gt;&lt;/center&gt;&lt;/p&gt;&lt;/p&gt;</text-as-html>
    <updated-at type="datetime">2008-11-01T16:45:47Z</updated-at>
    <wiki-id type="integer">51</wiki-id>
  </page>
  <page>
    <created-at type="datetime">2008-10-19T05:11:31Z</created-at>
    <description>initial ....</description>
    <id type="integer">68</id>
    <name>AODL-example-2</name>
    <number type="integer">3</number>
    <person-id type="integer">6</person-id>
    <text>== Create a spreadsheet document and add a table==

Tags: ODF, AODL, C#, .NET

&lt;pre&gt;
//Create new spreadsheet document
SpreadsheetDocument spreadsheetDocument = new SpreadsheetDocument();
spreadsheetDocument.New();
//Create a new table
Table table = new Table(spreadsheetDocument, &quot;First&quot;, &quot;tablefirst&quot;);
//Create a new cell, without any extra styles 
Cell cell = table.CreateCell(&quot;cell001&quot;);
cell.OfficeValueType = &quot;string&quot;;
//Set full border
cell.CellStyle.CellProperties.Border = Border.NormalSolid;           
//Add a paragraph to this cell
Paragraph paragraph = ParagraphBuilder.CreateSpreadsheetParagraph(spreadsheetDocument);
//Add some text content
paragraph.TextContent.Add(new SimpleText(spreadsheetDocument, &quot;Some text&quot;));
//Add paragraph to the cell
cell.Content.Add(paragraph);
//Insert the cell at row index 2 and column index 3
//All need rows, columns and cells below the given
//indexes will be build automatically.
table.InsertCellAt(2, 3, cell);
//Insert table into the spreadsheet document
spreadsheetDocument.TableCollection.Add(table);
spreadsheetDocument.SaveTo(&quot;F:\tests\simple.ods&quot;);
&lt;/pre&gt;

&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: [[AODL|AODL Wiki Home]] ||  [[AODL-Examples|AODL Examples Overview]] || [[Home|ODF Toolkit Wiki Home]]&lt;/center&gt;&lt;/p&gt;</text>
    <text-as-html>&lt;h2&gt;&lt;a name='Create_a_spreadsheet_document_and_add_a_table'&gt;&lt;/a&gt; Create a spreadsheet document and add a table&lt;/h2&gt;
&lt;p&gt;
Tags: ODF, AODL, C#, .NET

&lt;/p&gt;&lt;p&gt;&lt;pre&gt;
//Create new spreadsheet document
SpreadsheetDocument spreadsheetDocument = new SpreadsheetDocument();
spreadsheetDocument.New();
//Create a new table
Table table = new Table(spreadsheetDocument, &amp;quot;First&amp;quot;, &amp;quot;tablefirst&amp;quot;);
//Create a new cell, without any extra styles 
Cell cell = table.CreateCell(&amp;quot;cell001&amp;quot;);
cell.OfficeValueType = &amp;quot;string&amp;quot;;
//Set full border
cell.CellStyle.CellProperties.Border = Border.NormalSolid;           
//Add a paragraph to this cell
Paragraph paragraph = ParagraphBuilder.CreateSpreadsheetParagraph(spreadsheetDocument);
//Add some text content
paragraph.TextContent.Add(new SimpleText(spreadsheetDocument, &amp;quot;Some text&amp;quot;));
//Add paragraph to the cell
cell.Content.Add(paragraph);
//Insert the cell at row index 2 and column index 3
//All need rows, columns and cells below the given
//indexes will be build automatically.
table.InsertCellAt(2, 3, cell);
//Insert table into the spreadsheet document
spreadsheetDocument.TableCollection.Add(table);
spreadsheetDocument.SaveTo(&amp;quot;F:\tests\simple.ods&amp;quot;);
&lt;/pre&gt;

&lt;/p&gt;&lt;p&gt;&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: &lt;a href='&lt;?url_for_page AODL?&gt;' class='internal'&gt;AODL Wiki Home&lt;/a&gt; ||  &lt;a href='&lt;?url_for_page AODL-Examples?&gt;' class='internal'&gt;AODL Examples Overview&lt;/a&gt; || &lt;a href='&lt;?url_for_page Home?&gt;' class='internal'&gt;ODF Toolkit Wiki Home&lt;/a&gt;&lt;/center&gt;&lt;/p&gt;&lt;/p&gt;</text-as-html>
    <updated-at type="datetime">2008-11-01T16:45:44Z</updated-at>
    <wiki-id type="integer">51</wiki-id>
  </page>
  <page>
    <created-at type="datetime">2008-10-19T05:13:27Z</created-at>
    <description>Reverted to revision #2</description>
    <id type="integer">69</id>
    <name>AODL-example-3</name>
    <number type="integer">6</number>
    <person-id type="integer">14</person-id>
    <text>==Add Image Maps to your document==

Tags: ODF, AODL, C#, .NET

&lt;p&gt;This snippet should give you an idea how to add graphics as Image Maps to your document and how to 
define DrawAreaRectangles and DrawAreaCircle regions incl. hyperlinks.&lt;/p&gt;

&lt;pre&gt;
string imagePath = @&quot;Z:\Files\new_Class.jpg&quot;;
TextDocument document = new TextDocument();
document.New();
//Create standard paragraph
Paragraph paragraphOuter = ParagraphBuilder.CreateStandardTextParagraph(document);
//Create the frame with graphic
Frame frame = new Frame(document, &quot;frame1&quot;, &quot;graphic1&quot;, imagePath);
//Create a Draw Area Rectangle
DrawAreaRectangle drawAreaRec = new DrawAreaRectangle(
    document, &quot;0cm&quot;, &quot;0cm&quot;, &quot;1.5cm&quot;, &quot;2.5cm&quot;, null);
drawAreaRec.Href = &quot;http://OpenDocument4all.com&quot;;
//Create a Draw Area Circle
DrawAreaCircle drawAreaCircle = new DrawAreaCircle(
    document, &quot;4cm&quot;, &quot;4cm&quot;, &quot;1.5cm&quot;, null);
drawAreaCircle.Href = &quot;http://AODL.OpenDocument4all.com&quot;;
DrawArea[] drawArea = new DrawArea[2] { drawAreaRec, drawAreaCircle };
//Create a Image Map
ImageMap imageMap = new ImageMap(document, drawArea);
//Add Image Map to the frame
frame.Content.Add(imageMap);
//Add frame to paragraph
paragraphOuter.Content.Add(frame);
//Add paragraph to document
document.Content.Add(paragraphOuter);
//Save the document
document.SaveTo(@&quot;F:\tests\simpleImageMap.odt&quot;);
&lt;/pre&gt;

&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: [[AODL|AODL Wiki Home]] ||  [[AODL-Examples|AODL Examples Overview]] || [[Home|ODF Toolkit Wiki Home]]&lt;/center&gt;&lt;/p&gt;</text>
    <text-as-html>&lt;h2&gt;&lt;a name='Add_Image_Maps_to_your_document'&gt;&lt;/a&gt;Add Image Maps to your document&lt;/h2&gt;
&lt;p&gt;
Tags: ODF, AODL, C#, .NET

&lt;/p&gt;&lt;p&gt;&lt;p&gt;This snippet should give you an idea how to add graphics as Image Maps to your document and how to 
define DrawAreaRectangles and DrawAreaCircle regions incl. hyperlinks.&lt;/p&gt;

&lt;/p&gt;&lt;p&gt;&lt;pre&gt;
string imagePath = @&amp;quot;Z:\Files\new_Class.jpg&amp;quot;;
TextDocument document = new TextDocument();
document.New();
//Create standard paragraph
Paragraph paragraphOuter = ParagraphBuilder.CreateStandardTextParagraph(document);
//Create the frame with graphic
Frame frame = new Frame(document, &amp;quot;frame1&amp;quot;, &amp;quot;graphic1&amp;quot;, imagePath);
//Create a Draw Area Rectangle
DrawAreaRectangle drawAreaRec = new DrawAreaRectangle(
    document, &amp;quot;0cm&amp;quot;, &amp;quot;0cm&amp;quot;, &amp;quot;1.5cm&amp;quot;, &amp;quot;2.5cm&amp;quot;, null);
drawAreaRec.Href = &amp;quot;http://OpenDocument4all.com&amp;quot;;
//Create a Draw Area Circle
DrawAreaCircle drawAreaCircle = new DrawAreaCircle(
    document, &amp;quot;4cm&amp;quot;, &amp;quot;4cm&amp;quot;, &amp;quot;1.5cm&amp;quot;, null);
drawAreaCircle.Href = &amp;quot;http://AODL.OpenDocument4all.com&amp;quot;;
DrawArea[] drawArea = new DrawArea[2] { drawAreaRec, drawAreaCircle };
//Create a Image Map
ImageMap imageMap = new ImageMap(document, drawArea);
//Add Image Map to the frame
frame.Content.Add(imageMap);
//Add frame to paragraph
paragraphOuter.Content.Add(frame);
//Add paragraph to document
document.Content.Add(paragraphOuter);
//Save the document
document.SaveTo(@&amp;quot;F:\tests\simpleImageMap.odt&amp;quot;);
&lt;/pre&gt;

&lt;/p&gt;&lt;p&gt;&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: &lt;a href='&lt;?url_for_page AODL?&gt;' class='internal'&gt;AODL Wiki Home&lt;/a&gt; ||  &lt;a href='&lt;?url_for_page AODL-Examples?&gt;' class='internal'&gt;AODL Examples Overview&lt;/a&gt; || &lt;a href='&lt;?url_for_page Home?&gt;' class='internal'&gt;ODF Toolkit Wiki Home&lt;/a&gt;&lt;/center&gt;&lt;/p&gt;&lt;/p&gt;</text-as-html>
    <updated-at type="datetime">2009-02-10T21:02:33Z</updated-at>
    <wiki-id type="integer">51</wiki-id>
  </page>
  <page>
    <created-at type="datetime">2008-10-19T05:15:25Z</created-at>
    <description>initial ....</description>
    <id type="integer">70</id>
    <name>AODL-example-4</name>
    <number type="integer">3</number>
    <person-id type="integer">6</person-id>
    <text>==Add a graphic as a illustration to your text document==

Tags: ODF, AODL, C#, .NET

&lt;pre&gt;
TextDocument textdocument = new TextDocument();
textdocument.New();
Paragraph pOuter = ParagraphBuilder.CreateStandardTextParagraph(textdocument);
DrawTextBox drawTextBox = new DrawTextBox(textdocument);
Frame frameTextBox = new Frame(textdocument, &quot;fr_txt_box&quot;);
frameTextBox.DrawName = &quot;fr_txt_box&quot;;
frameTextBox.ZIndex = &quot;0&quot;;
Paragraph p = ParagraphBuilder.CreateStandardTextParagraph(textdocument);
p.StyleName = &quot;Illustration&quot;;
Frame frame = new Frame(textdocument, &quot;frame1&quot;, &quot;graphic1&quot;, _imagefile);
frame.ZIndex = &quot;1&quot;;
p.Content.Add(frame);
p.TextContent.Add(new SimpleText(textdocument, &quot;Illustration&quot;));
drawTextBox.Content.Add(p);
frameTextBox.SvgWidth = frame.SvgWidth;
drawTextBox.MinWidth  = frame.SvgWidth;
drawTextBox.MinHeight = frame.SvgHeight;
frameTextBox.Content.Add(drawTextBox);
pOuter.Content.Add(frameTextBox);
textdocument.Content.Add(pOuter);
textdocument.SaveTo(&quot;drawTextbox.odt&quot;);
&lt;/pre&gt;


&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: [[AODL|AODL Wiki Home]] ||  [[AODL-Examples|AODL Examples Overview]] || [[Home|ODF Toolkit Wiki Home]]&lt;/center&gt;&lt;/p&gt;</text>
    <text-as-html>&lt;h2&gt;&lt;a name='Add_a_graphic_as_a_illustration_to_your_text_document'&gt;&lt;/a&gt;Add a graphic as a illustration to your text document&lt;/h2&gt;
&lt;p&gt;
Tags: ODF, AODL, C#, .NET

&lt;/p&gt;&lt;p&gt;&lt;pre&gt;
TextDocument textdocument = new TextDocument();
textdocument.New();
Paragraph pOuter = ParagraphBuilder.CreateStandardTextParagraph(textdocument);
DrawTextBox drawTextBox = new DrawTextBox(textdocument);
Frame frameTextBox = new Frame(textdocument, &amp;quot;fr_txt_box&amp;quot;);
frameTextBox.DrawName = &amp;quot;fr_txt_box&amp;quot;;
frameTextBox.ZIndex = &amp;quot;0&amp;quot;;
Paragraph p = ParagraphBuilder.CreateStandardTextParagraph(textdocument);
p.StyleName = &amp;quot;Illustration&amp;quot;;
Frame frame = new Frame(textdocument, &amp;quot;frame1&amp;quot;, &amp;quot;graphic1&amp;quot;, _imagefile);
frame.ZIndex = &amp;quot;1&amp;quot;;
p.Content.Add(frame);
p.TextContent.Add(new SimpleText(textdocument, &amp;quot;Illustration&amp;quot;));
drawTextBox.Content.Add(p);
frameTextBox.SvgWidth = frame.SvgWidth;
drawTextBox.MinWidth  = frame.SvgWidth;
drawTextBox.MinHeight = frame.SvgHeight;
frameTextBox.Content.Add(drawTextBox);
pOuter.Content.Add(frameTextBox);
textdocument.Content.Add(pOuter);
textdocument.SaveTo(&amp;quot;drawTextbox.odt&amp;quot;);
&lt;/pre&gt;

&lt;/p&gt;&lt;p&gt;&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: &lt;a href='&lt;?url_for_page AODL?&gt;' class='internal'&gt;AODL Wiki Home&lt;/a&gt; ||  &lt;a href='&lt;?url_for_page AODL-Examples?&gt;' class='internal'&gt;AODL Examples Overview&lt;/a&gt; || &lt;a href='&lt;?url_for_page Home?&gt;' class='internal'&gt;ODF Toolkit Wiki Home&lt;/a&gt;&lt;/center&gt;&lt;/p&gt;&lt;/p&gt;</text-as-html>
    <updated-at type="datetime">2008-11-01T16:45:44Z</updated-at>
    <wiki-id type="integer">51</wiki-id>
  </page>
  <page>
    <created-at type="datetime">2008-10-19T05:17:41Z</created-at>
    <description>initial ....</description>
    <id type="integer">71</id>
    <name>AODL-example-5</name>
    <number type="integer">3</number>
    <person-id type="integer">6</person-id>
    <text>==Add graphics to your document==

Tags: ODF, AODL, C#, .NET

&lt;pre&gt;
TextDocument textdocument = new TextDocument();
textdocument.New();
Paragraph p = ParagraphBuilder.CreateStandardTextParagraph(textdocument);
Frame frame = new Frame(textdocument, &quot;frame1&quot;, &quot;graphic1&quot;, @&quot;F:\img.jpg&quot;);
p.Content.Add(frame);
textdocument.Content.Add(p);
textdocument.SaveTo(&quot;grapic.odt&quot;);
&lt;/pre&gt;

&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: [[AODL|AODL Wiki Home]] ||  [[AODL-Examples|AODL Examples Overview]] || [[Home|ODF Toolkit Wiki Home]]&lt;/center&gt;&lt;/p&gt;</text>
    <text-as-html>&lt;h2&gt;&lt;a name='Add_graphics_to_your_document'&gt;&lt;/a&gt;Add graphics to your document&lt;/h2&gt;
&lt;p&gt;
Tags: ODF, AODL, C#, .NET

&lt;/p&gt;&lt;p&gt;&lt;pre&gt;
TextDocument textdocument = new TextDocument();
textdocument.New();
Paragraph p = ParagraphBuilder.CreateStandardTextParagraph(textdocument);
Frame frame = new Frame(textdocument, &amp;quot;frame1&amp;quot;, &amp;quot;graphic1&amp;quot;, @&amp;quot;F:\img.jpg&amp;quot;);
p.Content.Add(frame);
textdocument.Content.Add(p);
textdocument.SaveTo(&amp;quot;grapic.odt&amp;quot;);
&lt;/pre&gt;

&lt;/p&gt;&lt;p&gt;&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: &lt;a href='&lt;?url_for_page AODL?&gt;' class='internal'&gt;AODL Wiki Home&lt;/a&gt; ||  &lt;a href='&lt;?url_for_page AODL-Examples?&gt;' class='internal'&gt;AODL Examples Overview&lt;/a&gt; || &lt;a href='&lt;?url_for_page Home?&gt;' class='internal'&gt;ODF Toolkit Wiki Home&lt;/a&gt;&lt;/center&gt;&lt;/p&gt;&lt;/p&gt;</text-as-html>
    <updated-at type="datetime">2008-11-01T16:45:44Z</updated-at>
    <wiki-id type="integer">51</wiki-id>
  </page>
  <page>
    <created-at type="datetime">2008-10-19T05:18:52Z</created-at>
    <description>initial ....</description>
    <id type="integer">72</id>
    <name>AODL-example-6</name>
    <number type="integer">3</number>
    <person-id type="integer">6</person-id>
    <text>==Create a table and use cell merging==

Tags: ODF, AODL, C#, .NET

&lt;pre&gt;
//Create a new text document
TextDocument document = new TextDocument();
document.New();
//Create a table for a text document using the TableBuilder
Table table = TableBuilder.CreateTextDocumentTable(
    document,
    &quot;table1&quot;,
    &quot;table1&quot;,
    3,
    3,
    16.99,
    false,
    false);

//Fill the cells
foreach(Row row in table.RowCollection) {
    foreach(Cell cell in row.CellCollection) {
        //Create a standard paragraph
        Paragraph paragraph  = ParagraphBuilder.CreateStandardTextParagraph(document);
        //Add some simple text
        paragraph.TextContent.Add(new SimpleText(document, &quot;Cell text&quot;));
        cell.Content.Add(paragraph);
    }
}
//Merge some cells. Notice this is only available in text documents!
table.RowCollection[1].MergeCells(document, 1, 2, true);
//Add table to the document
document.Content.Add(table);
//Save the document
document.SaveTo(&quot;simpleTableWithMergedCells.odt&quot;);
&lt;/pre&gt;

&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: [[AODL|AODL Wiki Home]] ||  [[AODL-Examples|AODL Examples Overview]] || [[Home|ODF Toolkit Wiki Home]]&lt;/center&gt;&lt;/p&gt;</text>
    <text-as-html>&lt;h2&gt;&lt;a name='Create_a_table_and_use_cell_merging'&gt;&lt;/a&gt;Create a table and use cell merging&lt;/h2&gt;
&lt;p&gt;
Tags: ODF, AODL, C#, .NET

&lt;/p&gt;&lt;p&gt;&lt;pre&gt;
//Create a new text document
TextDocument document = new TextDocument();
document.New();
//Create a table for a text document using the TableBuilder
Table table = TableBuilder.CreateTextDocumentTable(
    document,
    &amp;quot;table1&amp;quot;,
    &amp;quot;table1&amp;quot;,
    3,
    3,
    16.99,
    false,
    false);

//Fill the cells
foreach(Row row in table.RowCollection) {
    foreach(Cell cell in row.CellCollection) {
        //Create a standard paragraph
        Paragraph paragraph  = ParagraphBuilder.CreateStandardTextParagraph(document);
        //Add some simple text
        paragraph.TextContent.Add(new SimpleText(document, &amp;quot;Cell text&amp;quot;));
        cell.Content.Add(paragraph);
    }
}
//Merge some cells. Notice this is only available in text documents!
table.RowCollection[1].MergeCells(document, 1, 2, true);
//Add table to the document
document.Content.Add(table);
//Save the document
document.SaveTo(&amp;quot;simpleTableWithMergedCells.odt&amp;quot;);
&lt;/pre&gt;

&lt;/p&gt;&lt;p&gt;&lt;p style=&quot;margin: 15px 0px&quot;&gt;&lt;center&gt;Back to: &lt;a href='&lt;?url_for_page AODL?&gt;' class='internal'&gt;AODL Wiki Home&lt;/a&gt; ||  &lt;a href='&lt;?url_for_page AODL-Examples?&gt;' class='internal'&gt;AODL Examples Overview&lt;/a&gt; || &lt;a href='&lt;?url_for_page Home?&gt;' class='internal'&gt;ODF Toolkit Wiki Home&lt;/a&gt;&lt;/center&gt;&lt;/p&gt;&lt;/p&gt;</text-as-html>
    <updated-at type="datetime">2008-11-01T16:45:45Z</updated-at>
    <wiki-id type="integer">51</wiki-id>
  </page>
</pages>
