Save options for export to Doc format More...

#include "DocSaveOptions.h"

Inherits Aspose::Pdf::UnifiedSaveOptions, and Aspose::Pdf::IPipelineOptions.

Public Types

enum  RecognitionMode { RecognitionMode::Textbox, RecognitionMode::Flow, RecognitionMode::EnhancedFlow }
 Allows to control how a PDF document is converted into a word processing document. More...
 
enum  DocFormat { DocFormat::Doc, DocFormat::DocX }
 Allows to specify .doc or .docx file format. More...
 
- Public Types inherited from Aspose::Pdf::UnifiedSaveOptions
using ConversionProgressEventHandler = System::MulticastDelegate< void(System::SharedPtr< UnifiedSaveOptions::ProgressEventHandlerInfo >)>
 
- Public Types inherited from Aspose::Pdf::SaveOptions
enum  HtmlBorderLineType {
  HtmlBorderLineType::None = 0, HtmlBorderLineType::Dotted = 1, HtmlBorderLineType::Dashed = 2, HtmlBorderLineType::Solid = 3,
  HtmlBorderLineType::Double = 4, HtmlBorderLineType::Groove = 5, HtmlBorderLineType::Ridge = 6, HtmlBorderLineType::Inset = 7,
  HtmlBorderLineType::Outset = 8
}
 Represents line types that can be used in result document for drawing borders or another lines More...
 
enum  NodeLevelResourceType { NodeLevelResourceType::Image = 0, NodeLevelResourceType::Font = 1 }
 enumerates possible types of saved external resources More...
 
- Public Types inherited from System::Object
typedef SmartPtr< Objectptr
 Alias for smart pointer type. More...
 

Public Member Functions

ASPOSE_PDF_SHARED_API DocSaveOptions::RecognitionMode get_Mode () const
 Recognition mode. More...
 
ASPOSE_PDF_SHARED_API void set_Mode (DocSaveOptions::RecognitionMode value)
 Recognition mode. More...
 
ASPOSE_PDF_SHARED_API float get_RelativeHorizontalProximity () const
 In Pdf words may be innerly represented with operators that prints words by independently printing their letters or syllables. So, to detect words sometimes we need detect groups of independent chars that are in fact words. This setting defines width of space between text elements(letters, syllables) that must be treated as distance between words during recognition of words in source PDF. (presence of empty space at least with this width between letters means that textual elements pertain to different words). It's normed to font size - 1.0 means 100% of supposed word's font size. ATTENTION!It's used only in cases when source PDF contains specific rarely used fonts for which optimal value cannot be calculated from font. So, in vast majority of cases this parameter changes nothing in result document. More...
 
ASPOSE_PDF_SHARED_API void set_RelativeHorizontalProximity (float value)
 In Pdf words may be innerly represented with operators that prints words by independently printing their letters or syllables. So, to detect words sometimes we need detect groups of independent chars that are in fact words. This setting defines width of space between text elements(letters, syllables) that must be treated as distance between words during recognition of words in source PDF. (presence of empty space at least with this width between letters means that textual elements pertain to different words). It's normed to font size - 1.0 means 100% of supposed word's font size. ATTENTION!It's used only in cases when source PDF contains specific rarely used fonts for which optimal value cannot be calculated from font. So, in vast majority of cases this parameter changes nothing in result document. More...
 
ASPOSE_PDF_SHARED_API float get_MaxDistanceBetweenTextLines () const
 This parameter is used for grouping text lines into paragraphs. Determines how far apart can be two relative text lines. Specified in hundreds of percent of the text lines height. More...
 
ASPOSE_PDF_SHARED_API void set_MaxDistanceBetweenTextLines (float value)
 This parameter is used for grouping text lines into paragraphs. Determines how far apart can be two relative text lines. Specified in hundreds of percent of the text lines height. More...
 
ASPOSE_PDF_SHARED_API bool get_RecognizeBullets () const
 Switch on the recognition of bullets More...
 
ASPOSE_PDF_SHARED_API void set_RecognizeBullets (bool value)
 Switch on the recognition of bullets More...
 
ASPOSE_PDF_SHARED_API bool get_AddReturnToLineEnd () const
 Use paragraph or line breaks More...
 
ASPOSE_PDF_SHARED_API void set_AddReturnToLineEnd (bool value)
 Use paragraph or line breaks More...
 
ASPOSE_PDF_SHARED_API int32_t get_ImageResolutionX () const
 Converted images X resolution. More...
 
ASPOSE_PDF_SHARED_API void set_ImageResolutionX (int32_t value)
 Converted images X resolution. More...
 
