Show / Hide Table of Contents

Class ElementWriter

ElementWriter can be used to assemble and write new content to a page, Form XObject, Type3 Glyph stream, pattern stream, or any other content stream.

Inheritance
System.Object
ElementWriter
Implements
System.IDisposable
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ToString()
System.Object.ReferenceEquals(System.Object, System.Object)
Namespace: pdftron.PDF
Assembly: PDFNetAndroid.dll
Syntax
public class ElementWriter : IDisposable

Constructors

ElementWriter()

Instantiates a new element writer.

Declaration
public ElementWriter()
Exceptions
Type Condition
PDFNetException

PDFNetException the PDFNet exception

Methods

Begin(Page)

Begin writing to the given page.

By default, new content will be appended to the page, as foreground graphics. It is possible to add new page content as background graphics by setting the second parameter in begin method to 'true' (e.g. writer.Begin(page, true)).

Declaration
public void Begin(Page page)
Parameters
Type Name Description
Page page

The page to write content.

Exceptions
Type Condition
PDFNetException

PDFNetException the PDFNet exception

Begin(Page, ElementWriter.WriteMode)

Begin writing to the given page. By default, new content will be appended to the page, as foreground graphics. It is possible to add new page content as background graphics by setting the second parameter in begin method to 'true' (e.g. writer.Begin(page, true)).

Declaration
public void Begin(Page page, ElementWriter.WriteMode placement)
Parameters
Type Name Description
Page page

The page to write content.

ElementWriter.WriteMode placement

An optional flag indicating whether the new content should be added as a foreground or background layer to the existing page. By default, the new content will appear on top of the existing graphics.

Exceptions
Type Condition
PDFNetException

PDFNetException the PDFNet exception

Begin(Page, ElementWriter.WriteMode, Boolean)

Begin writing to the given page. By default, new content will be appended to the page, as foreground graphics. It is possible to add new page content as background graphics by setting the second parameter in begin method to 'true' (e.g. writer.Begin(page, true)).

Declaration
public void Begin(Page page, ElementWriter.WriteMode placement, bool page_coord_sys)
Parameters
Type Name Description
Page page

The page to write content.

ElementWriter.WriteMode placement

An optional flag indicating whether the new content should be added as a foreground or background layer to the existing page. By default, the new content will appear on top of the existing graphics.

System.Boolean page_coord_sys

An optional flag used to select the target coordinate system. If true (default), the coordinates are relative to the lower-left corner of the page, otherwise the coordinates are defined in PDF user coordinate system (which may, or may not coincide with the page coordinates).

Exceptions
Type Condition
PDFNetException

PDFNetException the PDFNet exception

Begin(Page, ElementWriter.WriteMode, Boolean, Boolean)

Begin writing to the given page. By default, new content will be appended to the page, as foreground graphics. It is possible to add new page content as background graphics by setting the second parameter in begin method to 'true' (e.g. writer.Begin(page, true)).

Declaration
public void Begin(Page page, ElementWriter.WriteMode placement, bool page_coord_sys, bool compress)
Parameters
Type Name Description
Page page

The page to write content.

ElementWriter.WriteMode placement

An optional flag indicating whether the new content should be added as a foreground or background layer to the existing page. By default, the new content will appear on top of the existing graphics.

System.Boolean page_coord_sys

An optional flag used to select the target coordinate system. If true (default), the coordinates are relative to the lower-left corner of the page, otherwise the coordinates are defined in PDF user coordinate system (which may, or may not coincide with the page coordinates).

System.Boolean compress

An optional flag indicating whether the page content stream should be compressed. This may be useful for debugging content streams. Also some applications need to do a clear text search on strings in the PDF files. By default, all content streams are compressed.

Exceptions
Type Condition
PDFNetException

PDFNetException the PDFNet exception

Begin(Page, ElementWriter.WriteMode, Boolean, Boolean, Obj)

Declaration
public void Begin(Page page, ElementWriter.WriteMode placement, bool page_coord_sys, bool compress, Obj resources)
Parameters
Type Name Description
Page page
ElementWriter.WriteMode placement
System.Boolean page_coord_sys
System.Boolean compress
Obj resources

Begin(Obj, Boolean)

Begin writing an Element sequence to a stream. Use this function to write Elements to a content stream which will replace an existing content stream in an object passed as a parameter.

Declaration
public void Begin(Obj stream_to_modify, bool compress)
Parameters
Type Name Description
Obj stream_to_modify

the streamobj_to_update

