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
|
<!-- vim:tabstop=4:shiftwidth=4:noexpandtab:textwidth=80
-->
<sect1 id="kernel_part_pdfwriter">
<title>IPdfwriter</title>
<para>
IPdfWriter abstract class provides interface for pdf content writing.
</para>
<para>
IPdfWriter writes pdf content in two phases:
<itemizedlist>
<listitem>Real data writing and information collecting. This is done
during <classname>writeContent</classname> method. Implementator is responsible to
collect all data needed for cross reference section generation.
</listitem>
<listitem>Cross reference section writing. This is done in
<classname>writeTrailer</classname> method, which gets all
collected data and writes cross reference table (or stream -
depends on implementation), writes trailer dictionary and finally
information about last xref position.
</listitem>
</itemizedlist>
Different implementator of IPdfWriter interface can be set by
<classname>XRefWriter::setPdfWriter</classname> method.
</para>
<para>
Each sequence of <classname>writeContent, [writeContent, ]*
writeTrailer</classname> forms new
revision of document in incremental update sense. In this moment
<classname>OldStylePdfWriter</classname> implementation is used which forms old style cross
reference table (see pdf specification 2.4.3 Cross reference table
chapter).
</para>
</sect1>
|