ASPOSE_PDF_SHARED_API int32_t get_ImageResolutionY () const
 Converted images Y resolution. More...
 
ASPOSE_PDF_SHARED_API void set_ImageResolutionY (int32_t value)
 Converted images Y resolution. More...
 
ASPOSE_PDF_SHARED_API DocSaveOptions::DocFormat get_Format () const
 Output format More...
 
ASPOSE_PDF_SHARED_API void set_Format (DocSaveOptions::DocFormat value)
 Output format More...
 
ASPOSE_PDF_SHARED_API int32_t get_BatchSize () override
 Defines batch size if batched conversion is applicable to source and destination formats pair. More...
 
ASPOSE_PDF_SHARED_API void set_BatchSize (int32_t value) override
 Defines batch size if batched conversion is applicable to source and destination formats pair. More...
 
ASPOSE_PDF_SHARED_API System::String get_MemorySaveModePath () const
 Defines the path (file name or directory name) to hold temporary data when converting in memory save mode. More...
 
ASPOSE_PDF_SHARED_API void set_MemorySaveModePath (System::String value)
 Defines the path (file name or directory name) to hold temporary data when converting in memory save mode. More...
 
ASPOSE_PDF_SHARED_API DocSaveOptions ()
 Constructor More...
 
- Public Member Functions inherited from Aspose::Pdf::UnifiedSaveOptions
ASPOSE_PDF_SHARED_API bool get_ExtractOcrSublayerOnly () const
 This atrribute turned on functionality for extracting image or text for PDF documents with OCR sublayer. More...
 
ASPOSE_PDF_SHARED_API void set_ExtractOcrSublayerOnly (bool value)
 This atrribute turned on functionality for extracting image or text for PDF documents with OCR sublayer. More...
 
ASPOSE_PDF_SHARED_API UnifiedSaveOptions ()
 
- Public Member Functions inherited from Aspose::Pdf::SaveOptions
ASPOSE_PDF_SHARED_API System::SharedPtr< IWarningCallbackget_WarningHandler () const
 Callback to handle any warnings generated. The WarningHandler returns ReturnAction enum item specifying either Continue or Abort. Continue is the default action and the Save operation continues, however the user may also return Abort in which case the Save operation should cease. More...
 
ASPOSE_PDF_SHARED_API void set_WarningHandler (System::SharedPtr< IWarningCallback > value)
 Callback to handle any warnings generated. The WarningHandler returns ReturnAction enum item specifying either Continue or Abort. Continue is the default action and the Save operation continues, however the user may also return Abort in which case the Save operation should cease. More...
 
ASPOSE_PDF_SHARED_API Aspose::Pdf::SaveFormat get_SaveFormat () const
 Format of data save. More...
 
ASPOSE_PDF_SHARED_API bool get_CloseResponse () const
 Gets boolean value which indicates will Response object be closed after document saved into response. More...
 
ASPOSE_PDF_SHARED_API void set_CloseResponse (bool value)
 Sets boolean value which indicates will Response object be closed after document saved into response. More...
 
ASPOSE_PDF_SHARED_API SaveOptions ()
 
- Public Member Functions inherited from System::Object
ASPOSECPP_SHARED_API Object ()
 Creates object. Initializes all internal data structures. More...
 
virtual ASPOSECPP_SHARED_API ~Object ()
 Destroys object. Frees all internal data structures. More...
 
ASPOSECPP_SHARED_API Object (Object const &x)
 Copy constructor. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More...
 
Objectoperator= (Object const &x)
 Assignment operator. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More...
 
ObjectSharedRefAdded ()
 Increments shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
int SharedRefRemovedSafe ()
 Decrements and returns shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
int RemovedSharedRefs (int count)
 Decreases shared reference count by specified value. More...
 
Detail::SmartPtrCounter * WeakRefAdded ()
 Increments weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
void WeakRefRemoved ()
 Decrements weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
Detail::SmartPtrCounter * GetCounter ()
 Gets reference counter data structure associated with the object. More...
 
int SharedCount () const
 Gets current value of shared reference counter. More...
 
ASPOSECPP_SHARED_API void Lock ()
 Implements C# lock() statement locking. Call directly or use LockContext sentry object. More...
 
ASPOSECPP_SHARED_API void Unlock ()
 Implements C# lock() statement unlocking. Call directly or use LockContext sentry object. More...
 
virtual ASPOSECPP_SHARED_API bool Equals (ptr obj)
 Compares objects using C# Object.Equals semantics. More...
 
