All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ElementWriter.h
Go to the documentation of this file.
1 //---------------------------------------------------------------------------------------
2 // Copyright (c) 2001-2026 by Apryse Software Inc. All Rights Reserved.
3 // Consult legal.txt regarding legal and license information.
4 //---------------------------------------------------------------------------------------
5 #ifndef PDFTRON_H_CPPPDFElementWriter
6 #define PDFTRON_H_CPPPDFElementWriter
7 
8 #include <PDF/Page.h>
9 #include <PDF/Element.h>
10 #include <Common/Matrix2D.h>
11 #include <C/PDF/TRN_ElementWriter.h>
12 #include <PDF/ElementReader.h>
13 
14 namespace pdftron {
15  namespace PDF {
16 
17 
23 {
24 public:
25 
26  ElementWriter();
28 
29 
33  enum WriteMode
34  {
38  };
39 
62  void Begin( Page& page, WriteMode placement = e_overlay, bool page_coord_sys = true, bool compress = true, SDF::Obj resources = 0);
63 
81  void Begin(SDF::SDFDoc& doc, bool compress = true);
82 
83 
103  void Begin(SDF::Obj stream_obj_to_update, bool compress = true, SDF::Obj resources = 0);
104 
110  SDF::Obj End();
111 
116  void WriteElement(Element element);
117 
133  void WritePlacedElement(Element element);
134 
140  void Flush();
141 
147  void WriteBuffer(std::vector<unsigned char> data);
148 
149 #ifndef SWIG
150  void WriteBuffer(const char* data, int data_sz);
151 #endif
152 
158  void WriteString(const char* str);
159 
165  void WriteGStateChanges(Element element);
166 
172  void SetDefaultGState(ElementReader& reader);
173 
177  void Destroy();
178 
179 // @cond PRIVATE_DOC
180 #ifndef SWIGHIDDEN
181  TRN_ElementWriter mp_writer;
182  ElementWriter(TRN_ElementWriter impl);
183 #endif
184 private:
185  // ElementWriter should not be copied
186  ElementWriter(const ElementWriter& other);
187  ElementWriter& operator= (const ElementWriter&);
188 // @endcond
189 
190 
191 
192 };
193 
194 
195 #include <Impl/ElementWriter.inl>
196 
197  }; // namespace PDF
198 }; // namespace pdftron
199 
200 #endif // PDFTRON_H_CPPPDFElementWriter
void WritePlacedElement(Element element)
void WriteGStateChanges(Element element)
void SetDefaultGState(ElementReader &reader)
void WriteElement(Element element)
void WriteString(const char *str)
void Begin(Page &page, WriteMode placement=e_overlay, bool page_coord_sys=true, bool compress=true, SDF::Obj resources=0)
element is put in the background layer of the page
Definition: ElementWriter.h:35
void WriteBuffer(std::vector< unsigned char > data)
element will replace current page contents
Definition: ElementWriter.h:37
element appears on top of the existing graphics
Definition: ElementWriter.h:36