Other Classes

The following classes are available globally.

  • The default implementation for the style manager.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFDefaultAnnotationStyleManager
        : NSObject <PSPDFAnnotationStyleManager>

    Swift

    class PDFDefaultAnnotationStyleManager : NSObject, AnnotationStyleManager
  • Default implementation that forwards calls to the app delegate.

    Declaration

    Objective-C

    
    @interface PSPDFDefaultApplication : NSObject <PSPDFApplication>

    Swift

    class DefaultApplication : NSObject, Application
  • Default extension implementation that interacts and requires an NSExtensionContext to work.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFExtensionApplication
        : PSPDFDefaultApplication <PSPDFApplication>

    Swift

    class ExtensionApplication : DefaultApplication, Application
  • The default security auditor simply returns YES for every request.

    Declaration

    Objective-C

    
    @interface PSPDFDefaultApplicationPolicy : NSObject <PSPDFApplicationPolicy>

    Swift

    class DefaultApplicationPolicy : NSObject, ApplicationPolicy
  • Base class for building a configuration object.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFBaseConfigurationBuilder : NSObject

    Swift

    class BaseConfigurationBuilder : NSObject
  • Undocumented

    See more

    Declaration

    Objective-C

    
    @interface PSPDFMutableBookmark : PSPDFBookmark

    Swift

    class MutableBookmark : Bookmark
  • A color patch represents a single patch of colors in the UI. It contains of one or multiple colors that should be grouped together.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFColorPatch : NSObject

    Swift

    class ColorPatch : NSObject
  • A color palette is a set of color patches that are grouped together based on a specific look or theme.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFColorPalette : NSObject

    Swift

    class ColorPalette : NSObject
  • The factory used to create color pickers. Subclass this to customize your color pickers.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFColorPickerFactory : NSObject <PSPDFOverridable>

    Swift

    class ColorPickerFactory : NSObject, Overridable
  • The configuration builder object offers all properties of PSPDFConfiguration in a writable version, in order to build an immutable PSPDFConfiguration object.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFConfigurationBuilder : PSPDFBaseConfigurationBuilder

    Swift

    class PDFConfigurationBuilder : BaseConfigurationBuilder
  • PSPDFConversionOperation is the base class for all PDF conversion operations.

    Warning

    Do not create instances of this class or its subclasses. They are intended to be initiated internally by PSPDFProcessor.
    See more

    Declaration

    Objective-C

    
    @interface PSPDFConversionOperation : NSOperation

    Swift

    class ConversionOperation : Operation
  • Operation that converts a website or local URL to PDF. Needs to be executed from background thread.

    Note

    Requires the PSPDFFeatureMaskWebKitHtmlConversion feature flag.
    See more

    Declaration

    Objective-C

    
    @interface PSPDFURLConversionOperation : PSPDFConversionOperation

    Swift

    class URLConversionOperation : ConversionOperation
  • Operation that converts a HTML string to PDF. Needs to be executed from background thread.

    Note

    Requires the PSPDFFeatureMaskWebKitHtmlConversion feature flag.
    See more

    Declaration

    Objective-C

    
    @interface PSPDFHTMLConversionOperation : PSPDFConversionOperation

    Swift

    class HTMLConversionOperation : ConversionOperation
  • Operation that converts an attributed string to PDF. Needs to be executed from background thread.

    Note

    Requires the PSPDFFeatureMaskWebKitHtmlConversion feature flag.
    See more

    Declaration

    Objective-C

    
    @interface PSPDFAttributedStringConversionOperation : PSPDFConversionOperation

    Swift

    class AttributedStringConversionOperation : ConversionOperation
  • Manages document editing. Supports operations such as remove, move, rotate and add page.

    Note

    This class requires the Document Editor component to be enabled for your license.
    See more

    Declaration

    Objective-C

    
    @interface PSPDFDocumentEditor : NSObject <PSPDFOverridable>

    Swift

    class PDFDocumentEditor : NSObject, Overridable
  • Undocumented

    See more

    Declaration

    Objective-C

    
    @interface PSPDFDocumentEditorConfigurationBuilder
        : PSPDFBaseConfigurationBuilder
  • Represents a page size option for new pages.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFPageSize : PSPDFModel <NSSecureCoding>

    Swift

    class PageSize : ModelObject, NSSecureCoding
  • Define a compression used for image compression.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFCompression : PSPDFModel <NSSecureCoding>

    Swift

    class Compression : ModelObject, NSSecureCoding
  • Undocumented

    See more

    Declaration

    Objective-C

    
    @interface PSPDFDocumentSharingConfigurationBuilder
        : PSPDFBaseConfigurationBuilder

    Swift

    class DocumentSharingConfigurationBuilder : BaseConfigurationBuilder
  • Undocumented

    Declaration

    Objective-C

    @interface PSPDFDocumentViewLayoutInvalidationContext : UICollectionViewLayoutInvalidationContext @end

    Swift

    class PSPDFDocumentViewLayoutInvalidationContext : UICollectionViewLayoutInvalidationContext
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface PSPDFDownloadManager : NSObject
    
    PSPDF_EMPTY_INIT_UNAVAILABLE
    
    #pragma mark Configuration
    
    /// The maximum number of concurrent downloads. Defaults to 2.
    /// If `enableDynamicNumberOfConcurrentDownloads` is enabled, this property will change dynamically
    /// and must be considered readonly.
    @property (nonatomic) NSUInteger numberOfConcurrentDownloads;
    
    /// Enable this property to let `PSPDFDownloadManager` decide what the best number of concurrent downloads
    /// is depending on the network connection. Defaults to YES.
    @property (nonatomic) BOOL enableDynamicNumberOfConcurrentDownloads;
    
    /// The `PSPDFDownloadManager` delegate.
    @property (nonatomic, weak) id<PSPDFDownloadManagerDelegate> delegate;
    
    /// Controls if objects that are currently loading when the app moves to the background
    /// should be completed in the background. Defaults to YES. iOS only.
    @property (nonatomic) BOOL shouldFinishLoadingObjectsInBackground;
    
    #pragma mark Enqueueing and Dequeueing Objects
    
    /// See enqueueObject:atFront:. Enqueues the object at the end of the queue.
    - (void)enqueueObject:(id<PSPDFRemoteContentObject>)object;
    
    /// Enqueues an `PSPDFRemoteContentObject` for download. If the object is already downloading,
    /// nothing is enqueued. If the object has been downloaded previously and has failed, it will be
    /// removed from the failedObjects array and re-enqueued.
    ///
    /// @param object The object to enqueue.
    /// @param enqueueAtFront Set this to YES to add the object to the front of the queue.
    - (void)enqueueObject:(id<PSPDFRemoteContentObject>)object atFront:(BOOL)enqueueAtFront;
    
    /// Calls enqueueObject:atFont: multiple times. Enqueues the object at the end of the queue.
    ///
    /// @param objects need to implement the `PSPDFRemoteContentObject` protocol.
    - (void)enqueueObjects:(NSArray<id<PSPDFRemoteContentObject>> *)objects;
    
    /// Calls enqueueObject:atFont: multiple times.
    ///
    /// @param objects need to implement the `PSPDFRemoteContentObject` protocol.
    - (void)enqueueObjects:(NSArray<id<PSPDFRemoteContentObject>> *)objects atFront:(BOOL)enqueueAtFront;
    
    /// Cancels the download process for the given object.
    ///
    /// @param object The object to be cancelled.
    - (void)cancelObject:(id<PSPDFRemoteContentObject>)object;
    
    /// Calls `cancelObject:` for all objects in `pendingObjects`, `loadingObjects`, and `failedObjects`.
    - (void)cancelAllObjects;
    
    #pragma mark State
    
    /// The current reachability of the device.
    @property (nonatomic, readonly) PSPDFReachability reachability;
    
    /// Contains all objects waiting to be downloaded.
    @property (nonatomic, copy, readonly) NSArray<id<PSPDFRemoteContentObject>> *waitingObjects;
    
    /// Contains all currently loading objects.
    @property (nonatomic, copy, readonly) NSArray<id<PSPDFRemoteContentObject>> *loadingObjects;
    
    /// Contains all objects that have failed because of a network error and are scheduled for retry.
    @property (nonatomic, copy, readonly) NSArray<id<PSPDFRemoteContentObject>> *failedObjects;
    
    /// Helper that iterates loadingObjects, waitingObjects and failedObjects (in that order) and returns all matches.
    - (NSArray<id<PSPDFRemoteContentObject>> *)objectsPassingTest:(BOOL (^)(id<PSPDFRemoteContentObject> obj, NSUInteger index, BOOL *stop))predicate;
    
    /// Checks if the given object is currently handled by the download manager.
    ///
    /// @param object The object.
    /// @return YES if the download manager handles the object, that is if it is either pending, loading or failed.
    - (BOOL)handlesObject:(id<PSPDFRemoteContentObject>)object;
    
    /// Checks and returns the current state of a given object. If the object has never been enqueued,
    /// `PSPDFDownloadManagerObjectStateNotHandled` will be returned.
    ///
    /// @param object The object.
    /// @return The state of the object.
    - (PSPDFDownloadManagerObjectState)stateForObject:(id<PSPDFRemoteContentObject>)object;
    
    @end

    Swift

    class DownloadManager : NSObject
  • This configuration builder offers all properties of PSPDFDragAndDropConfiguration in a writable version.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFDragAndDropConfigurationBuilder : PSPDFBaseConfigurationBuilder

    Swift

    class DragAndDropConfigurationBuilder : BaseConfigurationBuilder
  • Used to configure various drag and drop options, on how and where it should work. Set the object you create here on PSPDFConfiguration.dragAndDropConfiguration.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFDragAndDropConfiguration
        : PSPDFBaseConfiguration <PSPDFDragAndDropConfigurationBuilder *>

    Swift

    class DragAndDropConfiguration : BaseConfiguration<DragAndDropConfigurationBuilder>
  • Represents a change that was performed by PSPDFDocumentEditor.

    See

    PSPDFDocumentEditor
    See more

    Declaration

    Objective-C

    
    @interface PSPDFEditingChange : PSPDFModel

    Swift

    class PDFEditingChange : ModelObject
  • The default file manager implementation is a thin wrapper around NSFileManager.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFDefaultFileManager : NSObject <PSPDFFileManager>

    Swift

    class DefaultFileManager : NSObject, FileManager
  • The gallery configuration builder object offers all properties of PSPDFGalleryConfiguration in a writable version, in order to build an immutable PSPDFGalleryConfiguration object.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFGalleryConfigurationBuilder : PSPDFBaseConfigurationBuilder

    Swift

    class GalleryConfigurationBuilder : BaseConfigurationBuilder
  • Undocumented

    Declaration

    Objective-C

    @interface PSPDFGalleryEmbeddedBackgroundView : UIView<PSPDFOverridable>
    @end

    Swift

    class GalleryEmbeddedBackgroundView : UIView, Overridable
  • Undocumented

    Declaration

    Objective-C

    @interface PSPDFGalleryFullscreenBackgroundView : UIView<PSPDFOverridable>
    @end

    Swift

    class GalleryFullscreenBackgroundView : UIView, Overridable
  • An abstract base class for model objects, using reflection to provide sensible default behaviors.

    The default implementations of , -hash, and -isEqual: make use of the +propertyKeys method.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFModel : NSObject <NSCopying>

    Swift

    class ModelObject : NSObject, NSCopying
  • Thread safe implementation of the network activity indicator protocol.

    Declaration

    Objective-C

    
    @interface PSPDFDefaultNetworkActivityIndicatorManager
        : NSObject <PSPDFNetworkActivityIndicatorManager>

    Swift

    class DefaultNetworkActivityIndicatorManager : NSObject, NetworkActivityIndicatorManager
  • Undocumented

    Declaration

    Objective-C

    
    @interface PSPDFAnnotationContainerView
        : PSPDFRelayTouchesView <PSPDFOverridable>

    Swift

    class AnnotationContainerView : RelayTouchesView, Overridable
  • Undocumented

    See more

    Declaration

    Objective-C

    
    @interface PSPDFPrintConfigurationBuilder : PSPDFBaseConfigurationBuilder

    Swift

    class PrintConfigurationBuilder : BaseConfigurationBuilder
  • Create, merge or modify PDF documents. Can also flatten annotation data.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFProcessor : NSObject

    Swift

    class Processor : NSObject
  • Container for various settings for manipulating documents with PSPDFProcessor.

    Note

    Some basic options are available without the Document Editor component, however most options do require this component to be licensed. Learn more at https://pspdfkit.com/pdf-sdk/ios/document-editor/
    See more

    Declaration

    Objective-C

    
    @interface PSPDFProcessorConfiguration : NSObject <NSCopying>
  • Represents an item that can be added to either a new page or an existing page. The item can either be a UIImage which will then be compressed as a JPEG using imageJpegCompressionQuality or a NSURL that points to a JPEG or PDF file.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFProcessorItem : NSObject

    Swift

    class ProcessorItem : NSObject
  • Undocumented

    See more

    Declaration

    Objective-C

    
    @interface PSPDFProcessorItemBuilder : PSPDFModel

    Swift

    class PDFProcessorItemBuilder : ModelObject
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface PSPDFRemoteFileObject : NSObject<PSPDFRemoteContentObject>
    
    PSPDF_EMPTY_INIT_UNAVAILABLE
    
    /// Designated initializer.
    - (instancetype)initWithRemoteURL:(NSURL *)remoteURL targetURL:(NSURL *)targetFileURL fileManager:(id<PSPDFFileManager>)fileManager NS_DESIGNATED_INITIALIZER;
    
    /// The remote URL to fetch the content from.
    @property (nonatomic, copy, readonly) NSURL *remoteURL;
    @property (nonatomic, copy, readonly) NSURL *targetURL;
    
    #pragma mark PSPDFRemoteContentObject
    
    /// The remote content of the object. This property is managed by `PSPDFDownloadManager`.
    @property (nonatomic, nullable) NSURL *remoteContent;
    
    /// The loading state of the object. This property is managed by `PSPDFDownloadManager`.
    @property (nonatomic, getter=isLoadingRemoteContent) BOOL loadingRemoteContent;
    
    /// The download progress of the object. Only meaningful if `loadingRemoteContent` is YES.
    /// This property is managed by `PSPDFDownloadManager`.
    @property (nonatomic) CGFloat remoteContentProgress;
    
    /// The remote content error of the object. This property is managed by `PSPDFDownloadManager`.
    @property (nonatomic, nullable) NSError *remoteContentError;
    
    /// The completion block.
    @property (nonatomic, copy, nullable) void (^completionBlock)(id<PSPDFRemoteContentObject> remoteObject);
    
    @end

    Swift

    class RemoteFileObject : NSObject, RemoteContentObject
  • The mutual version of a render request can be used to configure it so that it matches the desired request.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFMutableRenderRequest : PSPDFRenderRequest

    Swift

    class MutableRenderRequest : RenderRequest
  • A default store that saves annotations into the keychain.

    Declaration

    Objective-C

    
    @interface PSPDFKeychainAnnotationSetsStore : NSObject <PSPDFAnnotationSetStore>

    Swift

    class KeychainAnnotationSetsStore : NSObject, AnnotationSetStore
  • An abstract class for a controller that manages a table view with search functionality.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFSearchableTableViewController : PSPDFStatefulTableViewController

    Swift

    class SearchableTableViewController : StatefulTableViewController
  • This configuration builder offers all properties of PSPDFSignatureAppearance in a writable version.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFSignatureAppearanceBuilder : PSPDFBaseConfigurationBuilder

    Swift

    class PDFSignatureAppearanceBuilder : BaseConfigurationBuilder
  • Default signature store implementation that uses the keychain. storeName is used as the service name in the keychain.

    Declaration

    Objective-C

    
    @interface PSPDFKeychainSignatureStore : NSObject <PSPDFSignatureStore>

    Swift

    class KeychainSignatureStore : NSObject, SignatureStore
  • Represents a single HUD item.

    Warning

    Only use this class on the main thread.
    See more

    Declaration

    Objective-C

    
    @interface PSPDFStatusHUDItem : NSObject

    Swift

    class StatusHUDItem : NSObject
  • Status HUD view that represents a given status HUD item.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFStatusHUDView : UIView <PSPDFOverridable>

    Swift

    class StatusHUDView : UIView, Overridable
  • Simple subclass that disables animations during layoutSubviews if the popover is being resized. This fixes an unexpected animation when the tableView is updated while a popover resizes.

    Declaration

    Objective-C

    
    @interface PSPDFNonAnimatingTableViewCell : PSPDFTableViewCell

    Swift

    class NonAnimatingTableViewCell : PDFTableViewCell
  • Never allows animations during layoutSubviews.

    Declaration

    Objective-C

    
    @interface PSPDFNeverAnimatingTableViewCell
        : PSPDFTableViewCell <PSPDFOverridable>

    Swift

    class NeverAnimatingTableViewCell : PDFTableViewCell, Overridable
  • Layout attributes for the thubmnail collection view.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFThumbnailFlowLayoutAttributes : UICollectionViewLayoutAttributes

    Swift

    class ThumbnailFlowLayoutAttributes : UICollectionViewLayoutAttributes
  • Subclass to enable UIAppearance rules on the filter.

    Declaration

    Objective-C

    
    @interface PSPDFThumbnailFilterSegmentedControl
        : PSPDFSegmentedControl <PSPDFOverridable>

    Swift

    class ThumbnailFilterSegmentedControl : SegmentedControl, Overridable
  • Buttons that can be used as spacers for the toolbar (similar to UIBarButtonSystemItemFlexibleSpace and UIBarButtonSystemItemFixedSpace). Does not allow user interaction and is not visible, but takes up space on the toolbar. Use the properties described under “Metrics” form PSPDFToolbarButton for sizing.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFToolbarSpacerButton : PSPDFToolbarButton

    Swift

    class ToolbarSpacerButton : ToolbarButton
  • Sends out PSPDFControlEventTick events while the button is pressed.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFToolbarTickerButton : PSPDFToolbarButton

    Swift

    class ToolbarTickerButton : ToolbarButton
  • A custom spacer button that visually separates button groups.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFToolbarSeparatorButton : PSPDFToolbarSpacerButton

    Swift

    class ToolbarSeparatorButton : ToolbarSpacerButton
  • Undocumented

    See more

    Declaration

    Objective-C

    
    @interface PSPDFToolbarSelectableButton : PSPDFToolbarButton

    Swift

    class ToolbarSelectableButton : ToolbarButton
  • Toolbar button that shows a light gray rounded border.

    Declaration

    Objective-C

    
    @interface PSPDFToolbarBorderButton : PSPDFToolbarButton

    Swift

    class ToolbarBorderButton : ToolbarButton
  • PSPDFToolbarButton with a grouping disclosure indicator.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFToolbarGroupButton : PSPDFToolbarButton <PSPDFOverridable>

    Swift

    class ToolbarGroupButton : ToolbarButton, Overridable
  • PSPDFToolbarButton that combines two buttons into one.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFToolbarDualButton : PSPDFToolbarButton

    Swift

    class ToolbarDualButton : ToolbarButton
  • Special PSPDFToolbarGroupButton used for the collapsed button item.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFToolbarCollapsedButton : PSPDFToolbarGroupButton

    Swift

    class ToolbarCollapsedButton : ToolbarGroupButton
  • Empty subclass for easier debugging.

    Declaration

    Objective-C

    
    @interface PSPDFDocumentLabelView : PSPDFLabelView <PSPDFOverridable>

    Swift

    class DocumentLabelView : PDFLabelView, Overridable
  • Undocumented

    Declaration

    Objective-C

    @interface PSPDFVersionDummy : NSObject
    @end

    Swift

    class PSPDFVersionDummy