virtual ASPOSECPP_SHARED_API int32_t GetHashCode () const
 Analog of C# Object.GetHashCode() method. Enables hashing of custom objects. More...
 
virtual ASPOSECPP_SHARED_API String ToString () const
 Analog of C# Object.ToString() method. Enables converting custom objects to string. More...
 
virtual ASPOSECPP_SHARED_API ptr MemberwiseClone () const
 Analog of C# Object.MemberwiseClone() method. Enables cloning custom types. More...
 
virtual ASPOSECPP_SHARED_API const TypeInfoGetType () const
 Gets actual type of object. Analog of C# System.Object.GetType() call. More...
 
virtual ASPOSECPP_SHARED_API bool Is (const TypeInfo &targetType) const
 Check if object represents an instance of type described by targetType. Analog of C# 'is' operator. More...
 
virtual ASPOSECPP_SHARED_API void SetTemplateWeakPtr (uint32_t argument)
 Set n'th template argument a weak pointer (rather than shared). Allows switching pointers in containers to weak mode. More...
 
virtual ASPOSECPP_SHARED_API bool FastCast (const Details::FastRttiBase &helper, void **out_ptr) const
 For internal purposes only. More...
 
template<>
bool Equals (float const &objA, float const &objB)
 Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN. More...
 
template<>
bool Equals (double const &objA, double const &objB)
 Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN. More...
 
template<>
bool ReferenceEquals (String const &str, std::nullptr_t)
 Specialization of Object::ReferenceEquals for case of string and nullptr. More...
 
template<>
bool ReferenceEquals (String const &str1, String const &str2)
 Specialization of Object::ReferenceEquals for case of strings. More...
 

Public Attributes

UnifiedSaveOptions::ConversionProgressEventHandler CustomProgressHandler
 This handler can be used to handle conversion progress events f.e. it can be used to show progress bar or messages about current amount of processed pages, example of handler's code that shows progress on console is : More...
 
- Public Attributes inherited from Aspose::Pdf::UnifiedSaveOptions
bool TryMergeAdjacentSameBackgroundImages
 Sometimes PDFs contain background images (of pages or table cells) constructed from several same tiling background images put one near other. In such case renderers of target formats (f.e MsWord for DOCS format) sometimes generates visible boundaries beetween parts of background images, cause their techniques of image edge smoothing (anti-aliasing) is different from Acrobat Reader. If it looks like exported document contains such visible boundaries between parts of same background images, please try use this setting to get rid of that unwanted effect. ATTENTION! This optimization of quality usually essentially slows down conversion, so, please, use this option only when it's really necessary. More...
 

Protected Attributes

bool UseNewTextBoxRecognitionAlgorithm
 Internal parameter for OCR files conversion. Parameter is temporary More...
 
- Protected Attributes inherited from Aspose::Pdf::UnifiedSaveOptions
System::SharedPtr< ConversionProgressEventsTranslator > ProgressEventsRetranslator
 Represents internal progress events processor that works during conversion and translates conversion events of internal conversion stages into external total progress events Also class broadcasts events that allow to free resources that not needed anymore This internal class handles events of PDF to APS and APS to [Other format] progress to calculate total progress and inform customer's code about that total progress events this class uses two types of events : ApsToExternal model conversion and events of conversion Pdf to APS to generate total progress events Export has three stage : 1) Pdf to Aps 2) Aps recognition 3_ Aps export to target format Constructor allows tune how much pages are converted and what is approximmate part of this or that stage in total progress More...
 
- Protected Attributes inherited from Aspose::Pdf::SaveOptions
Aspose::Pdf::SaveFormat _saveFormat
 
System::String ApsIntermediateFileIfAny
 
System::String XpsIntermediateFileIfAny
 
System::String PngIntermediateFileIfAny
 
ApsToXpsSavingMode ApsAsXpsSavingMode
 
System::SharedPtr< Aspose::DocumentInfo > DocumentInfoForSaveAsXps
 
System::String PlainApsIntermediateTempFileIfAny
 Sometimes we need use temp file to save APS during conversion to avoid OOM exceptions in PalZipWriter For such hard tests can be used this parameter - it will force usage of ile instead of MemoryStream More...
 

Additional Inherited Members

- Static Public Member Functions inherited from System::Object
static bool ReferenceEquals (ptr const &objA, ptr const &objB)
 Compares objects by reference. More...
 
template<typename T >
static std::enable_if<!IsSmartPtr< T >::value, bool >::type ReferenceEquals (T const &objA, T const &objB)
 Compares objects by reference. More...
 
