Mako 8.2.0 API
MakoCore SDK API Documentation
Loading...
Searching...
No Matches
pdfpage.h
Go to the documentation of this file.
1/*
2* Copyright (C) 2021-2025 Global Graphics Software Ltd. All rights reserved.
3*/
4
5#ifndef _JAWSMAKO_PDFPAGE_H_
6#define _JAWSMAKO_PDFPAGE_H_
7
16
17#include <jawsmako/jawsmako.h>
18
19namespace JawsMako
20{
21 using namespace EDL;
22
25 class IPDFPageInserter;
27
34 {
35 public:
36 virtual ~IPDFPageExtractor() {}
37
63 static JAWSMAKO_API IPDFPageExtractorPtr create(const IJawsMakoPtr &jawsMako, const IInputStreamPtr &inputStream, const U8String &password = U8String(),
64 uint32 permissions = 0, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr());
65
70 virtual uint32 getNumPages() = 0;
71
81 virtual void extract(const IOutputStreamPtr &outputStream, uint32 pageIndex, uint32 numPages) = 0;
82
92 virtual void extractFrom(const IOutputStreamPtr &outputStream, uint32 pageIndex) = 0;
93
103 virtual void extractTo(const IOutputStreamPtr &outputStream, uint32 pageIndex) = 0;
104 };
105 #define obj2IPDFPageExtractor(obj) IPDFPageExtractorPtr(dynamic_cast<IPDFPageExtractor *>((IRCObject *) obj), true)
106
113 {
114 public:
115 virtual ~IPDFPageInserter() {}
116
143 static JAWSMAKO_API IPDFPageInserterPtr create(const IJawsMakoPtr &jawsMako, const IInputStreamPtr &inputStream, const U8String &password = U8String(),
144 uint32 permissions = 0, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr());
145
150 virtual uint32 getNumPages() = 0;
151
165 virtual void insert(const IInputStreamPtr &inputStream, uint32 destPageIndex, uint32 sourcePageIndex, uint32 numPages,
166 const U8String &password = U8String(), uint32 permissions = 0) = 0;
167
181 virtual void insertFrom(const IInputStreamPtr &inputStream, uint32 destPageIndex, uint32 sourcePageIndex,
182 const U8String &password = U8String(), uint32 permissions = 0) = 0;
183
197 virtual void insertTo(const IInputStreamPtr &inputStream, uint32 destPageIndex, uint32 sourcePageIndex,
198 const U8String &password = U8String(), uint32 permissions = 0) = 0;
199
205 virtual void save(const IOutputStreamPtr &outputStream) = 0;
206 };
207 #define obj2IPDFPageInserter(obj) IPDFPageInserterPtr(dynamic_cast<IPDFPageInserter *>((IRCObject *) obj), true)
208}
209#endif
Base class Interface for all Reference Counted objects.
Definition ircobject.h:35
An instance of the JawsMako PDFPageExtractor class.
Definition pdfpage.h:34
virtual void extractFrom(const IOutputStreamPtr &outputStream, uint32 pageIndex)=0
Extract a range of pages from a given index into a given output stream.
virtual void extract(const IOutputStreamPtr &outputStream, uint32 pageIndex, uint32 numPages)=0
Extract a range of pages into a given output stream.
virtual uint32 getNumPages()=0
Return the number of pages in the document.
virtual ~IPDFPageExtractor()
Definition pdfpage.h:36
static JAWSMAKO_API IPDFPageExtractorPtr create(const IJawsMakoPtr &jawsMako, const IInputStreamPtr &inputStream, const U8String &password=U8String(), uint32 permissions=0, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr())
Create an IPDFPageExtractor interface.
virtual void extractTo(const IOutputStreamPtr &outputStream, uint32 pageIndex)=0
Extract a range of pages to a given index into a given output stream.
An instance of the JawsMako PDFPageInserter class.
Definition pdfpage.h:113
virtual void insertFrom(const IInputStreamPtr &inputStream, uint32 destPageIndex, uint32 sourcePageIndex, const U8String &password=U8String(), uint32 permissions=0)=0
Insert a range of pages from a given input stream.
virtual void save(const IOutputStreamPtr &outputStream)=0
Save into a given output stream.
virtual void insert(const IInputStreamPtr &inputStream, uint32 destPageIndex, uint32 sourcePageIndex, uint32 numPages, const U8String &password=U8String(), uint32 permissions=0)=0
Insert a range of pages from a given input stream.
static JAWSMAKO_API IPDFPageInserterPtr create(const IJawsMakoPtr &jawsMako, const IInputStreamPtr &inputStream, const U8String &password=U8String(), uint32 permissions=0, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr())
Create an IPDFPageInserter interface.
virtual uint32 getNumPages()=0
Return the number of pages in the document.
virtual ~IPDFPageInserter()
Definition pdfpage.h:115
virtual void insertTo(const IInputStreamPtr &inputStream, uint32 destPageIndex, uint32 sourcePageIndex, const U8String &password=U8String(), uint32 permissions=0)=0
Insert a range of pages from a given input stream.
unsigned int uint32
Definition edltypes.h:34
EDLSysString U8String
A UTF-8 String.
Definition types.h:144
Definition apexcustompostprocess.h:17
EDL::IProgressMonitorPtr IProgressMonitorPtr
Definition types.h:85
#define DECL_SMART_PTR(cls)
Definition smartptr.h:211
#define JAWSMAKO_API
Definition types.h:29