Stamp.h
1 #pragma once
2 // Copyright (c) 2001-2024 Aspose Pty Ltd. All Rights Reserved.
3 
4 #include <system/array.h>
5 #include <cstdint>
6 
7 #include "Aspose.PDF.Cpp/aspose_pdf_api_defs.h"
8 
9 namespace Aspose
10 {
11 namespace Pdf
12 {
13 class Document;
14 namespace Facades
15 {
16 enum class BlendingColorSpace;
17 class FormattedText;
18 class PdfFileStamp;
19 } // namespace Facades
20 class Page;
21 enum class Rotation;
22 class Stamp;
23 namespace Text
24 {
25 class TextState;
26 } // namespace Text
27 } // namespace Pdf
28 } // namespace Aspose
29 namespace System
30 {
31 namespace IO
32 {
33 class Stream;
34 } // namespace IO
35 } // namespace System
36 
37 namespace Aspose {
38 
39 namespace Pdf {
40 
41 namespace Facades {
42 
46 class ASPOSE_PDF_SHARED_CLASS Stamp final : public System::Object
47 {
48  typedef Stamp ThisType;
49  typedef System::Object BaseType;
50 
51  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
52  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
53 
55 
56 public:
57 
61  ASPOSE_PDF_SHARED_API int32_t get_StampId() const;
65  ASPOSE_PDF_SHARED_API void set_StampId(int32_t value);
69  ASPOSE_PDF_SHARED_API int32_t get_Quality() const;
73  ASPOSE_PDF_SHARED_API void set_Quality(int32_t value);
77  ASPOSE_PDF_SHARED_API float get_Opacity();
81  ASPOSE_PDF_SHARED_API void set_Opacity(float value);
85  ASPOSE_PDF_SHARED_API int32_t get_PageNumber() const;
89  ASPOSE_PDF_SHARED_API void set_PageNumber(int32_t value);
96  ASPOSE_PDF_SHARED_API System::ArrayPtr<int32_t> get_Pages() const;
103  ASPOSE_PDF_SHARED_API void set_Pages(System::ArrayPtr<int32_t> value);
109  ASPOSE_PDF_SHARED_API float get_Rotation() const;
115  ASPOSE_PDF_SHARED_API void set_Rotation(float value);
122  ASPOSE_PDF_SHARED_API bool get_IsBackground() const;
129  ASPOSE_PDF_SHARED_API void set_IsBackground(bool value);
134  ASPOSE_PDF_SHARED_API BlendingColorSpace get_BlendingSpace() const;
139  ASPOSE_PDF_SHARED_API void set_BlendingSpace(BlendingColorSpace value);
140 
144  ASPOSE_PDF_SHARED_API Stamp();
145 
153  ASPOSE_PDF_SHARED_API void BindPdf(System::String pdfFile, int32_t pageNumber);
161  ASPOSE_PDF_SHARED_API void BindPdf(System::SharedPtr<System::IO::Stream> pdfStream, int32_t pageNumber);
168  ASPOSE_PDF_SHARED_API void BindImage(System::String imageFile);
173  ASPOSE_PDF_SHARED_API void BindLogo(System::SharedPtr<FormattedText> formattedText);
178  ASPOSE_PDF_SHARED_API void BindTextState(System::SharedPtr<Aspose::Pdf::Text::TextState> textState);
184  ASPOSE_PDF_SHARED_API void SetOrigin(float originX, float originY);
190  ASPOSE_PDF_SHARED_API void SetImageSize(float width, float height);
195  ASPOSE_PDF_SHARED_API void BindImage(System::SharedPtr<System::IO::Stream> image);
196 
197 protected:
198 
204 
205 private:
206 
208  int32_t pageNumber;
209  int32_t _pageNumber;
212  System::String imageName;
213  System::String pdfFile;
216  double originX;
217  double originY;
218  double imageWidth;
219  double imageHeight;
220  double opacity;
221  bool background;
222  float rotation;
223  int32_t stampId;
224  int32_t quality;
225  BlendingColorSpace blendingColorSpace;
227 
228  void reset();
229  void setPage(System::SharedPtr<Document> doc, int32_t pageNumber);
230  bool isValidAngle(float angle);
231  Aspose::Pdf::Rotation translateRotation();
232 
233 };
234 
235 } // namespace Facades
236 } // namespace Pdf
237 } // namespace Aspose
238 
239 
String class used across the library. Is a substitute for C# System.String when translating code...
Definition: string.h:121
Rotation
Enumeration of possible rotation values.
Definition: Rotation.h:16
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
ASPOSE_PDF_SHARED_API void set_StampId(int32_t value)
Stamp ID of next added stamp (incluiding page headers/hooters/page numbers).
Class for adding stamps (watermark or background) to PDF files.
Definition: PdfFileStamp.h:56
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
ASPOSE_PDF_SHARED_API int32_t get_StampId() const
Stamp ID of next added stamp (incluiding page headers/hooters/page numbers).
BlendingColorSpace
Class represents blending color space.
Definition: BlendingColorSpace.h:13
The coordinates are in the page coordinate context.
Class represeting stamp.
Definition: Stamp.h:46
ASPOSE_PDF_SHARED_API void BindPdf(System::String srcFile) override
Initializes the facade.
Whole PDF file will be submitted.