template<typename T >
static std::enable_if<!IsSmartPtr< T >::value, bool >::type ReferenceEquals (T const &objA, std::nullptr_t)
 Reference-compares value type object with nullptr. More...
 
template<typename T1 , typename T2 >
static std::enable_if< IsSmartPtr< T1 >::value &&IsSmartPtr< T2 >::value, bool >::type Equals (T1 const &objA, T2 const &objB)
 Compares reference type objects in C# style. More...
 
template<typename T1 , typename T2 >
static std::enable_if<!IsSmartPtr< T1 >::value &&!IsSmartPtr< T2 >::value, bool >::type Equals (T1 const &objA, T2 const &objB)
 Compares value type objects in C# style. More...
 
static const TypeInfoType ()
 Implements C# typeof(System.Object) construct. More...
 
- Protected Types inherited from Aspose::Pdf::UnifiedSaveOptions
using OnePageProcessedEventHandler = System::MulticastDelegate< void(int32_t)>
 
- Protected Member Functions inherited from Aspose::Pdf::UnifiedSaveOptions
int32_t GetNumberOfConvertiblePages (System::SharedPtr< Document > document)
 
- Static Protected Attributes inherited from Aspose::Pdf::UnifiedSaveOptions
static const int32_t DefaultBatchSize
 

Detailed Description

Save options for export to Doc format

Member Enumeration Documentation

◆ DocFormat

Allows to specify .doc or .docx file format.

Enumerator
Doc 
DocX 

Office Open XML (.docx) File Format

◆ RecognitionMode

Allows to control how a PDF document is converted into a word processing document.

Use the RecognitionMode::Textbox mode when the resulting document is not goining to be heavily edited futher. Textboxes are easy to modify when there is not a lot to do.

Use the RecognitionMode::Flow mode when the output document needs further editing. Paragraphs and texlines in the flow mode allow easy modification of text, but unupported formatting objects will look worse than in the RecognitionMode::Textbox mode.

Enumerator
Textbox 

This mode is fast and good for maximally preserving original look of the PDF file, but editability of the resulting document could be limited.

Every visually grouped block of text int the original PDF file is converted into a textbox in the resulting document. This achieves maximal resemblance of the output document to the original PDF file. The output document will look good, but it will consist entirely of textboxes and it could makes further editing of the document in Microsoft Word quite hard.

This is the default mode.

Flow 

Full recognition mode, the engine performs grouping and multi-level analysis to restore the original document author's intent and produce a maximally editable document. The downside is that the output document might look different from the original PDF file.

EnhancedFlow 

An early alfa version of a new Flow mode supporting recognition of tables.

Constructor & Destructor Documentation

◆ DocSaveOptions()

ASPOSE_PDF_SHARED_API Aspose::Pdf::DocSaveOptions::DocSaveOptions ( )

Constructor

Member Function Documentation

◆ get_AddReturnToLineEnd()

ASPOSE_PDF_SHARED_API bool Aspose::Pdf::DocSaveOptions::get_AddReturnToLineEnd ( ) const

Use paragraph or line breaks

◆ get_BatchSize()

ASPOSE_PDF_SHARED_API int32_t Aspose::Pdf::DocSaveOptions::get_BatchSize ( )
overridevirtual

Defines batch size if batched conversion is applicable to source and destination formats pair.

Implements Aspose::Pdf::IPipelineOptions.

◆ get_Format()

ASPOSE_PDF_SHARED_API DocSaveOptions::DocFormat Aspose::Pdf::DocSaveOptions::get_Format ( ) const

Output format

◆ get_ImageResolutionX()

ASPOSE_PDF_SHARED_API int32_t Aspose::Pdf::DocSaveOptions::get_ImageResolutionX ( ) const

Converted images X resolution.

◆ get_ImageResolutionY()

ASPOSE_PDF_SHARED_API int32_t Aspose::Pdf::DocSaveOptions::get_ImageResolutionY ( ) const

Converted images Y resolution.

◆ get_MaxDistanceBetweenTextLines()

ASPOSE_PDF_SHARED_API float Aspose::Pdf::DocSaveOptions::get_MaxDistanceBetweenTextLines ( ) const

This parameter is used for grouping text lines into paragraphs. Determines how far apart can be two relative text lines. Specified in hundreds of percent of the text lines height.

◆ get_MemorySaveModePath()

ASPOSE_PDF_SHARED_API System::String Aspose::Pdf::DocSaveOptions::get_MemorySaveModePath ( ) const

Defines the path (file name or directory name) to hold temporary data when converting in memory save mode.

◆ get_Mode()

