Topics
All
MacOS
(Only)
Windows
(Only)
Linux
(Only, Not)
iOS
(Only, Not)
Components
Crossplatform Mac & Win
Server
Client
Old
Deprecated
Guides
Examples
Videos
New in version:
12.2
12.3
12.4
12.5
13.0
13.1
13.2
13.3
13.4
13.5
Statistic
FMM
Blog
Renders a page in current PDF to an image.
Component | Version | macOS | Windows | Linux | Server | iOS SDK |
DynaPDF | 3.0 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Parameter | Description | Example | Flags |
---|---|---|---|
The PDF reference returned from DynaPDF.New. | |||
PageIndex | The page number between 1 and DynaPDF.GetPageCount. | 1 | |
Resolution | The resolution you'd like to have for the image. If you pass zero, we use default resolution (72). | 150 | Optional |
Width | The width of the output image. Can be zero to use page width or to scale based on height. | 800 | Optional |
Height | The height of the output image. Can be zero to use page height or to scale based on width. | 600 | Optional |
Flags | Flags for rendering. Use 0 for the default flags. For other values, please look into dynapdf manual. With version 6.4 of our plugin, you can also specify this by passing in text string, e.g. "Rotate90¶ClipToTrimBox" Valid flags: Default, ScaleToMediaBox, IgnoreCropBox, ClipToArtBox, ClipToBleedBox, ClipToTrimBox, ExclAnnotations, ExclFormFields, SkipUpdateBG, Rotate90, Rotate180, Rotate270, InitBlack, CompositeWhite, ExclPageContent, ExclButtons, ExclCheckBoxes, ExclComboBoxes, ExclListBoxes, ExclTextFields, ExclSigFields, ScaleToBBox, DisableAAClipping, DisableAAText, DisableAAVector, DisableAntiAliasing, DisableBiLinearFilter, ClipBoxMask, RenderInvisibleText. Added EnableBlendCS as flag in v12.3. |
0 | Optional |
PixelFormat | The pixel format. Can be 1bit, gray, RGB, BGR, RGBA, BGRA, ARGB, ABGR, CMYK, CMYKA and GrayA. Default is RGB. | "RGB" | Optional |
Filter | The compression filter to use. Can be Flate, JPEG, CCITT3, CCITT4, LZW or JP2K. Default is JPEG. | "JPEG" | Optional |
Format | The image format to use. Can be TIFF, JPEG, PNG, BMP or JPC. Default is JPEG. | "JPEG" | Optional |
Filename | The file name to use for the container value. Default is page with right file extensions for image. Pass any value if you use DestPath parameter. | $name | Optional |
DestPath | Optional, a file path for storing image instead of a container. | "/Users/cs/Desktop/test.jpg" | Optional |
Returns container value with image or error message.
See also RenderPage function in DynaPDF manual.
Render page 5 with default options:
$ImageData = MBS( "DynaPDF.RenderPage"; $PDF; 5 )
Render page 5 with higher resolution:
$ImageData = MBS( "DynaPDF.RenderPage"; $PDF; 5; 150 )
Render page 5 to file:
$result = MBS( "DynaPDF.RenderPage"; $PDF; 5; 150; 0; 0; 0; "RGB"; "JPEG"; "JPEG"; ""; "/Users/cs/Desktop/test.jpg" )
Open PDF and render page as image to container:
# Start new PDF workspace
Set Variable [$pdf; Value:MBS("DynaPDF.New")]
# Load PDF from container
Set Variable [$r; Value:MBS("DynaPDF.OpenPDFFromContainer"; $pdf; Test::data)]
# Import all pages
Set Variable [$r; Value:MBS("DynaPDF.ImportPDFFile"; $pdf)]
# Render one page as Picture
Set Variable [$r; Value:MBS("DynaPDF.RenderPage"; $pdf; Test::PageIndex)]
# Put in Container
Set Field [Test::PageImage; $r]
# cleanup
Set Variable [$r; Value:MBS("DynaPDF.Release"; $pdf)]
Render in one formula:
// input: PDFDocumentContainer
Let (
[
~PDFObject = MBS("DynaPDF.New");
~error = MBS("IsError");
~x = MBS("DynaPDF.OpenPDFFromContainer"; ~PDFObject; PDFDocumentContainer);
~error = ~error OR MBS("IsError");
~x = MBS("DynaPDF.ImportPDFPage"; ~PDFObject; 1);
~error = ~error OR MBS("IsError");
~PageIndex = 1;
~Resolution = 150 ;
~Width = 0;
~Height = 0;
~Flags = 0;
~PixelFormat = "RGB";
~Filter = "JPEG";
~Format = "PNG";
~Result = MBS("DynaPDF.RenderPage"; ~PDFObject; ~PageIndex ; ~Resolution; ~Width; ~Height; ~Flags; ~PixelFormat; ~Filter; ~Format);
~error = ~error OR MBS("IsError");
~x = MBS("DynaPDF.Release"; ~PDFObject)];
If(~error; ""; ~Result))
Render page as CMYK to tiff file:
Set Variable [ $r ; Value: MBS("DynaPDF.RenderPage"; $pdf; 1; 300; 0; 0; "default"; "CMYK"; "Flate"; "Tiff"; ""; "/Users/cs/Desktop/test.tif") ]
Loop over pages and make images:
# Start new PDF workspace
Set Variable [$pdf; Value:MBS("DynaPDF.New")]
# Load PDF from container
Set Variable [$r; Value:MBS("DynaPDF.OpenPDFFromContainer"; $pdf; Test::data)]
# Import all pages
Set Variable [$r; Value:MBS("DynaPDF.ImportPDFFile"; $pdf)]
# loop counting up from 1 to $count
Set Variable [ $count ; Value: MBS( "DynaPDF.GetPageCount"; $pdf ) ]
Set Variable [ $index ; Value: 1 ]
If [ $index ≤ $count ]
Loop
# Render one page as Picture
Set Variable [$r; Value:MBS("DynaPDF.RenderPage"; $pdf; $index)]
# Put in Container
New Record/Request
Set Field [Test::PageImage; $r]
Commit Records/Requests [ With dialog: Off ]
# next
Set Variable [ $index ; Value: $index + 1 ]
Exit Loop If [ $index > $count ]
End Loop
End If
# cleanup
Set Variable [$r; Value:MBS("DynaPDF.Release"; $pdf)]
Render preview of PDF:
# DynaPDF, if initialized?
If [ MBS("DynaPDF.IsInitialized") ]
# Clear current PDF document
Set Variable [ $pdf ; Value: MBS("DynaPDF.New") ]
# Render one page as Picture
Set Variable [ $r ; Value: MBS("DynaPDF.OpenPDFFromContainer"; $pdf; Get Preview::Input) ]
If [ MBS("IsError") = 0 ]
Set Variable [ $r ; Value: MBS("DynaPDF.ImportPDFPage"; $pdf; 1) ]
If [ MBS("IsError") = 0 ]
# now render
Set Variable [ $image ; Value: MBS("DynaPDF.RenderPage"; $pdf; 1; 72) ]
If [ MBS("IsError") = 0 ]
Set Field [ Get Preview::Preview ; $image ]
Set Field [ Get Preview::Made using ; "DynaPDF" ]
Set Variable [ $r ; Value: MBS("DynaPDF.Release"; $pdf) ]
Exit Script [ Text Result: ]
End If
End If
End If
Set Variable [ $r ; Value: MBS("DynaPDF.Release"; $pdf) ]
End If
This function checks for a license.
Created 18th August 2014, last changed 15th April 2023