Grooper.Activities.GeneratePDF

Generates a PDF document from one or more image-based pages, with optional text-behind and/or annotations. This activity operates on a Batch Folder containing one or more descendant Batch Page objects. It generates a PDF document from the page images, and saves the resulting PDF file on the folder object. OCR data may optionally be merged into the output to create a searchable PDF document. Various PDF annotations may also be applied to highlight extracted data elements, place signature widgets, generate form fields, and etc.


Inherits from: Grooper.Core.UnattendedActivity

Constructors

Signature Description
New (gdb As GrooperDb)
Parameters
gdb
          Type: GrooperDb
          

Fields

Field Name Field Type Description
Database As Grooper.GrooperDb Grooper.GrooperDb
DiagnosticInfo As Grooper.IP.DiagnosticInfo Grooper.IP.DiagnosticInfo

Properties

Property Name Property Type Description
ActivityStats Grooper.StatDictionary Dictionary of statistics for the batch processing activity.
Annotations System.Collections.Generic.List(Of T) Defines one or more annotations to be added to the PDF.
ConcurrencyMode Grooper.ConcurrencyModeAttribute.ConcurrencyMode Specifies the parallel processing mode for this activity. This value determines the type of Thread Pool on which the activity can be executed.Can be one of the following values:
  • Multiple: Multiple instances can run concurrently.
  • PerMachine: Only a single instance can run per machine.
  • Single: Only a single instance can run per Grooper repository.
DeleteSourcePages System.Boolean If set to True, the folder contents will be deleted after successful creation of the PDF document. Use this option to delete the pages from which the PDF document was created.
EmbedFonts System.Boolean If enabled, all fonts necessary to render the pdf will be embedded into the PDF. Pages must contain OCR data in order for this option to have any effect.
ErrorDisposition Grooper.Core.UnattendedActivity.IssueDisposition Determines what happens when an error occurs processing an activity.A combination of the following flags:
  • None: The issue will be ignored, and the item will complete successfully.
  • Flag: The associated Batch Folder or Batch Page will be flagged.
  • Log: The issue will be logged to the Grooper log. The log can be viewed from the Grooper Root node under the Batch Event Viewer tab.
  • Stop: The Batch will stop processing, be set to an error state, and all pending tasks will be deleted.
HasReferenceProperties System.Boolean Returns true if the object has properties which reference Grooper Node objects.
IsEmpty System.Boolean Returns true if all properties with a ViewableAttribute are set to their default value.
IsWriteable System.Boolean Returns true if the object is writable, or false if it is not.
JpegQuality System.Double The JPEG compression quality to use for color and grayscale pages.
Linearized System.Boolean Specifies whether the output PDF file should be linearized for fast web viewing.
MakeSearchable System.Boolean Specifies whether the output PDF file should be searchable. This option adds searchable text-behind content to each page using OCR data produced in Grooper. If enabled, it is important that each page has been previously processed through the Recognize activity.
MaximumConsecutiveErrors System.Int32 The maximum number of consecutive errors, after which a critical stop will be raised. A critical stop will cause services to stop running.
Root Grooper.GrooperRoot Returns the root node
StatNames System.Collections.Generic.IEnumerable(Of T) Returns all possible statistic names which could be logged for the Activity. Derived classed should override this method to return all stat names which will be used in calls to AddCustomStatValue().

Methods

Method Name Description
AddDiagImage(Name As String, Image As GrooperImage, Annotations As IEnumerable(Of Annotation))
Parameters
Name
          Type: String
          
 
Image
          Type: GrooperImage
          
 
Annotations
          Type: IEnumerable`1
          
EnableDiagMode()
GetProperties() As PropertyDescriptorCollection
GetReferences() As List(Of GrooperNode) Returns a list of GrooperNode objects referenced in the properties of this object.
InsertDiagImage(Index As Int32, Name As String, Image As GrooperImage, Annotations As IEnumerable(Of Annotation))
Parameters
Index
          Type: Int32
          
 
Name
          Type: String
          
 
Image
          Type: GrooperImage
          
 
Annotations
          Type: IEnumerable`1
          
IsPropertyEnabled(PropertyName As String) As Nullable(Of Boolean) Defines whether a property is currently enabled.
Parameters
PropertyName
          Type: String
          The name of the property to determine the enabled state for.
IsPropertyVisible(PropertyName As String) As Nullable(Of Boolean) Defines whether a property is currently visible.
Parameters
PropertyName
          Type: String
          The name of the property to determine the visible state for.
IsType(Type As Type) As Boolean Returns true if the object is of the type specified, or if it derives from the type specfied.
Parameters
Type
          Type: Type
          The type to check.
LogStatValue(Name As String, Value As Double) Adds a custom stat value to the Batch Processing Activity statistics.
Parameters
Name
          Type: String
          
 
Value
          Type: Double
          
ProcessTask(CurNode As BatchObject) Mandatory override to implement processing logic.
Parameters
CurNode
          Type: BatchObject
          The current batch object being processed.
Serialize() As String Serializes the object.
SetDatabase(Database As GrooperDb) Sets the database connection of the object.
Parameters
Database
          Type: GrooperDb
          
ToString() As String Returns the display name for this activity type.
ValidateProperties() As ValidationErrorList Validates the properties of the object, returning a list of validation errors.
Verify()
WriteLogEntry(Message As String, pa() As Object()) Adds an entry to the Diagnostic Info Log.
Parameters
Message
          Type: String
          
 
pa
          Type: Object
          
WriteLogEntry(TabLevel As Int32, Message As String, pa() As Object()) Adds an entry to the Diagnostic Info Log.
Parameters
TabLevel
          Type: Int32
          Level to indent the message within the log.
 
Message
          Type: String
          
 
pa
          Type: Object