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:
10.1
10.2
10.3
10.4
10.5
11.0
11.1
11.2
11.3
11.4
Statistic
FMM
Blog
Writes text on current page with formatting commands.
Component | Version | macOS | Windows | Linux | Server | iOS SDK |
DynaPDF | 3.1 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Parameter | Description | Example | Flags |
---|---|---|---|
The PDF reference returned from DynaPDF.New. | |||
PosX | X-Coordinate of output rectangle | $x | |
PosY | Y-Coordinate of output rectangle | $y | |
Width | Width of output rectangle | $w | |
Height | Height of output rectangle or -1. | $h | |
Align | The text alignment. Can be left, center, right or justify. | "left" | |
Text | The text to write. | "Hello World" | |
PlainText | Available in MBS FileMaker Plugin 9.1 or newer. Pass 1 to ignore formatting commands and treat text as plain text. Default is 0 to interpret commands in text. |
0 | Optional |
Returns OK or error message.
See also WriteFTextEx function in DynaPDF manual.
Write text in a rectangle:
MBS( "DynaPDF.WriteFTextEx"; $PDF; 100; 500; 100; 100; "left"; "Hello World" )
Loop over pages and add page numbers:
Set Variable [$PageCount; Value:MBS( "DynaPDF.GetPageCount"; $pdf )]
Set Variable [$PageNumber; Value:1]
Set Variable [$pageWidth; Value:MBS("DynaPDF.GetPageWidth"; $pdf)]
Set Variable [$pageHeight; Value:MBS("DynaPDF.GetPageHeight"; $pdf)]
Loop
Set Variable [$r; Value:MBS("DynaPDF.EditPage"; $pdf; $PageNumber)]
Set Variable [$r; Value:MBS( "DynaPDF.SetFont"; $pdf; "Helvetica"; 0; 12)]
Set Variable [$r; Value:MBS( "DynaPDF.WriteFTextEx"; $pdf; 50; $pageHeight - 50; $pageWidth-100; 30; "right"; GetAsText($PageNumber) & " of " & $PageCount)]
Set Variable [$r; Value:MBS("DynaPDF.EndPage"; $pdf)]
Set Variable [$PageNumber; Value:$PageNumber +1]
Exit Loop If [$PageNumber > $PageCount]
End Loop
Annotate PDF page with text on top center:
# make pdf
Set Field [PDF::Annotated PDF; PDF::Original PDF]
#Clear current PDF document
Set Variable [$pdf; Value:MBS("DynaPDF.New")]
#Load PDF from container
Set Variable [$r; Value:MBS("DynaPDF.OpenPDFFromContainer"; $pdf; PDF::Original PDF)]
Set Variable [$r; Value:MBS("DynaPDF.ImportPDFFile"; $pdf)]
# write on each page a header
Set Variable [$index; Value:1]
Set Variable [$count; Value:MBS("DynaPDF.GetPageCount"; $pdf)]
Loop
Set Variable [$r; Value:MBS("DynaPDF.EditPage"; $pdf; $index)]
Set Variable [$r; Value:MBS("DynaPDF.SetPageCoords"; $pdf; "topdown")]
Set Variable [$r; Value:MBS("DynaPDF.SetFont"; $pdf; "Arial"; 0; 10; 1; "unicode")]
Set Variable [$PageWidth; Value:MBS("DynaPDF.GetPageWidth"; $pdf)]
Set Variable [$print; Value:MBS("DynaPDF.WriteFTextEx"; $pdf; 0; 20; $PageWidth; -1; "center"; "Doc - " & PDF::PK & "")]
Set Variable [$r; Value:MBS("DynaPDF.EndPage"; $pdf)]
Set Variable [$index; Value:$index + 1]
Exit Loop If [$index > $count]
End Loop
#save
Set Field [PDF::Annotated PDF; MBS( "DynaPDF.Save"; $PDF; "print.pdf" )]
#Cleanup
Set Variable [$r; Value:MBS("DynaPDF.Release"; $pdf)]
Write some text with a link:
MBS( "DynaPDF.WriteFTextEx"; $PDF; 100; 500; 100; 100; "left"; "Link to DynaPDF: \FC[16711680]\ul#\LK[false, TRUE, false, https://www.dynaforms.com]Test\EK#\ul#\FC[0]." )
Created 18th August 2014, last changed 9th October 2020
DynaPDF.WriteFText - DynaPDF.WriteFTextExRotated
Feedback: Report problem or ask question.