PdfFileMend.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/Facades/Facade.h"
8 #include "Aspose.PDF.Cpp/aspose_pdf_api_defs.h"
9 
10 namespace Aspose
11 {
12 namespace Pdf
13 {
14 namespace Collections
15 {
16 template <typename, typename> class AsposeHashDictionary;
17 } // namespace Collections
18 class CompositingParameters;
19 class Document;
20 namespace Facades
21 {
22 class FormattedText;
23 enum class PositioningMode;
24 enum class WordWrapMode;
25 } // namespace Facades
26 namespace Text
27 {
28 class TextBuilder;
29 } // namespace Text
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 
44 namespace Facades {
45 
49 class ASPOSE_PDF_SHARED_CLASS PdfFileMend final : public Aspose::Pdf::Facades::SaveableFacade
50 {
51  typedef PdfFileMend ThisType;
53 
54  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
55  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
56 
57 public:
58 
63  ASPOSE_PDF_SHARED_API System::SharedPtr<System::IO::Stream> get_InputStream() const;
68  ASPOSE_PDF_SHARED_API void set_InputStream(System::SharedPtr<System::IO::Stream> value);
73  ASPOSE_PDF_SHARED_API System::SharedPtr<System::IO::Stream> get_OutputStream() const;
78  ASPOSE_PDF_SHARED_API void set_OutputStream(System::SharedPtr<System::IO::Stream> value);
83  ASPOSE_PDF_SHARED_API System::String get_InputFile() const;
88  ASPOSE_PDF_SHARED_API void set_InputFile(System::String value);
93  ASPOSE_PDF_SHARED_API System::String get_OutputFile() const;
98  ASPOSE_PDF_SHARED_API void set_OutputFile(System::String value);
104  ASPOSE_PDF_SHARED_API void set_IsWordWrap(bool value);
108  ASPOSE_PDF_SHARED_API WordWrapMode get_WrapMode() const;
112  ASPOSE_PDF_SHARED_API void set_WrapMode(WordWrapMode value);
117  ASPOSE_PDF_SHARED_API PositioningMode get_TextPositioningMode() const;
122  ASPOSE_PDF_SHARED_API void set_TextPositioningMode(PositioningMode value);
123 
136  ASPOSE_PDF_SHARED_API bool AddImage(System::SharedPtr<System::IO::Stream> imageStream, int32_t pageNum, float lowerLeftX, float lowerLeftY, float upperRightX, float upperRightY);
150  ASPOSE_PDF_SHARED_API bool AddImage(System::SharedPtr<System::IO::Stream> imageStream, int32_t pageNum, float lowerLeftX, float lowerLeftY, float upperRightX, float upperRightY, System::SharedPtr<CompositingParameters> compositingParameters);
163  ASPOSE_PDF_SHARED_API bool AddImage(System::SharedPtr<System::IO::Stream> imageStream, System::ArrayPtr<int32_t> pageNums, float lowerLeftX, float lowerLeftY, float upperRightX, float upperRightY);
177  ASPOSE_PDF_SHARED_API bool AddImage(System::SharedPtr<System::IO::Stream> imageStream, System::ArrayPtr<int32_t> pageNums, float lowerLeftX, float lowerLeftY, float upperRightX, float upperRightY, System::SharedPtr<CompositingParameters> compositingParameters);
190  ASPOSE_PDF_SHARED_API bool AddImage(System::String imageName, int32_t pageNum, float lowerLeftX, float lowerLeftY, float upperRightX, float upperRightY);
204  ASPOSE_PDF_SHARED_API bool AddImage(System::String imageName, int32_t pageNum, float lowerLeftX, float lowerLeftY, float upperRightX, float upperRightY, System::SharedPtr<CompositingParameters> compositingParameters);
217  ASPOSE_PDF_SHARED_API bool AddImage(System::String imageName, System::ArrayPtr<int32_t> pageNums, float lowerLeftX, float lowerLeftY, float upperRightX, float upperRightY);
231  ASPOSE_PDF_SHARED_API bool AddImage(System::String imageName, System::ArrayPtr<int32_t> pageNums, float lowerLeftX, float lowerLeftY, float upperRightX, float upperRightY, System::SharedPtr<CompositingParameters> compositingParameters);
240  ASPOSE_PDF_SHARED_API bool AddText(System::SharedPtr<FormattedText> text, int32_t pageNum, float lowerLeftX, float lowerLeftY);
251  ASPOSE_PDF_SHARED_API bool AddText(System::SharedPtr<FormattedText> text, int32_t pageNum, float lowerLeftX, float lowerLeftY, float upperRightX, float upperRightY);
262  ASPOSE_PDF_SHARED_API bool AddText(System::SharedPtr<FormattedText> text, System::ArrayPtr<int32_t> pageNums, float lowerLeftX, float lowerLeftY, float upperRightX, float upperRightY);
266  ASPOSE_PDF_SHARED_API void Close() override;
267 
271  ASPOSE_PDF_SHARED_API PdfFileMend();
278  ASPOSE_PDF_SHARED_API PdfFileMend(System::String inputFileName, System::String outputFileName);
285  ASPOSE_PDF_SHARED_API PdfFileMend(System::SharedPtr<System::IO::Stream> inputStream, System::SharedPtr<System::IO::Stream> outputStream);
292  ASPOSE_PDF_SHARED_API PdfFileMend(System::SharedPtr<Aspose::Pdf::Document> document);
303  ASPOSE_PDF_SHARED_API PdfFileMend(System::SharedPtr<Aspose::Pdf::Document> document, System::String outputFileName);
314  ASPOSE_PDF_SHARED_API PdfFileMend(System::SharedPtr<Aspose::Pdf::Document> document, System::SharedPtr<System::IO::Stream> destStream);
315 
320  ASPOSE_PDF_SHARED_API void Save(System::String destFile) override;
325  ASPOSE_PDF_SHARED_API void Save(System::SharedPtr<System::IO::Stream> destStream) override;
326 
327 private:
328 
329  System::String _inFileName;
330  System::String _outFileName;
333  bool _bWordWrap;
334  WordWrapMode _wrapMode;
335  PositioningMode _mode;
341  static const int32_t MAGIC_DELTA_HEIGHT;
342  static const int32_t FONT_LINEDELTA_HEIGHT;
343 
344  void PrevClose();
345  void DoMend();
346 
347 };
348 
349 } // namespace Facades
350 } // namespace Pdf
351 } // namespace Aspose
352 
353 
String class used across the library. Is a substitute for C# System.String when translating code...
Definition: string.h:121
Base class for all saveable facades.
Definition: Facade.h:151
Represents a class for adding texts and images on the pages of existing PDF document.
Definition: PdfFileMend.h:49
Definition: Artifact.h:67
Base facade class.
Definition: Facade.h:57
PositioningMode
Defines positioning mode. Possible values include Legacy (backward compatibility) and Current (update...
Definition: PositioningMode.h:15
Pointer class to wrap types being allocated on heap. Use it to manage memory for classes inheriting O...
Definition: fwd.h:22
Represents a text type.
General facade interface that defines common facades methods.
Definition: IFacade.h:33
Definition: AFRelationship.h:4
WordWrapMode
Defines word wrapping strategies
Definition: WordWrapMode.h:13
Whole PDF file will be submitted.