PdfPageStamp.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/Stamp.h"
8 #include "Aspose.PDF.Cpp/aspose_pdf_api_defs.h"
9 
10 namespace Aspose
11 {
12 namespace Pdf
13 {
14 namespace Annotations
15 {
16 class AnnotationCollection;
17 } // namespace Annotations
18 namespace Engine
19 {
20 namespace Data
21 {
22 class IPdfDataStream;
23 class IPdfPrimitive;
24 } // namespace Data
25 } // namespace Engine
26 class OperatorCollection;
27 class Page;
28 class Rectangle;
29 class XForm;
30 } // namespace Pdf
31 } // namespace Aspose
32 namespace System
33 {
34 namespace IO
35 {
36 class Stream;
37 } // namespace IO
38 } // namespace System
39 
40 namespace Aspose {
41 
42 namespace Pdf {
43 
47 class ASPOSE_PDF_SHARED_CLASS PdfPageStamp final : public Aspose::Pdf::Stamp
48 {
49  typedef PdfPageStamp ThisType;
51 
52  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
53  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
54 
55 public:
56 
60  ASPOSE_PDF_SHARED_API System::SharedPtr<Page> get_PdfPage() const;
64  ASPOSE_PDF_SHARED_API void set_PdfPage(System::SharedPtr<Page> value);
65 
70  ASPOSE_PDF_SHARED_API PdfPageStamp(System::SharedPtr<Page> pdfPage);
71 
76  ASPOSE_PDF_SHARED_API void Put(System::SharedPtr<Page> page) override;
77 
83  ASPOSE_PDF_SHARED_API PdfPageStamp(System::String fileName, int32_t pageIndex);
89  ASPOSE_PDF_SHARED_API PdfPageStamp(System::SharedPtr<System::IO::Stream> stream, int32_t pageIndex);
90 
91 protected:
92 
93  ASPOSE_PDF_SHARED_API void ClearCache() override;
98  ASPOSE_PDF_SHARED_API System::SharedPtr<Rectangle> getRect() override;
99 
100 private:
101 
104 
105  void ValidateOperators(System::SharedPtr<OperatorCollection> operators);
107  bool HasInvalidCharacter(System::SharedPtr<Engine::Data::IPdfDataStream> stream);
108  bool HasInvalidCharacter(System::SharedPtr<Engine::Data::IPdfPrimitive> value);
109  void ValidateOperators(System::SharedPtr<XForm> form);
110  void RenameFont(System::SharedPtr<XForm> form, System::String name, System::String newName);
118  void MoveFontsToPage(System::SharedPtr<Page> page, System::SharedPtr<XForm> form);
119  void CopyLinkAnnotationsToPage(System::SharedPtr<Annotations::AnnotationCollection> annotations, System::SharedPtr<Page> page);
120 
121 };
122 
123 } // namespace Pdf
124 } // namespace Aspose
125 
126 
String class used across the library. Is a substitute for C# System.String when translating code...
Definition: string.h:121
An abstract class for various kinds of stamps which come as descendants.
Definition: Stamp.h:47
Definition: Artifact.h:67
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
Class represents stamp which uses PDF page as stamp.
Definition: PdfPageStamp.h:47
The coordinates are in the page coordinate context.
Whole PDF file will be submitted.