ASPOSE_PDF_SHARED_API DocSaveOptions::RecognitionMode Aspose::Pdf::DocSaveOptions::get_Mode ( ) const

Recognition mode.

◆ get_RecognizeBullets()

ASPOSE_PDF_SHARED_API bool Aspose::Pdf::DocSaveOptions::get_RecognizeBullets ( ) const

Switch on the recognition of bullets

◆ get_RelativeHorizontalProximity()

ASPOSE_PDF_SHARED_API float Aspose::Pdf::DocSaveOptions::get_RelativeHorizontalProximity ( ) const

In Pdf words may be innerly represented with operators that prints words by independently printing their letters or syllables. So, to detect words sometimes we need detect groups of independent chars that are in fact words. This setting defines width of space between text elements(letters, syllables) that must be treated as distance between words during recognition of words in source PDF. (presence of empty space at least with this width between letters means that textual elements pertain to different words). It's normed to font size - 1.0 means 100% of supposed word's font size. ATTENTION!It's used only in cases when source PDF contains specific rarely used fonts for which optimal value cannot be calculated from font. So, in vast majority of cases this parameter changes nothing in result document.

◆ set_AddReturnToLineEnd()

ASPOSE_PDF_SHARED_API void Aspose::Pdf::DocSaveOptions::set_AddReturnToLineEnd ( bool  value)

Use paragraph or line breaks

◆ set_BatchSize()

ASPOSE_PDF_SHARED_API void Aspose::Pdf::DocSaveOptions::set_BatchSize ( int32_t  value)
overridevirtual

Defines batch size if batched conversion is applicable to source and destination formats pair.

Implements Aspose::Pdf::IPipelineOptions.

◆ set_Format()

ASPOSE_PDF_SHARED_API void Aspose::Pdf::DocSaveOptions::set_Format ( DocSaveOptions::DocFormat  value)

Output format

◆ set_ImageResolutionX()

ASPOSE_PDF_SHARED_API void Aspose::Pdf::DocSaveOptions::set_ImageResolutionX ( int32_t  value)

Converted images X resolution.

◆ set_ImageResolutionY()

ASPOSE_PDF_SHARED_API void Aspose::Pdf::DocSaveOptions::set_ImageResolutionY ( int32_t  value)

Converted images Y resolution.

◆ set_MaxDistanceBetweenTextLines()

ASPOSE_PDF_SHARED_API void Aspose::Pdf::DocSaveOptions::set_MaxDistanceBetweenTextLines ( float  value)

This parameter is used for grouping text lines into paragraphs. Determines how far apart can be two relative text lines. Specified in hundreds of percent of the text lines height.

◆ set_MemorySaveModePath()

ASPOSE_PDF_SHARED_API void Aspose::Pdf::DocSaveOptions::set_MemorySaveModePath ( System::String  value)

Defines the path (file name or directory name) to hold temporary data when converting in memory save mode.

◆ set_Mode()

ASPOSE_PDF_SHARED_API void Aspose::Pdf::DocSaveOptions::set_Mode ( DocSaveOptions::RecognitionMode  value)

Recognition mode.

◆ set_RecognizeBullets()

ASPOSE_PDF_SHARED_API void Aspose::Pdf::DocSaveOptions::set_RecognizeBullets ( bool  value)

Switch on the recognition of bullets

◆ set_RelativeHorizontalProximity()

ASPOSE_PDF_SHARED_API void Aspose::Pdf::DocSaveOptions::set_RelativeHorizontalProximity ( float  value)

In Pdf words may be innerly represented with operators that prints words by independently printing their letters or syllables. So, to detect words sometimes we need detect groups of independent chars that are in fact words. This setting defines width of space between text elements(letters, syllables) that must be treated as distance between words during recognition of words in source PDF. (presence of empty space at least with this width between letters means that textual elements pertain to different words). It's normed to font size - 1.0 means 100% of supposed word's font size. ATTENTION!It's used only in cases when source PDF contains specific rarely used fonts for which optimal value cannot be calculated from font. So, in vast majority of cases this parameter changes nothing in result document.

Member Data Documentation

◆ CustomProgressHandler

UnifiedSaveOptions::ConversionProgressEventHandler Aspose::Pdf::DocSaveOptions::CustomProgressHandler

This handler can be used to handle conversion progress events f.e. it can be used to show progress bar or messages about current amount of processed pages, example of handler's code that shows progress on console is :

◆ UseNewTextBoxRecognitionAlgorithm

bool Aspose::Pdf::DocSaveOptions::UseNewTextBoxRecognitionAlgorithm
protected

Internal parameter for OCR files conversion. Parameter is temporary