Class for extracting images and text from PDF document. More...
#include "PdfExtractor.h"
Inherits Aspose::Pdf::Facades::Facade.
Public Member Functions | |
ASPOSE_PDF_SHARED_API int32_t | get_StartPage () const |
Gets start page in the page range where extracting operation will be performed. More... | |
ASPOSE_PDF_SHARED_API void | set_StartPage (int32_t value) |
Sets start page in the page range where extracting operation will be performed. More... | |
ASPOSE_PDF_SHARED_API int32_t | get_EndPage () const |
Gets end page in the page range where extracting operation will be performed. More... | |
ASPOSE_PDF_SHARED_API void | set_EndPage (int32_t value) |
Sets end page in the page range where extracting operation will be performed. More... | |
ASPOSE_PDF_SHARED_API int32_t | get_ExtractTextMode () const |
Sets the mode for extract text's result. More... | |
ASPOSE_PDF_SHARED_API void | set_ExtractTextMode (int32_t value) |
Sets the mode for extract text's result. More... | |
ASPOSE_PDF_SHARED_API System::SharedPtr< Aspose::Pdf::Text::TextSearchOptions > | get_TextSearchOptions () const |
Gets text search options. More... | |
ASPOSE_PDF_SHARED_API void | set_TextSearchOptions (System::SharedPtr< Aspose::Pdf::Text::TextSearchOptions > value) |
Sets text search options. More... | |
ASPOSE_PDF_SHARED_API Aspose::Pdf::ExtractImageMode | get_ExtractImageMode () const |
Sets the mode for extract images process. More... | |
ASPOSE_PDF_SHARED_API void | set_ExtractImageMode (Aspose::Pdf::ExtractImageMode value) |
Sets the mode for extract images process. More... | |
ASPOSE_PDF_SHARED_API bool | get_IsBidi () |
Is true when text has hebriew or arabic symbols. This case must be specially considered because string functions change their behaviour and start process text from right to left (except numbers and other non text chars). More... | |
ASPOSE_PDF_SHARED_API int32_t | get_Resolution () const |
Set or gets resolution for extracted images. Default value is 150. Images which have greater resolution value are more clear. However increasing resolution value results in increasing time and memory needed to extract images. Usually to get clear image it's enough to set resolution to 150 or 300. More... | |
ASPOSE_PDF_SHARED_API void | set_Resolution (int32_t value) |
Set or gets resolution for extracted images. Default value is 150. Images which have greater resolution value are more clear. However increasing resolution value results in increasing time and memory needed to extract images. Usually to get clear image it's enough to set resolution to 150 or 300. More... | |
ASPOSE_PDF_SHARED_API System::String | get_Password () const |
Gets input file's password. More... | |
ASPOSE_PDF_SHARED_API void | set_Password (System::String value) |
Sets input file's password. More... | |
ASPOSE_PDF_SHARED_API void | ExtractText () |
Extracts text from a Pdf document using Unicode encoding. More... | |
ASPOSE_PDF_SHARED_API void | ExtractText (System::SharedPtr< System::Text::Encoding > encoding) |
Extracts text from a Pdf document using specified encoding. More... | |
ASPOSE_PDF_SHARED_API void | GetText (System::String outputFile) |
Saves text to file. see also:ExtractText More... | |
ASPOSE_PDF_SHARED_API void | GetText (System::SharedPtr< System::IO::Stream > outputStream) |
Saves text to stream. see also:ExtractText More... | |
ASPOSE_PDF_SHARED_API void | BindPdf (System::String inputFile) override |
Bind input PDF file. More... | |
ASPOSE_PDF_SHARED_API void | BindPdf (System::SharedPtr< System::IO::Stream > inputStream) override |
Binds PDF document from stream. More... | |
ASPOSE_PDF_SHARED_API void | ExtractImage () |
Extract images from PDF file. More... | |
ASPOSE_PDF_SHARED_API bool | HasNextImage () |
Checks if more images are accessible in PDF document. Note: ExtractImage must be called before using of this method. More... | |
ASPOSE_PDF_SHARED_API bool | GetNextImage (System::String outputFile) |
Retrieves next image from PDF document. Note: ExtractImage must be called before using of this method. More... | |
ASPOSE_PDF_SHARED_API bool | GetNextImage (System::String outputFile, System::SharedPtr< System::Drawing::Imaging::ImageFormat > format) |
Retrieves next image from PDF document with given image format. Note: ExtractImage must be called before using of this method. More... | |
ASPOSE_PDF_SHARED_API bool | GetNextImage (System::SharedPtr< System::IO::Stream > outputStream, System::SharedPtr< System::Drawing::Imaging::ImageFormat > format) |
Retrieve next image from PDF file and stores it into stream with given image format. More... | |
ASPOSE_PDF_SHARED_API bool | GetNextImage (System::SharedPtr< System::IO::Stream > outputStream) |
Retrieve next image from PDF file and stores it into stream. More... | |
ASPOSE_PDF_SHARED_API System::SharedPtr< System::Collections::Generic::IList< System::String > > | GetAttachNames () |
Returns list of attachments in PDF file. Note: ExtractAttachments must be called before using this method. More... | |
ASPOSE_PDF_SHARED_API void | ExtractAttachment () |
Extracts attachments from a Pdf document. More... | |
ASPOSE_PDF_SHARED_API void | ExtractAttachment (System::String attachmentFileName) |
Extracts attachment to PDF file by attachment name. More... | |
ASPOSE_PDF_SHARED_API void | GetAttachment (System::String outputPath) |
Stores attachment into file. More... | |
ASPOSE_PDF_SHARED_API bool | HasNextPageText () |
Indicates that whether can get more texts or not. More... | |
ASPOSE_PDF_SHARED_API void | GetNextPageText (System::String outputFile) |
Saves one page's text to file. More... | |
ASPOSE_PDF_SHARED_API void | GetNextPageText (System::SharedPtr< System::IO::Stream > outputStream) |
Saves one page's text to stream. More... | |
ASPOSE_PDF_SHARED_API | PdfExtractor () |
Initializes new PdfExtractor object. More... | |
ASPOSE_PDF_SHARED_API | PdfExtractor (System::SharedPtr< Aspose::Pdf::Document > document) |
Initializes new PdfExtractor object on base of the document . More... | |
ASPOSE_PDF_SHARED_API void | GetText (System::SharedPtr< System::IO::Stream > outputStream, bool filterNotAscii) |
Saves text to stream. see also:ExtractText More... | |
ASPOSE_PDF_SHARED_API System::ArrayPtr< System::SharedPtr< System::IO::MemoryStream > > | GetAttachment () |
Saves all the attachment file to streams. More... | |
ASPOSE_PDF_SHARED_API System::SharedPtr< System::Collections::Generic::List< System::SharedPtr< FileSpecification > > > | GetAttachmentInfo () |
Gets the list of attachments. More... | |
Public Member Functions inherited from Aspose::Pdf::Facades::Facade | |
ASPOSE_PDF_SHARED_API System::SharedPtr< Aspose::Pdf::Document > | get_Document () const |
Gets the document facade is working on. More... | |
ASPOSE_PDF_SHARED_API void | BindPdf (System::SharedPtr< Aspose::Pdf::Document > srcDoc) override |
Initializes the facade. More... | |
ASPOSE_PDF_SHARED_API void | Close () override |
Disposes Aspose.Pdf.Document bound with a facade. More... | |
ASPOSE_PDF_SHARED_API void | Dispose () override |
Disposes the facade. More... | |
Public Member Functions inherited from Aspose::Pdf::Facades::IFacade | |
virtual void | BindPdf (System::SharedPtr< Document > srcDoc)=0 |
Binds PDF document for editing. More... | |
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... | |
Object & | operator= (Object const &x) |
Assignment operator. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More... | |
Object * | SharedRefAdded () |
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 TypeInfo & | GetType () 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... | |
Protected Member Functions | |
bool | get__IsObjectLicensed () |
Gets licensed state of the system. Returns true is system works in licensed mode and false otherwise. More... | |
void | SetVentureLicense (System::SharedPtr< Aspose::Pdf::LicenseManagement::VentureLicense > license) override |
System::SharedPtr< Aspose::Pdf::LicenseManagement::VentureLicense > | GetVentureLicense () override |
void | InitPageImages (System::SharedPtr< System::Collections::Generic::List< System::SharedPtr< XImage >>> images, System::SharedPtr< Aspose::Pdf::Document > document, int32_t page, int32_t endPage) |
void | InitPageXFormImages_DefinedInResources (System::SharedPtr< System::Collections::Generic::List< System::SharedPtr< XImage >>> images, System::SharedPtr< Aspose::Pdf::Document > document, int32_t page, int32_t endPage) |
Protected Member Functions inherited from Aspose::Pdf::Facades::Facade | |
bool | get__IsObjectLicensed () |
Gets licensed state of the system. Returns true is system works in licensed mode and false otherwise. More... | |
ASPOSE_PDF_SHARED_API | Facade () |
The constructor. More... | |
ASPOSE_PDF_SHARED_API | Facade (System::SharedPtr< Aspose::Pdf::Document > srcDoc) |
The constructor. More... | |
virtual ASPOSE_PDF_SHARED_API void | BindPdf (System::String srcFile, System::String password) |
Initializes the facade. More... | |
virtual ASPOSE_PDF_SHARED_API void | BindPdf (System::SharedPtr< System::IO::Stream > srcStream, System::String password) |
Initializes the facade. More... | |
virtual ASPOSE_PDF_SHARED_API void | AssertDocument () const |
Asserts if the facade is initialized. More... | |
virtual ASPOSE_PDF_SHARED_API | ~Facade () |
Static Protected Member Functions | |
static void | InitXFormImages (System::SharedPtr< System::Collections::Generic::List< System::SharedPtr< XImage >>> images, System::SharedPtr< System::Collections::Generic::List< int32_t >> processedObjectIds, System::SharedPtr< XForm > xForm) |
static void | InitPageXFormImages_ActuallyUsed (System::SharedPtr< System::Collections::Generic::List< System::SharedPtr< XImage >>> images, System::SharedPtr< Aspose::Pdf::Document > document, int32_t page, int32_t endPage) |
Additional Inherited Members | |
Public Types inherited from System::Object | |
typedef SmartPtr< Object > | ptr |
Alias for smart pointer type. More... | |
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 TypeInfo & | Type () |
Implements C# typeof(System.Object) construct. More... | |
Class for extracting images and text from PDF document.
ASPOSE_PDF_SHARED_API Aspose::Pdf::Facades::PdfExtractor::PdfExtractor | ( | ) |
Initializes new PdfExtractor object.
ASPOSE_PDF_SHARED_API Aspose::Pdf::Facades::PdfExtractor::PdfExtractor | ( | System::SharedPtr< Aspose::Pdf::Document > | document | ) |
Initializes new PdfExtractor object on base of the document .
document | Pdf document. |
|
overridevirtual |
Bind input PDF file.
inputFile | PDF file to bind |
Reimplemented from Aspose::Pdf::Facades::Facade.
|
overridevirtual |
Binds PDF document from stream.
inputStream | Stream containing PDF document data |
Reimplemented from Aspose::Pdf::Facades::Facade.
ASPOSE_PDF_SHARED_API void Aspose::Pdf::Facades::PdfExtractor::ExtractAttachment | ( | ) |
Extracts attachments from a Pdf document.
ASPOSE_PDF_SHARED_API void Aspose::Pdf::Facades::PdfExtractor::ExtractAttachment | ( | System::String | attachmentFileName | ) |
Extracts attachment to PDF file by attachment name.
attachmentFileName | Name of attachment to extract |
ASPOSE_PDF_SHARED_API void Aspose::Pdf::Facades::PdfExtractor::ExtractImage | ( | ) |
Extract images from PDF file.
ASPOSE_PDF_SHARED_API void Aspose::Pdf::Facades::PdfExtractor::ExtractText | ( | ) |
Extracts text from a Pdf document using Unicode encoding.
ASPOSE_PDF_SHARED_API void Aspose::Pdf::Facades::PdfExtractor::ExtractText | ( | System::SharedPtr< System::Text::Encoding > | encoding | ) |
Extracts text from a Pdf document using specified encoding.
encoding | The encoding of the extracted text. |
|
protected |
Gets licensed state of the system. Returns true is system works in licensed mode and false otherwise.
ASPOSE_PDF_SHARED_API int32_t Aspose::Pdf::Facades::PdfExtractor::get_EndPage | ( | ) | const |
Gets end page in the page range where extracting operation will be performed.
ASPOSE_PDF_SHARED_API Aspose::Pdf::ExtractImageMode Aspose::Pdf::Facades::PdfExtractor::get_ExtractImageMode | ( | ) | const |
Sets the mode for extract images process.
Default value is ExtractImageMode.DefinedInResources that extracts all images defined in resources.
To extract actually shown images ExtractImageMode.ActuallyUsed mode should be used.
ASPOSE_PDF_SHARED_API int32_t Aspose::Pdf::Facades::PdfExtractor::get_ExtractTextMode | ( | ) | const |
Sets the mode for extract text's result.
0 is pure text mode and 1 is raw ordering mode. Default is 0.
ASPOSE_PDF_SHARED_API bool Aspose::Pdf::Facades::PdfExtractor::get_IsBidi | ( | ) |
Is true when text has hebriew or arabic symbols. This case must be specially considered because string functions change their behaviour and start process text from right to left (except numbers and other non text chars).
ASPOSE_PDF_SHARED_API System::String Aspose::Pdf::Facades::PdfExtractor::get_Password | ( | ) | const |
Gets input file's password.
ASPOSE_PDF_SHARED_API int32_t Aspose::Pdf::Facades::PdfExtractor::get_Resolution | ( | ) | const |
Set or gets resolution for extracted images. Default value is 150. Images which have greater resolution value are more clear. However increasing resolution value results in increasing time and memory needed to extract images. Usually to get clear image it's enough to set resolution to 150 or 300.
ASPOSE_PDF_SHARED_API int32_t Aspose::Pdf::Facades::PdfExtractor::get_StartPage | ( | ) | const |
Gets start page in the page range where extracting operation will be performed.
ASPOSE_PDF_SHARED_API System::SharedPtr<Aspose::Pdf::Text::TextSearchOptions> Aspose::Pdf::Facades::PdfExtractor::get_TextSearchOptions | ( | ) | const |
Gets text search options.
ASPOSE_PDF_SHARED_API void Aspose::Pdf::Facades::PdfExtractor::GetAttachment | ( | System::String | outputPath | ) |
Stores attachment into file.
outputPath | Directory path where attachment(s) will be stored. Null or empty string means attachment(s) will be placed in the application directory. |
ASPOSE_PDF_SHARED_API System::ArrayPtr<System::SharedPtr<System::IO::MemoryStream> > Aspose::Pdf::Facades::PdfExtractor::GetAttachment | ( | ) |
Saves all the attachment file to streams.
ASPOSE_PDF_SHARED_API System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<FileSpecification> > > Aspose::Pdf::Facades::PdfExtractor::GetAttachmentInfo | ( | ) |
Gets the list of attachments.
ASPOSE_PDF_SHARED_API System::SharedPtr<System::Collections::Generic::IList<System::String> > Aspose::Pdf::Facades::PdfExtractor::GetAttachNames | ( | ) |
Returns list of attachments in PDF file. Note: ExtractAttachments must be called before using this method.
ASPOSE_PDF_SHARED_API bool Aspose::Pdf::Facades::PdfExtractor::GetNextImage | ( | System::String | outputFile | ) |
Retrieves next image from PDF document. Note: ExtractImage must be called before using of this method.
outputFile | File where image will be stored |
ASPOSE_PDF_SHARED_API bool Aspose::Pdf::Facades::PdfExtractor::GetNextImage | ( | System::String | outputFile, |
System::SharedPtr< System::Drawing::Imaging::ImageFormat > | format | ||
) |
Retrieves next image from PDF document with given image format. Note: ExtractImage must be called before using of this method.
outputFile | File where image will be stored |
format | The format of the image. |
ASPOSE_PDF_SHARED_API bool Aspose::Pdf::Facades::PdfExtractor::GetNextImage | ( | System::SharedPtr< System::IO::Stream > | outputStream, |
System::SharedPtr< System::Drawing::Imaging::ImageFormat > | format | ||
) |
Retrieve next image from PDF file and stores it into stream with given image format.
outputStream | Stream where image data will be saved |
format | The format of the image. |
ASPOSE_PDF_SHARED_API bool Aspose::Pdf::Facades::PdfExtractor::GetNextImage | ( | System::SharedPtr< System::IO::Stream > | outputStream | ) |
Retrieve next image from PDF file and stores it into stream.
outputStream | Stream where image data will be saved |
ASPOSE_PDF_SHARED_API void Aspose::Pdf::Facades::PdfExtractor::GetNextPageText | ( | System::String | outputFile | ) |
Saves one page's text to file.
outputFile | The file path and name to save the text. |
ASPOSE_PDF_SHARED_API void Aspose::Pdf::Facades::PdfExtractor::GetNextPageText | ( | System::SharedPtr< System::IO::Stream > | outputStream | ) |
Saves one page's text to stream.
outputStream | The stream to save the text. |
ASPOSE_PDF_SHARED_API void Aspose::Pdf::Facades::PdfExtractor::GetText | ( | System::String | outputFile | ) |
Saves text to file. see also:ExtractText
outputFile | The file path and name to save the text. |
ASPOSE_PDF_SHARED_API void Aspose::Pdf::Facades::PdfExtractor::GetText | ( | System::SharedPtr< System::IO::Stream > | outputStream | ) |
Saves text to stream. see also:ExtractText
outputStream | The stream to save the text. |
ASPOSE_PDF_SHARED_API void Aspose::Pdf::Facades::PdfExtractor::GetText | ( | System::SharedPtr< System::IO::Stream > | outputStream, |
bool | filterNotAscii | ||
) |
Saves text to stream. see also:ExtractText
outputStream | The stream to save the text. |
filterNotAscii | If this parameter is true all Not ASCII symbols will be removed |
|
overrideprotected |
ASPOSE_PDF_SHARED_API bool Aspose::Pdf::Facades::PdfExtractor::HasNextImage | ( | ) |
Checks if more images are accessible in PDF document. Note: ExtractImage must be called before using of this method.
ASPOSE_PDF_SHARED_API bool Aspose::Pdf::Facades::PdfExtractor::HasNextPageText | ( | ) |
Indicates that whether can get more texts or not.
|
protected |
|
staticprotected |
|
protected |
|
staticprotected |
ASPOSE_PDF_SHARED_API void Aspose::Pdf::Facades::PdfExtractor::set_EndPage | ( | int32_t | value | ) |
Sets end page in the page range where extracting operation will be performed.
ASPOSE_PDF_SHARED_API void Aspose::Pdf::Facades::PdfExtractor::set_ExtractImageMode | ( | Aspose::Pdf::ExtractImageMode | value | ) |
Sets the mode for extract images process.
Default value is ExtractImageMode.DefinedInResources that extracts all images defined in resources.
To extract actually shown images ExtractImageMode.ActuallyUsed mode should be used.
ASPOSE_PDF_SHARED_API void Aspose::Pdf::Facades::PdfExtractor::set_ExtractTextMode | ( | int32_t | value | ) |
Sets the mode for extract text's result.
0 is pure text mode and 1 is raw ordering mode. Default is 0.
ASPOSE_PDF_SHARED_API void Aspose::Pdf::Facades::PdfExtractor::set_Password | ( | System::String | value | ) |
Sets input file's password.
ASPOSE_PDF_SHARED_API void Aspose::Pdf::Facades::PdfExtractor::set_Resolution | ( | int32_t | value | ) |
Set or gets resolution for extracted images. Default value is 150. Images which have greater resolution value are more clear. However increasing resolution value results in increasing time and memory needed to extract images. Usually to get clear image it's enough to set resolution to 150 or 300.
ASPOSE_PDF_SHARED_API void Aspose::Pdf::Facades::PdfExtractor::set_StartPage | ( | int32_t | value | ) |
Sets start page in the page range where extracting operation will be performed.
ASPOSE_PDF_SHARED_API void Aspose::Pdf::Facades::PdfExtractor::set_TextSearchOptions | ( | System::SharedPtr< Aspose::Pdf::Text::TextSearchOptions > | value | ) |
Sets text search options.
|
overrideprotected |