Components All New MacOS Windows Linux iOS
Examples Mac & Win Server Client Guides Statistic FMM Blog Deprecated Old

DynaPDF.PageStatistics

Queries the page statistics.

Component Version macOS Windows Linux Server iOS SDK
DynaPDF 3.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes ✅ Yes
MBS( "DynaPDF.PageStatistics"; PDF; PageIndex )   More

Parameters

Parameter Description Example
PDF The PDF reference returned from DynaPDF.New. $pdf
PageIndex The page to check. Range is from one to DynaPDF.GetPageCount. 1

Result

Returns statistics.

Description

Queries the page statistics.
The statistics are returned as one value per line in a multi line text. The order of the values is:
  • Number of patterns used.
  • Number of templates
  • Number of bezier curves
  • Number of path clipping
  • Number of path closing
  • Number of shading drawings
  • Number of images
  • Number of lines
  • Number of rectangles
  • Number of texts
  • Length of all texts together
  • Number of layers
  • Number of font loadings

This function uses the parser interface in DynaPDF and needs a Pro license.

If you have an open page, we close it automatically for you before doing the import.

Examples

Query page statistics:

# start new
Set Variable [ $PDF; Value:MBS("DynaPDF.New") ]

# open PDF
Set Variable [ $r; Value:MBS("DynaPDF.OpenPDFFromContainer"; $PDF; Test::data) ]

# import pages
Set Variable [ $r; Value:MBS("DynaPDF.ImportPDFFile"; $PDF) ]

#if query page statistics
Set Variable [ $stat; Value:MBS("DynaPDF.PageStatistics"; $PDF; Test::PageIndex) ]

# split values:
Set Variable [ $Count; Value:ValueCount ( $stat ) ]
Set Variable [ $PatternCount; Value:MiddleValues ( $stat ; 1 ; 1 ) ]
Set Variable [ $TemplateCount; Value:MiddleValues ( $stat ; 2 ; 1 ) ]
Set Variable [ $BezierCount; Value:MiddleValues ( $stat ; 3 ; 1 ) ]
Set Variable [ $ClipPathCount; Value:MiddleValues ( $stat ; 4 ; 1 ) ]
Set Variable [ $ClosePathCount; Value:MiddleValues ( $stat ; 5 ; 1 ) ]
Set Variable [ $DrawShadingCount; Value:MiddleValues ( $stat ; 6 ; 1 ) ]
Set Variable [ $ImageCount; Value:MiddleValues ( $stat ; 7 ; 1 ) ]
Set Variable [ $LineCount; Value:MiddleValues ( $stat ; 8 ; 1 ) ]
Set Variable [ $RectangleCount; Value:MiddleValues ( $stat ; 9 ; 1 ) ]
Set Variable [ $TextCount; Value:MiddleValues ( $stat ; 10 ; 1 ) ]
Set Variable [ $TextLength; Value:MiddleValues ( $stat ; 11 ; 1 ) ]
Set Variable [ $LayerCount; Value:MiddleValues ( $stat ; 12 ; 1 ) ]
Set Variable [ $FontCount; Value:MiddleValues ( $stat ; 13 ; 1 ) ]

# show in text field
Set Field [ Test::PageStats; "PatternCount: " & $PatternCount &
"TemplateCount: " & $TemplateCount &
"BezierCount: " & $BezierCount &
"ClipPathCount: " & $ClipPathCount &
"ClosePathCount: " & $ClosePathCount &
"DrawShadingCount: " & $DrawShadingCount &
"ImageCount: " & $ImageCount &
"LineCount: " & $LineCount &
"RectangleCount: " & $RectangleCount &
"TextCount: " & $TextCount &
"TextLength: " & $TextLength &
"LayerCount: " & $LayerCount &
"FontCount: " & $FontCount ]

See also

Example Databases

Blog Entries

This function checks for a license.

Created 18th August 2014, last changed 25th September 2024


DynaPDF.PageLinkEx - DynaPDF.ParseContent