System.Boolean compress

the compress

Exceptions
Type Condition
PDFNetException

PDFNetException the PDFNet exception

Begin(Obj, Boolean, Obj)

Begin writing an Element sequence to a stream. Use this function to write Elements to a content stream which will replace an existing content stream in an object passed as a parameter.

Declaration
public void Begin(Obj stream_to_modify, bool compress, Obj resources)
Parameters
Type Name Description
Obj stream_to_modify

the streamobj_to_update

System.Boolean compress

the compress

Obj resources

the resource dictionary in which to store resources for the final page.

Exceptions
Type Condition
PDFNetException

PDFNetException the PDFNet exception

Begin(SDFDoc)

Begin writing an Element sequence to a new stream. Use this function to write Elements to a content stream other than the page. For example, you can create Form XObjects (See Section '4.9 Form XObjects' in PDF Reference for more details) pattern streams, Type3 font glyph streams, etc.

Declaration
public void Begin(SDFDoc doc)
Parameters
Type Name Description
SDFDoc doc
  • A low-level SDF/Cos document that will contain the new stream. You can access low-level document using PDFDoc.GetSDFDoc() or Obj.GetDoc() methods.
Remarks

the newly created content stream object is returned when writing operations are completed (i.e. after the call to ElementWriter.End()).

Exceptions
Type Condition
PDFNetException

PDFNetException the PDFNet exception

Begin(SDFDoc, Boolean)

Begin writing an Element sequence to a new stream. Use this function to write Elements to a content stream other than the page. For example, you can create Form XObjects (See Section '4.9 Form XObjects' in PDF Reference for more details) pattern streams, Type3 font glyph streams, etc.

Declaration
public void Begin(SDFDoc doc, bool compress)
Parameters
Type Name Description
SDFDoc doc

the doc

System.Boolean compress

the compress

Exceptions
Type Condition
PDFNetException

PDFNetException the PDFNet exception

Destroy()

Declaration
public void Destroy()

Dispose()

Declaration
public void Dispose()

Dispose(Boolean)

Declaration
protected virtual void Dispose(bool disposing)
Parameters
Type Name Description
System.Boolean disposing

End()

Finish writing to a page.

Declaration
public Obj End()
Returns
Type Description
Obj

A low-level stream object that was used to store Elements.

Exceptions
Type Condition
PDFNetException

PDFNetException the PDFNet exception

Finalize()

Releases all resources used by the ElementWriter

Declaration
protected void Finalize()

Flush()

The Flush method flushes all pending Element writing operations. This method is typically only required to be called when intermixing direct content writing (i.e. WriteBuffer/WriteString) with Element writing.

Declaration
public void Flush()
Exceptions
Type Condition
PDFNetException

PDFNetException the PDFNet exception

SetDefaultGState(ElementReader)

Declaration
public void SetDefaultGState(ElementReader reader)
Parameters
Type Name Description
ElementReader reader

WriteBuffer(Byte[])

Writes an arbitrary buffer to the content stream. This function can be used to insert comments, inline-image data, and chunks of arbitrary content to the output stream.

Declaration
public void WriteBuffer(byte[] buf)
Parameters
Type Name Description
System.Byte[] buf

the data

Exceptions
Type Condition
PDFNetException

PDFNetException the PDFNet exception

WriteElement(Element)

Writes the Element to the content stream.

Declaration
public void WriteElement(Element element)
Parameters
Type Name Description
Element element

the element

Exceptions
Type Condition
PDFNetException

PDFNetException the PDFNet exception

WritePlacedElement(Element)

A utility function that surrounds the given Element with a graphics state Save/Restore Element (i.e. in PDF content stream represented as 'q element Q').

The function is equivalent to calling WriteElement three times: WriteElement(eSave); WriteElement(element); WriteElement(eRestore);

where eSave is 'e_group_begin' and eRestore is 'e_group_end' Element

The function is useful when XObjects such as Images and Forms are drawn on the page.

Declaration
public void WritePlacedElement(Element element)
Parameters
Type Name Description
Element element

the element

Exceptions
Type Condition
PDFNetException

PDFNetException the PDFNet exception

WriteString(String)

Writes an arbitrary string to the content stream. Serves the same purpose as WriteBuffer().

Declaration
public void WriteString(string data)
Parameters
Type Name Description
System.String data

the str

Exceptions
Type Condition
PDFNetException

PDFNetException the PDFNet exception

Implements

System.IDisposable
In This Article
Back to top Generated by DocFX