PdfProducer.h
1 #pragma once
2 // Copyright (c) 2001-2024 Aspose Pty Ltd. All Rights Reserved.
3 //using Aspose.Pdf.Exceptions;
4 
5 #include <system/object.h>
6 
7 #include "Aspose.PDF.Cpp/aspose_pdf_api_defs.h"
8 
9 namespace Aspose
10 {
11 namespace Pdf
12 {
13 namespace Facades
14 {
15 namespace PdfProducers
16 {
17 class CgmPdfProducer;
18 } // namespace PdfProducers
19 } // namespace Facades
20 enum class ImportFormat;
21 class ImportOptions;
22 namespace Tests
23 {
24 namespace Facades
25 {
26 class PdfProducerTests;
27 } // namespace Facades
28 } // namespace Tests
29 } // namespace Pdf
30 } // namespace Aspose
31 namespace System
32 {
33 namespace IO
34 {
35 class Stream;
36 } // namespace IO
37 class String;
38 } // namespace System
39 
40 namespace Aspose {
41 
42 namespace Pdf {
43 
44 namespace Facades {
45 
51 class ASPOSE_PDF_SHARED_CLASS PdfProducer : public System::Object
52 {
53  typedef PdfProducer ThisType;
54  typedef System::Object BaseType;
55 
56  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
57  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
58 
59  friend class Aspose::Pdf::Facades::PdfProducers::CgmPdfProducer;
60  friend class Aspose::Pdf::Tests::Facades::PdfProducerTests;
61 
62 public:
63 
74  static ASPOSE_PDF_SHARED_API void Produce(System::SharedPtr<System::IO::Stream> inputStream, ImportFormat format, System::SharedPtr<System::IO::Stream> outputStream);
86  static ASPOSE_PDF_SHARED_API void Produce(System::String inputFileName, ImportFormat format, System::SharedPtr<System::IO::Stream> outputStream);
98  static ASPOSE_PDF_SHARED_API void Produce(System::SharedPtr<System::IO::Stream> inputStream, ImportFormat format, System::String outputFileName);
109  static ASPOSE_PDF_SHARED_API void Produce(System::String inputFileName, ImportFormat format, System::String outputFileName);
121  static ASPOSE_PDF_SHARED_API void Produce(System::String inputFileName, System::SharedPtr<ImportOptions> options, System::SharedPtr<System::IO::Stream> outputStream);
133  static ASPOSE_PDF_SHARED_API void Produce(System::SharedPtr<System::IO::Stream> inputStream, System::SharedPtr<ImportOptions> options, System::String outputFileName);
144  static ASPOSE_PDF_SHARED_API void Produce(System::String inputFileName, System::SharedPtr<ImportOptions> options, System::String outputFileName);
155  static ASPOSE_PDF_SHARED_API void Produce(System::SharedPtr<System::IO::Stream> inputStream, System::SharedPtr<ImportOptions> options, System::SharedPtr<System::IO::Stream> outputStream);
156 
157 protected:
158 
163 
168  ASPOSE_PDF_SHARED_API PdfProducer(System::SharedPtr<ImportOptions> options);
169 
175  virtual void Produce(System::SharedPtr<System::IO::Stream> inputStream, System::SharedPtr<System::IO::Stream> outputStream) = 0;
187  static System::SharedPtr<PdfProducer> GetProducer(ImportFormat format);
193  static System::SharedPtr<ImportOptions> GetImportOptions(ImportFormat format);
194 
195 private:
196 
202  static void GuardArgumentNotNull(System::SharedPtr<System::Object> argumentValue, System::String argumentName);
208  static void GuardArgumentException(System::String argumentValue, System::String argumentName);
209 
210 };
211 
212 } // namespace Facades
213 } // namespace Pdf
214 } // namespace Aspose
215 
216 
String class used across the library. Is a substitute for C# System.String when translating code...
Definition: string.h:121
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
ImportOptions type hold level of abstraction on individual import options.
Definition: ImportOptions.h:24
ImportFormat
Specifies import format.
Definition: ImportFormat.h:11
Definition: signed_info.h:13
Pointer class to wrap types being allocated on heap. Use it to manage memory for classes inheriting O...
Definition: fwd.h:22
Definition: AFRelationship.h:4
Represents a class to produce PDF from other formats.
Definition: PdfProducer.h:51
System::SharedPtr< ImportOptions > options
ImportOptions holds level of abstraction on individual import options.
Definition: PdfProducer.h:162
Whole PDF file will be submitted.