Topics   All   Mac OS X (Only)   Windows (Only)   Linux (Only, Not)   iOS (Only, Not)  
Components   Crossplatform Mac & Win   Server (Not)   Client   Old   Guides
New in version: 5.4   6.0   6.1   6.2   6.3   6.4   6.5   7.0   7.1   7.2    Statistic  

DynaPDF.WriteFTextEx

Writes text on current page with formatting commands.

Component: DynaPDF
Version: 3.1
Mac OS X: Yes
Windows: Yes
Server: Yes
FileMaker Cloud: Yes

MBS( "DynaPDF.WriteFTextEx"; PDF; PosX; PosY; Width; Height; Align; Text )

Parameters

Parameter Description Example value
PDF The PDF reference returned from DynaPDF.New. $pdf
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"

Result

Returns OK or error message.

Description

Writes text on current page with formatting commands.
See also pdfWriteFText in DynaPDF manual.
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.

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)]

See also


DynaPDF.WriteFText   -   DynaPDF.WriteStyledText

Feedback: Report problem or ask question.




Links
MBS REAL studio tutorial videos - Nachhilfe in Kell