TiffDevice.h
1 #pragma once
2 // Copyright (c) 2001-2024 Aspose Pty Ltd. All Rights Reserved.
3 
4 #include <system/shared_ptr.h>
5 
6 #include "Aspose.PDF.Cpp/Devices/DocumentDevice.h"
7 #include "Aspose.PDF.Cpp/aspose_pdf_api_defs.h"
8 
9 namespace Aspose
10 {
11 namespace Pdf
12 {
13 namespace Devices
14 {
15 enum class FormPresentationMode;
16 class ImageGenerator;
17 class Resolution;
18 class TiffSettings;
19 } // namespace Devices
20 class Document;
21 class IIndexBitmapConverter;
22 class Page;
23 class PageSize;
24 class RenderingOptions;
25 } // namespace Pdf
26 } // namespace Aspose
27 namespace System
28 {
29 namespace IO
30 {
31 class Stream;
32 } // namespace IO
33 } // namespace System
34 
35 namespace Aspose {
36 
37 namespace Pdf {
38 
39 namespace Devices {
40 
44 class ASPOSE_PDF_SHARED_CLASS TiffDevice final : public Aspose::Pdf::Devices::DocumentDevice
45 {
46  typedef TiffDevice ThisType;
48 
49  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
50  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
51 
52 public:
53 
57  ASPOSE_PDF_SHARED_API System::SharedPtr<Aspose::Pdf::RenderingOptions> get_RenderingOptions() const;
61  ASPOSE_PDF_SHARED_API void set_RenderingOptions(System::SharedPtr<Aspose::Pdf::RenderingOptions> value);
65  ASPOSE_PDF_SHARED_API Aspose::Pdf::Devices::FormPresentationMode get_FormPresentationMode() const;
69  ASPOSE_PDF_SHARED_API void set_FormPresentationMode(Aspose::Pdf::Devices::FormPresentationMode value);
73  ASPOSE_PDF_SHARED_API System::SharedPtr<TiffSettings> get_Settings() const;
77  ASPOSE_PDF_SHARED_API System::SharedPtr<Aspose::Pdf::Devices::Resolution> get_Resolution() const;
81  ASPOSE_PDF_SHARED_API int32_t get_Width() const;
85  ASPOSE_PDF_SHARED_API int32_t get_Height() const;
86 
93  ASPOSE_PDF_SHARED_API TiffDevice(System::SharedPtr<Aspose::Pdf::Devices::Resolution> resolution);
103  ASPOSE_PDF_SHARED_API TiffDevice(System::SharedPtr<Aspose::Pdf::Devices::Resolution> resolution, System::SharedPtr<TiffSettings> settings);
123  ASPOSE_PDF_SHARED_API TiffDevice(System::SharedPtr<TiffSettings> settings);
133  ASPOSE_PDF_SHARED_API TiffDevice(System::SharedPtr<TiffSettings> settings, System::SharedPtr<IIndexBitmapConverter> converter);
137  ASPOSE_PDF_SHARED_API TiffDevice();
138 
154  ASPOSE_PDF_SHARED_API void Process(System::SharedPtr<Aspose::Pdf::Document> document, int32_t fromPage, int32_t toPage, System::SharedPtr<System::IO::Stream> output) override;
155 
171  ASPOSE_PDF_SHARED_API TiffDevice(int32_t width, int32_t height, System::SharedPtr<Aspose::Pdf::Devices::Resolution> resolution, System::SharedPtr<TiffSettings> settings);
190  ASPOSE_PDF_SHARED_API TiffDevice(int32_t width, int32_t height, System::SharedPtr<Aspose::Pdf::Devices::Resolution> resolution, System::SharedPtr<TiffSettings> settings, System::SharedPtr<IIndexBitmapConverter> converter);
203  ASPOSE_PDF_SHARED_API TiffDevice(System::SharedPtr<PageSize> pageSize, System::SharedPtr<Aspose::Pdf::Devices::Resolution> resolution, System::SharedPtr<TiffSettings> settings);
232  ASPOSE_PDF_SHARED_API TiffDevice(int32_t width, int32_t height, System::SharedPtr<Aspose::Pdf::Devices::Resolution> resolution);
242  ASPOSE_PDF_SHARED_API TiffDevice(System::SharedPtr<PageSize> pageSize, System::SharedPtr<Aspose::Pdf::Devices::Resolution> resolution);
255  ASPOSE_PDF_SHARED_API TiffDevice(int32_t width, int32_t height, System::SharedPtr<TiffSettings> settings);
271  ASPOSE_PDF_SHARED_API TiffDevice(int32_t width, int32_t height, System::SharedPtr<TiffSettings> settings, System::SharedPtr<IIndexBitmapConverter> converter);
284  ASPOSE_PDF_SHARED_API TiffDevice(System::SharedPtr<PageSize> pageSize, System::SharedPtr<TiffSettings> settings, System::SharedPtr<IIndexBitmapConverter> converter);
294  ASPOSE_PDF_SHARED_API TiffDevice(System::SharedPtr<PageSize> pageSize, System::SharedPtr<TiffSettings> settings);
304  ASPOSE_PDF_SHARED_API TiffDevice(int32_t width, int32_t height);
311  ASPOSE_PDF_SHARED_API TiffDevice(System::SharedPtr<PageSize> pageSize);
312 
313 private:
314 
315  static const double EmptyPageDetectionThreshold;
319  int32_t width;
320  int32_t height;
321  Aspose::Pdf::Devices::FormPresentationMode formPresentationMode;
323 
324  System::SharedPtr<ImageGenerator> CreateImageGeneratorForPage(System::SharedPtr<Page> page);
325 
326 };
327 
328 } // namespace Devices
329 } // namespace Pdf
330 } // namespace Aspose
331 
332 
Base class that enables using methods available for System.Object class in C#. All non-trivial classe...
Definition: object.h:64
Definition: Artifact.h:67
This class helps to save pdf document page by page into the one tiff image.
Definition: TiffDevice.h:44
Abstract class for all devices which is used to process the whole pdf document.
Definition: DocumentDevice.h:38
Pointer class to wrap types being allocated on heap. Use it to manage memory for classes inheriting O...
Definition: fwd.h:22
Abstract class for all types of devices. Device is used to represent pdf document in some format...
Definition: Device.h:26
FormPresentationMode
Used to specify the form presentation mode when printing or converting to image pdf documents...
Definition: FormPresentationMode.h:13
Definition: AFRelationship.h:4
The coordinates are in the page coordinate context.
Whole PDF file will be submitted.