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:
9.5
10.0
10.1
10.2
10.3
10.4
10.5
11.0
11.1
11.2
Statistic
FMM
Blog
DynaPDF.WriteFTextEx
Writes text on current page with formatting commands.
Component | Version | macOS | Windows | Linux | Server | FileMaker iOS SDK |
DynaPDF | 3.1 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Parameters
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 |
Result
Returns OK or error message.
Description
Writes text on current page with formatting commands.Use DynaPDF.GetFTextHeightEx or DynaPDF.GetFTextHeight to calculate the space needed for the text if you want to create a matching text rectangle for vertical alignment.
See DynaPDF.AllowPageBreak for whether to do page breaks or not.
Please set a font first with DynaPDF.SetFont function before you write on the page.
See DynaPDF.WriteStyledTextEx to convert FileMaker styles to DynaPDF commands.
See also WriteFTextEx function in DynaPDF manual.
Examples
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]." )
See also
- DynaPDF.PageLink
- DynaPDF.PageLinkEx
- DynaPDF.Release
- DynaPDF.SetFont
- DynaPDF.SetPageBreakExpression
- DynaPDF.SetPageCoords
- DynaPDF.WebLink
- DynaPDF.WriteFTextExRotated
- DynaPDF.WriteStyledText
- DynaPDF.WriteText
Release notes
- Version 9.1
- Added PlainText flag to DynaPDF.WriteFText, DynaPDF.WriteFTextEx and DynaPDF.WriteFTextExRotated functions.
- Version 7.4
Example Databases
- Barcode/DynaPDF Barcode
- DynaPDF/Add Page Numbers
- DynaPDF/Catalog with tables
- DynaPDF/Invoice/Invoice
- DynaPDF/Merge PDFs
- DynaPDF/Personalized PDFs
- DynaPDF/Report
- DynaPDF/Shrink PDF pages
- DynaPDF/Signature Appearance
Blog Entries
- New in MBS FileMaker Plugin 10.5
- DynaPDF WriteFText with links inside
- Example Script for DynaPDF.FindText and DynaPDF.WebLink
- MBS FileMaker Plugin, version 9.1pr2
- DynaPDF and Styled Text, Xojo vs. FileMaker
FileMaker Magazin
Created 18th August 2014, last changed 9th October 2020
DynaPDF.WriteFText - DynaPDF.WriteFTextExRotated
Feedback: Report problem or ask question.

Links
MBS Xojo Plugins