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

MBS FileMaker Plugin Example Databases

Render Page

All examples are included with download of MBS FileMaker Plugin.

Render Page.fmp12

Overview
Tables 1
Relationships 0
Layouts 1
Scripts 4
Value Lists 3
Custom Functions 0
Custom Menus 33
File Options
Default custom menu set [Standard FileMaker Menus]
Default theme Apex Blue
When opening file
Minimum allowed version 12.0
Login using Account Name; Account= Admin
Allow user to save password On
Require iOS passcode Off
Show Sign-in fields Off
Switch to layout Off
Hide all toolbars Off
Script triggers
OnFirstWindowOpen Off
OnLastWindowClose Off
OnWindowOpen Off
OnWindowClose Off
OnFileAVPlayerChange Off
OnWindowTransaction Off
Thumbnail Settings
Generate Thumbnails On; Temporary

 

Tables

Table Name
Statistics
Comments
Occurrences in Relationship Graph
Render Page
10 fields defined, 8 records
Render Page

Fields

Table Name: Render Page - 10 Fields
Field Name Type Options Comments On Layouts In Relationships In Scripts In Value Lists
Input PDF Normal, Binary Auto-Enter:
  • Allow editing
Validation:
  • Only during data entry
Storage:
  • Global
  • Repetitions: 1
      Resolution Normal, Number Auto-Enter:
      • Allow editing
      Validation:
      • Only during data entry
      Storage:
      • Repetitions: 1
      • Indexing: None
      • Automatically create indexes as needed
      • Index Language: German
          Width Normal, Number Auto-Enter:
          • Allow editing
          Validation:
          • Only during data entry
          Storage:
          • Repetitions: 1
          • Indexing: None
          • Automatically create indexes as needed
          • Index Language: German
              Height Normal, Number Auto-Enter:
              • Allow editing
              Validation:
              • Only during data entry
              Storage:
              • Repetitions: 1
              • Indexing: None
              • Automatically create indexes as needed
              • Index Language: German
                  Flags Normal, Number Auto-Enter:
                  • Allow editing
                  Validation:
                  • Only during data entry
                  Storage:
                  • Repetitions: 1
                  • Indexing: None
                  • Automatically create indexes as needed
                  • Index Language: German
                      PixelFormat Normal, Text Auto-Enter:
                      • Allow editing
                      Validation: Storage:
                      • Repetitions: 1
                      • Indexing: None
                      • Automatically create indexes as needed
                      • Index Language: German
                          Filter Normal, Text Auto-Enter:
                          • Allow editing
                          Validation:
                          • Only during data entry
                          • Value list: Filter
                          Storage:
                          • Repetitions: 1
                          • Indexing: None
                          • Automatically create indexes as needed
                          • Index Language: German
                              Format Normal, Text Auto-Enter:
                              • Allow editing
                              Validation:
                              • Only during data entry
                              • Value list: Formats
                              Storage:
                              • Repetitions: 1
                              • Indexing: None
                              • Automatically create indexes as needed
                              • Index Language: German
                                  Comment Normal, Text Auto-Enter:
                                  • Allow editing
                                  Validation:
                                  • Only during data entry
                                  Storage:
                                  • Repetitions: 1
                                  • Indexing: None
                                  • Automatically create indexes as needed
                                  • Index Language: German
                                        Output Image Normal, Binary Auto-Enter:
                                        • Allow editing
                                        Validation:
                                        • Only during data entry
                                        Storage:
                                        • Repetitions: 1

                                            Layout Objects: Render Page

                                            Regular Fields

                                            Field Name: Render Page::Input PDF
                                            Field Properties Coordinates Field Format Field Behavior Quick Find
                                            • Top: 24 pt
                                            • Left: 6 pt
                                            • Bottom: 149 pt
                                            • Right: 259 pt
                                            • Anchoring: Left, Top
                                            Field Format:
                                            • Edit Box
                                            Field Behavior:
                                            • Allow field to be entered: In Find mode, In Browse mode
                                            • Touch keyboard type: System Default
                                            • Go to next field using: Tab key
                                            No

                                            Field Name: Render Page::Resolution
                                            Field Properties Coordinates Field Format Field Behavior Quick Find
                                            • Top: 192 pt
                                            • Left: 78 pt
                                            • Bottom: 206 pt
                                            • Right: 157 pt
                                            • Anchoring: Left, Top
                                            Field Format:
                                            • Edit Box
                                            Field Behavior:
                                            • Allow field to be entered: In Find mode, In Browse mode
                                            • Touch keyboard type: System Default
                                            • Go to next field using: Tab key
                                            Yes

                                            Field Name: Render Page::Width
                                            Field Properties Coordinates Field Format Field Behavior Quick Find
                                            • Top: 210 pt
                                            • Left: 78 pt
                                            • Bottom: 224 pt
                                            • Right: 157 pt
                                            • Anchoring: Left, Top
                                            Field Format:
                                            • Edit Box
                                            Field Behavior:
                                            • Allow field to be entered: In Find mode, In Browse mode
                                            • Touch keyboard type: System Default
                                            • Go to next field using: Tab key
                                            Yes

                                            Field Name: Render Page::Height
                                            Field Properties Coordinates Field Format Field Behavior Quick Find
                                            • Top: 228 pt
                                            • Left: 78 pt
                                            • Bottom: 242 pt
                                            • Right: 157 pt
                                            • Anchoring: Left, Top
                                            Field Format:
                                            • Edit Box
                                            Field Behavior:
                                            • Allow field to be entered: In Find mode, In Browse mode
                                            • Touch keyboard type: System Default
                                            • Go to next field using: Tab key
                                            Yes

                                            Field Name: Render Page::Flags
                                            Field Properties Coordinates Field Format Field Behavior Quick Find
                                            • Top: 246 pt
                                            • Left: 78 pt
                                            • Bottom: 260 pt
                                            • Right: 157 pt
                                            • Anchoring: Left, Top
                                            Field Format:
                                            • Edit Box
                                            Field Behavior:
                                            • Allow field to be entered: In Find mode, In Browse mode
                                            • Touch keyboard type: System Default
                                            • Go to next field using: Tab key
                                            Yes

                                            Field Name: Render Page::PixelFormat
                                            Field Properties Coordinates Field Format Field Behavior Quick Find
                                            • Top: 264 pt
                                            • Left: 78 pt
                                            • Bottom: 278 pt
                                            • Right: 331 pt
                                            • Anchoring: Left, Top
                                            Field Format: Field Behavior:
                                            • Allow field to be entered: In Find mode, In Browse mode
                                            • Touch keyboard type: System Default
                                            • Go to next field using: Tab key
                                            Yes

                                            Field Name: Render Page::Filter
                                            Field Properties Coordinates Field Format Field Behavior Quick Find
                                            • Top: 282 pt
                                            • Left: 78 pt
                                            • Bottom: 296 pt
                                            • Right: 331 pt
                                            • Anchoring: Left, Top
                                            Field Format:
                                            • Drop-down List
                                            • Display values from: Filter
                                            Field Behavior:
                                            • Allow field to be entered: In Find mode, In Browse mode
                                            • Touch keyboard type: System Default
                                            • Go to next field using: Tab key
                                            Yes

                                            Field Name: Render Page::Format
                                            Field Properties Coordinates Field Format Field Behavior Quick Find
                                            • Top: 300 pt
                                            • Left: 78 pt
                                            • Bottom: 314 pt
                                            • Right: 331 pt
                                            • Anchoring: Left, Top
                                            Field Format:
                                            • Drop-down List
                                            • Display values from: Formats
                                            Field Behavior:
                                            • Allow field to be entered: In Find mode, In Browse mode
                                            • Touch keyboard type: System Default
                                            • Go to next field using: Tab key
                                            Yes

                                            Field Name: Render Page::Comment
                                            Field Properties Coordinates Field Format Field Behavior Quick Find
                                            • Top: 318 pt
                                            • Left: 78 pt
                                            • Bottom: 332 pt
                                            • Right: 331 pt
                                            • Anchoring: Left, Top
                                            Field Format:
                                            • Edit Box
                                            Field Behavior:
                                            • Allow field to be entered: In Find mode, In Browse mode
                                            • Touch keyboard type: System Default
                                            • Go to next field using: Tab key
                                            Yes

                                            Field Name: Render Page::Output Image
                                            Field Properties Coordinates Field Format Field Behavior Quick Find
                                            • Top: 336 pt
                                            • Left: 6 pt
                                            • Bottom: 761 pt
                                            • Right: 547 pt
                                            • Anchoring: Left, Top
                                            Field Format:
                                            • Edit Box
                                            Field Behavior:
                                            • Allow field to be entered: In Find mode, In Browse mode
                                            • Touch keyboard type: System Default
                                            • Go to next field using: Tab key
                                            No

                                            Group Buttons

                                            Button Properties Coordinates Script/Script Step
                                              Type:
                                            • Text: Render Page
                                              Additional Properties:
                                            • Change to hand cursor over button
                                            • Rectangular
                                            • Top: 186 pt
                                            • Left: 366 pt
                                            • Bottom: 217 pt
                                            • Right: 487 pt
                                            • Anchoring: Left, Top
                                            Perform Script [ “Run” ]

                                            Scripts:


                                            Value Lists

                                            Value List Name Source Values On Layouts
                                            PixelFormats Custom
                                            • 1bit, gray, RGB, BGR, RGBA, BGRA, ARGB, ABGR, GrayA, CMYK, CMYKA
                                            Filter Custom
                                            • Flate, JPEG, CCITT3, CCITT4, LZW, JP2K
                                            Formats Custom
                                            • TIFF, JPEG, PNG, BMP, JPC

                                            Script Hierarchy

                                            InitDynaPDF
                                            Run
                                            Clear Output Images
                                            Render 4 Quadrants

                                            Next Script: [Run]
                                            Script Name InitDynaPDF
                                            Run script with full access privileges Off
                                            Siri Shortcut Visible Off
                                            Include In Menu No
                                            Layouts that use this script
                                              Scripts that use this script
                                              Script Definition
                                              Script Steps
                                              • #Locate DynaPDF library
                                              • #you can have libraries in container and export at runtime to folder of your choice.
                                              • #Or install library somewhere and pass path.
                                              • #If library is in same folder as plugin, you can only pass only file name.
                                              • If [ MBS("IsServer") ]
                                              • #Put the path you use for your server here:
                                              • If [ Get(SystemPlatform) = -2 ]
                                              • #Server on Windows
                                              • Set Variable [ $path; Value:"C:\Programs\FileMaker Server\dynapdf.dll" ]
                                              • Else If [ MBS("IsLinux") ]
                                              • #Server on Linux for FileMaker Cloud
                                              • Set Variable [ $path; Value:"/opt/FileMaker/FileMaker Server/dynapdf.linux.so" ]
                                              • Else [ ]
                                              • #Server on Mac
                                              • Set Variable [ $path; Value: "/Library/FileMaker Server/dynapdf.dylib" ]
                                              • End If
                                              • Else [ ]
                                              • #For desktop and our examples we look in same folder as database:
                                              • Set Variable [ $databasePath; Value:Get(FilePath) ]
                                              • Set Variable [ $databasePath; Value:MBS("Path.FilemakerPathToNativePath"; $databasePath) ]
                                              • Set Variable [ $databasePath; Value:Substitute ( $databasePath ; ".fp7" ; ".fmp12") ]
                                              • Set Variable [ $databaseName; Value:Get(FileName) & ".fmp12" ]
                                              • If [ Get(SystemPlatform) = -2 ]
                                              • Set Variable [ $path; Value:Substitute ( $databasePath ; $databaseName ; "dynapdf.dll" ) ]
                                              • #plugin will look for dynapdf.dll and if not found also for dynapdf.dll (64-bit) and dynapdf32.dll (32-bit).
                                              • Else [ ]
                                              • Set Variable [ $path; Value:Substitute ( $databasePath ; $databaseName ; "dynapdf.dylib" ) ]
                                              • #Mac dylib is usually 32 and 64 bit together.
                                              • End If
                                              • End If
                                              • #You can test for free.
                                              • #If you like to get a dynapdf license, please follow links on our pricing page:
                                              • #https://www.monkeybreadsoftware.de/filemaker/pricing.shtml
                                              • Set Variable [ $LicenseKey; Value:"" // put your key here or leave empty for demo. // Use e.g. "Lite", "Pro" or "Starter" to use demo mode for just that mode. ]
                                              • Set Variable [ $r; Value:MBS( "DynaPDF.Initialize"; $path; $LicenseKey) ]
                                              • If [ $r ≠ "OK" ]
                                              • Show Custom Dialog [ Title: "Error"; Message: $r; Default Button: “OK”, Commit: “No”; Button 2: “Cancel”, Commit: “No” ]
                                              • Halt Script
                                              • End If
                                              Fields used in this script
                                                Scripts used in this script
                                                  Layouts used in this script
                                                    Tables used in this script
                                                      Table occurrences used by this script
                                                        Custom Functions used by this script
                                                          Custom menu set used by this script

                                                            Previous Script: [InitDynaPDF] Next Script: [Clear Output Images]
                                                            Script Name Run
                                                            Run script with full access privileges Off
                                                            Siri Shortcut Visible Off
                                                            Include In Menu Yes
                                                            Layouts that use this script
                                                            Scripts that use this script
                                                              Script Definition
                                                              Script Steps
                                                              • Set Variable [ $r; Value:MBS("Trace") ]
                                                              • #Initialize DynaPDF if needed
                                                              • If [ MBS("DynaPDF.IsInitialized") ≠ 1 ]
                                                              • Perform Script [ “InitDynaPDF” ]
                                                              • End If
                                                              • #Clear current PDF document
                                                              • Set Variable [ $pdf; Value:MBS("DynaPDF.New") ]
                                                              • #Render one page as Picture
                                                              • Set Variable [ $r; Value:MBS("DynaPDF.OpenPDFFromContainer"; $pdf; Render Page::Input PDF) ]
                                                              • Set Variable [ $r; Value:MBS("DynaPDF.ImportPDFPage"; $pdf; 1) ]
                                                              • #Put in Container
                                                              • Set Variable [ $image; Value:MBS("DynaPDF.RenderPage"; $pdf; 1; Render Page::Resolution; Render Page::Width; Render Page::Height; Render Page::Flags; Render Page::PixelFormat; Render Page::Filter; Render Page::Format) ]
                                                              • Set Field [ Render Page::Output Image; $image ]
                                                              • Set Variable [ $r; Value:MBS("DynaPDF.Release"; $pdf) ]
                                                              Fields used in this script
                                                              Scripts used in this script
                                                              Layouts used in this script
                                                                Tables used in this script
                                                                Table occurrences used by this script
                                                                Custom Functions used by this script
                                                                  Custom menu set used by this script

                                                                    Previous Script: [Run] Next Script: [Render 4 Quadrants]
                                                                    Script Name Clear Output Images
                                                                    Run script with full access privileges Off
                                                                    Siri Shortcut Visible Off
                                                                    Include In Menu Yes
                                                                    Layouts that use this script
                                                                      Scripts that use this script
                                                                        Script Definition
                                                                        Script Steps
                                                                        • Go to Record/Request/Page [ First ]
                                                                        • Loop [ Flush: Always ]
                                                                        • Set Field [ Render Page::Output Image; "" ]
                                                                        • Go to Record/Request/Page [ Next; Exit after last ]
                                                                        • End Loop
                                                                        • Go to Record/Request/Page [ First ]
                                                                        Fields used in this script
                                                                        Scripts used in this script
                                                                          Layouts used in this script
                                                                            Tables used in this script
                                                                            Table occurrences used by this script
                                                                            Custom Functions used by this script
                                                                              Custom menu set used by this script

                                                                                Previous Script: [Clear Output Images]
                                                                                Script Name Render 4 Quadrants
                                                                                Run script with full access privileges Off
                                                                                Siri Shortcut Visible Off
                                                                                Include In Menu Yes
                                                                                Layouts that use this script
                                                                                  Scripts that use this script
                                                                                    Script Definition
                                                                                    Script Steps
                                                                                    • #Render the PDF in 4 parts
                                                                                    • #Initialize DynaPDF if needed
                                                                                    • If [ MBS("DynaPDF.IsInitialized") ≠ 1 ]
                                                                                    • Perform Script [ “InitDynaPDF” ]
                                                                                    • End If
                                                                                    • #Clear current PDF document
                                                                                    • Set Variable [ $pdf; Value:MBS("DynaPDF.New") ]
                                                                                    • #Render one page as Picture
                                                                                    • Set Variable [ $r; Value:MBS("DynaPDF.OpenPDFFromContainer"; $pdf; Render Page::Input PDF) ]
                                                                                    • Set Variable [ $r; Value:MBS("DynaPDF.ImportPDFPage"; $pdf; 1) ]
                                                                                    • #Query page size
                                                                                    • Set Variable [ $r; Value:MBS("DynaPDF.EditPage"; $pdf; 1) ]
                                                                                    • Set Variable [ $width; Value:MBS("DynaPDF.GetBBox"; $pdf; "Media"; "Width"; "point") ]
                                                                                    • Set Variable [ $height; Value:MBS("DynaPDF.GetBBox"; $pdf; "Media"; "Height"; "point") ]
                                                                                    • Set Variable [ $width2; Value:Round($width/2;0) ]
                                                                                    • Set Variable [ $height2; Value:Round($height/2;0) ]
                                                                                    • #Render first one
                                                                                    • Set Variable [ $r; Value:MBS("DynaPDF.SetBBox"; $pdf; "Crop"; 0; 0; $width2; $height2) ]
                                                                                    • Set Variable [ $r; Value:MBS("DynaPDF.EndPage"; $pdf) ]
                                                                                    • Set Variable [ $image; Value:MBS("DynaPDF.RenderPage"; $pdf; 1; // page 1200; // resolution 0; // width 0; // height 0; // flags "RGB"; "Flate"; "PNG") ]
                                                                                    • New Record/Request
                                                                                    • Set Field [ Render Page::Output Image; $image ]
                                                                                    • Export Field Contents [ Render Page::Output Image; “file:page1.png”; Create folders:Yes ]
                                                                                    • Commit Records/Requests [ No dialog ]
                                                                                    • #Render second one
                                                                                    • Set Variable [ $r; Value:MBS("DynaPDF.EditPage"; $pdf; 1) ]
                                                                                    • Set Variable [ $r; Value:MBS("DynaPDF.SetBBox"; $pdf; "Crop"; 0; $height2; $width2; $height) ]
                                                                                    • Set Variable [ $r; Value:MBS("DynaPDF.EndPage"; $pdf) ]
                                                                                    • Set Variable [ $image; Value:MBS("DynaPDF.RenderPage"; $pdf; 1; // page 1200; // resolution 0; // width 0; // height 0; // flags "RGB"; "Flate"; "PNG") ]
                                                                                    • New Record/Request
                                                                                    • Set Field [ Render Page::Output Image; $image ]
                                                                                    • Export Field Contents [ Render Page::Output Image; “file:page2.png”; Create folders:Yes ]
                                                                                    • Commit Records/Requests [ No dialog ]
                                                                                    • #Render third one
                                                                                    • Set Variable [ $r; Value:MBS("DynaPDF.EditPage"; $pdf; 1) ]
                                                                                    • Set Variable [ $r; Value:MBS("DynaPDF.SetBBox"; $pdf; "Crop"; $width2; 0; $width; $height2) ]
                                                                                    • Set Variable [ $r; Value:MBS("DynaPDF.EndPage"; $pdf) ]
                                                                                    • Set Variable [ $image; Value:MBS("DynaPDF.RenderPage"; $pdf; 1; // page 1200; // resolution 0; // width 0; // height 0; // flags "RGB"; "Flate"; "PNG") ]
                                                                                    • New Record/Request
                                                                                    • Set Field [ Render Page::Output Image; $image ]
                                                                                    • Export Field Contents [ Render Page::Output Image; “file:page3.png”; Create folders:Yes ]
                                                                                    • Commit Records/Requests [ No dialog ]
                                                                                    • #Render forth one
                                                                                    • Set Variable [ $r; Value:MBS("DynaPDF.EditPage"; $pdf; 1) ]
                                                                                    • Set Variable [ $r; Value:MBS("DynaPDF.SetBBox"; $pdf; "Crop"; $width2; $height2; $width; $height) ]
                                                                                    • Set Variable [ $r; Value:MBS("DynaPDF.EndPage"; $pdf) ]
                                                                                    • Set Variable [ $image; Value:MBS("DynaPDF.RenderPage"; $pdf; 1; // page 1200; // resolution 0; // width 0; // height 0; // flags "RGB"; "Flate"; "PNG") ]
                                                                                    • New Record/Request
                                                                                    • Set Field [ Render Page::Output Image; $image ]
                                                                                    • Export Field Contents [ Render Page::Output Image; “file:page4.png”; Create folders:Yes ]
                                                                                    • Commit Records/Requests [ No dialog ]
                                                                                    • #Put in Container
                                                                                    • Set Variable [ $r; Value:MBS("DynaPDF.Release"; $pdf) ]
                                                                                    Fields used in this script
                                                                                    Scripts used in this script
                                                                                    Layouts used in this script
                                                                                      Tables used in this script
                                                                                      Table occurrences used by this script
                                                                                      Custom Functions used by this script
                                                                                        Custom menu set used by this script

                                                                                          Download example: Render Page

                                                                                          Used functions: