/usr/share/perl5/OpenOffice/OODoc/Document.pod is in libopenoffice-oodoc-perl 2.125-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 | =head1 NAME
OpenOffice::OODoc::Document - Top level component for content and layout processing
=head1 SYNOPSIS
# get an ODF file handler
my $oofile = odfContainer("myfile.odt");
# connect a content-focused document interface
my $content = odfDocument
(
container => $oofile,
part => 'content'
);
# connect a style-focused document interface
my $styles = odfDocument
(
container => $oofile,
part => 'styles'
);
# process any content and style element
$content->appendParagraph
(
text => "An additional paragraph",
style => "BlueStyle"
);
$styles->createStyle
(
"BlueStyle",
parent => 'Text body',
family => 'paragraph',
properties =>
{
area => 'text',
'fo:color' => rgb2oo('blue')
}
);
# commit the changes using the file handler
$oofile->save;
=head1 DESCRIPTION
This module defines the top level Document class, which is a connector
allowing any kind of content and presentation processing. It inherits
from OODoc::XPath, OODoc::Text, OODoc::Styles and OODoc::Image.
The most usual instruction to get access to any member of a document, with
the exception if the metadata (meta.xml) should be something like:
my $doc = odfDocument([options]);
This constructor, if successful, returns an object that can be used
(according to its "member" option) to process styles, images and text.
This module is designed simply to create objects which include all
the functionality of OODoc::Text, OODoc::Image, OODoc::Styles and
OODoc::XPath (which should not be called directly by applications).
For example
my $styles = odfDocument(file => "source.odt", part => "styles");
is generally better than
my styles = odfStyles(file => "source.odt");
While OODoc::Document inherits all the methods and properties of these
classes, its detailed documentation in essentially provided in
the following manual pages:
OpenOffice::OODoc::Text -> text content
OpenOffice::OODoc::Styles -> style & layout
OpenOffice::OODoc::Image -> graphic objects
OpenOffice::OODoc::XPath -> common features & low-level API
For example, the appendParagraph() and createStyle() methods used in the
synopsis above are respectively described in OpenOffice::OODoc::Text and
OpenOffice::OODoc::Styles.
The present manual page only describes those methods (there are very few)
which combine layout and content processing.
=head2 Methods
=head3 Constructor : OpenOffice::OODoc::Document->new(<parameters>)
Short Form: odfDocument(<parameters>) or odfConnector(<parameters>)
See OpenOffice::OODoc::XPath->new (or odfXPath)
Returns an OpenDocument connector, available for subsequent
access to any element of a well-formed document.
Knowing that the Document class is a derivative of the Text, Styles,
Image, and XPath classes, ooDocument() implicitly executes the
corresponding constructors. So all the options of these constuctors
are available.
If no "part" parameter is given, the member selected by default is
"content" (see OODoc::XPath). The most generally used parts are
"content" and "styles".
=head3 createImageStyle(name [, options])
Creates a graphics style which is immediately usable. With no
options, this method applies to the new style a "reasonable" set of
characteristics which match fairly closely the default image
presentation style in OpenOffice.org before any manual changes made
by the user. An application can set its own options in the same way
as createStyle in OODoc::Styles.
The aim of this method is to minimise the amount of work involved in
setting up the style, especially when the default values are close
enough, and bearing in mind that an image must always be associated
with a style to be displayed in a document.
The code below shows a simple method of inserting an image into a
document, in this case linked to a given paragraph (see
createImageElement in OODoc::Image):
my $anchor = $doc->getParagraph(4);
my $style = $doc->createImageStyle("Photo");
my $image = $doc->createImageElement
(
"Eiffel Tower",
style => "Photo",
attachment => $anchor,
size => "4cm, 12cm",
import => "eiffel_tower.jpg"
);
The 'properties' option is available for customizations, according
to the OpenDocument naming rules. For example, the following
instruction creates a style for centered images:
$doc->createImageStyle
(
'Centered Image',
properties =>
{
'style:horizontal-pos' => 'center'
}
);
=head3 createTextStyle(name [, options])
Creates a text style which is immediately usable and whose default
characteristics are the "Standard" style in the document, even if no
options are given.
If the "Standard" style does not exist, a "reasonable" style is
still created (this can happen in a document created from code and
not by an interactive office software).
An application can still pass all the options it wants in the same
way as createStyle in OODoc::Styles.
=head3 removePageBreak(paragraph)
Removes the page break from the given paragraph (before or after).
This method actually removes the page break attribute from the
corresponding paragraph style. It does not remove paragraph styles
which may have been created to carry page breaks, so its effects are
not technically the reverse of setPageBreak(). Generally speaking,
however, this should not be a problem. See setPageBreak() about the
logic of handling page breaks.
=head3 setPageBreak(paragraph [, options])
Places a page break at the position of the given paragraph. By
default, the page break is placed before the paragraph and no
changes are made to the page style.
You can place the page break after the paragraph using the option
position => 'after'
To use this method properly every time, you must remember that a
page break is not a text element, but a style applied before or
after the paragraph concerned. Putting a page break in front of or
behind a paragraph actually means adding a "page break before" or
"page break after" attribute to the paragraph's style. As always, a
page break cannot appear in the text in keeping with the principle
of separation of content and presentation. This however adds a
slight complication, in that all paragraphs which use the same style
will have the page break. Otherwise, if the paragraph has a named
style (i.e. defined in styles.xml) and we are working in the body of
the document (i.e. in content.xml), then this method will not work
as it cannot access both XML members at the same time. There is
however a solution (the one used by OpenOffice.org) which consists
simply of creating a special style for the paragraph which takes the
old paragraph style as a parent and has only a page break attribute
(the old paragraph style is not modified). To do this, all you need
is the option:
style => style_name
This option forces the creation of an automatic style with the given
name (make sure none other exists with the same name) and which will
only be used to carry the page break. Later on, you can of course
apply other characteristics to the style using the updateStyle
method in OODoc::Styles, but this is not recommended. It is better
not to use page break styles for other purposes. The nature of the
existing paragraph style dictates whether or not you create a page
break style. If the paragraph style is a named style (i.e. defined
in styles.xml and visible to the user), you must create a page break
style, but if it already has an automatic style you must not. The
quite rare but most complicated scenario is where the paragraph has
an automatic style shared by several paragraphs. In this case you
must then make copies of the styles using the methods in
OODoc::Styles.
A page break can allow you to change a page's style. You can do this
with the option:
page => page style
in which you give the following page's style (i.e. the logical name
of a master page. See OODoc::Styles). Remember that if the "page"
option is given, the page break is forced before the paragraph (the
"position" option does not work in this case).
=head3 style(object [, style])
Returns the style name of a text or graphics object. If the first
argument is a "master page" (see OODoc::Styles), it even returns the
associated "page layout".
Replaces the object's style if a style name is given as the second
argument.
=head1 AUTHOR/COPYRIGHT
Developer/Maintainer: Jean-Marie Gouarne L<http://jean.marie.gouarne.online.fr>
Contact: jmgdoc@cpan.org
Copyright 2004-2008 by Genicorp, S.A. L<http://www.genicorp.com>
Initial English version of the reference manual by Graeme A. Hunter
(graeme.hunter@zen.co.uk).
License: GNU Lesser General Public License v2.1
=cut
|