All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FDFDoc.h
Go to the documentation of this file.
1 //---------------------------------------------------------------------------------------
2 // Copyright (c) 2001-2021 by PDFTron Systems Inc. All Rights Reserved.
3 // Consult legal.txt regarding legal and license information.
4 //---------------------------------------------------------------------------------------
5 #ifndef PDFTRON_H_CPPFDFFDFDoc
6 #define PDFTRON_H_CPPFDFFDFDoc
7 
8 #include <SDF/SDFDoc.h>
9 #include <FDF/FDFField.h>
10 #include <Common/Iterator.h>
11 #include <C/FDF/TRN_FDFDoc.h>
12 #include <PDF/Field.h>
13 #include <FDF/XFDFExportOptions.h>
14 
15 namespace pdftron {
16  namespace FDF {
17 
30 
40 class FDFDoc
41 {
42 public:
43 
49  FDFDoc(TRN_FDFDoc impl = 0, bool owner = true);
50 
58  FDFDoc(SDF::SDFDoc& sdfdoc);
59 
65  FDFDoc (const char* filepath);
66  FDFDoc (const UString& filepath);
67 
81  FDFDoc (Filters::Filter stream);
82 
92  FDFDoc (const char* buf, size_t buf_size);
93 
97  ~FDFDoc ();
98 
102  void Close();
103 
107  bool IsModified () const;
108 
128  void Save(const UString& path);
129 
135  std::vector<unsigned char> Save();
136 
137 #ifndef SWIG
138 
148  void Save(const char* &out_buf, size_t& out_buf_size);
149 #endif
150 
154  SDF::Obj GetTrailer ();
155 
160  SDF::Obj GetRoot();
161 
165  SDF::Obj GetFDF();
166 
174 
181  void SetPDFFileName(const UString& filepath);
182 
188  SDF::Obj GetID();
189 
195  void SetID(SDF::Obj id);
196 
212 
228  FDFFieldIterator GetFieldIterator(const UString& field_name);
229 
230 
238  FDFField GetField(const UString& field_name);
239 
245  FDFField FieldCreate(const UString& field_name, PDF::Field::Type type, SDF::Obj field_value = 0);
246  FDFField FieldCreate(const UString& field_name, PDF::Field::Type type, const UString& field_value);
247 
252 
258  static FDFDoc CreateFromXFDF(const UString& file_name);
259 
264  void SaveAsXFDF(const UString& filepath);
265 
271  void SaveAsXFDF(const UString& filepath, const FDF::XFDFExportOptions& opts);
272 
278 
285 
292  void MergeAnnots( const UString& command_file, const UString& permitted_user = "" );
293 
294  FDFDoc(const FDFDoc& other);
295 
296 // @cond PRIVATE_DOC
297 #ifndef SWIGHIDDEN
298  mutable TRN_FDFDoc mp_doc;
299 #endif
300 // @endcond
301 private:
302  FDFDoc& operator=(const FDFDoc& other);
303  mutable bool m_owner;
304 };
305 
306 
307 #include <Impl/FDFDoc.inl>
308 
309  }; // namespace FDF
310 }; // namespace pdftron
311 
312 #endif // PDFTRON_H_CPPFDFFDFDoc
void SetID(SDF::Obj id)
static FDFDoc CreateFromXFDF(const UString &file_name)
FDFDoc(TRN_FDFDoc impl=0, bool owner=true)
std::vector< unsigned char > Save()
SDF::SDFDoc & GetSDFDoc()
void SetPDFFileName(const UString &filepath)
UString GetPDFFileName()
Common::Iterator< FDFField > FDFFieldIterator
Definition: FDFDoc.h:29
FDFFieldIterator GetFieldIterator()
void MergeAnnots(const UString &command_file, const UString &permitted_user="")
FDFField FieldCreate(const UString &field_name, PDF::Field::Type type, SDF::Obj field_value=0)
bool IsModified() const
FDFField GetField(const UString &field_name)