DynaPDF Manual - Page 784

Previous Page 783   Index   Next Page 785

Function Reference
Page 784 of 787
// We use top-down coordinates
pdfSetPageCoords(r.iPDF, pcTopDown);
pdfCreateNewPDF(r.iPDF, "c:/cppout.pdf");
pdfAppend(r.iPDF);
pdfSetFont(r.iPDF, "Arial", fsNone, 8.0, true, cp1252);
r.ColCount = 3;
r.Column
= 0;
r.Distance = 5.0;
r.PosX
= 50.0;
r.PosY
= 50.0;
r.Height
= 150.0;
r.Width
= (pdfGetPageWidth(r.iPDF) - 100.0 - (r.ColCount -1) * r.Distance) / r.ColCount;
// The structure is passed to the callback function now
pdfSetOnPageBreakProc(r.iPDF, &r, OnPageBreakProc);
// Set the output rectangle first
pdfSetTextRect(r.iPDF, r.PosX, r.PosY, r.Width, r.Height);
pdfWriteFText(r.iPDF, taLeft, fText); // Now we can print the text
free(fText);
// free the text buffer
pdfEndPage(r.iPDF);
// Close the last page
pdfCloseFile(r.iPDF); // Close the file
pdfDeletePDF(r.iPDF); // Delete the PDF instance
}
The output of the previous example could look like this:
Bruder Lustig
hatte sich als ein armer Bettler an den Weg
Doch geben will ich dir was." Darauf teilte
gesetzt, und wie der Bruder Lustig
er den Laib in vier Teile und gab davon
Es war einmal ein großer Krieg, und als der
daherkam, bat er ihn um ein Almosen. Er
dem Apostel einen und auch einen
Krieg zu Ende war, bekamen viele Soldaten
antwortete: "Lieber Bettelmann, was soll ich
Kreuzer. Der heilige Petrus bedankte sich
ihren Abschied. Nun bekam der Bruder
dir geben? Ich bin Soldat gewesen und habe
und ging weiter, setzte sich aber zum
Lustig auch seinen Abschied und sonst
meinen Abschied bekommen, und habe
dritten Mal in einer andern Gestalt als ein
nichts als ein kleines Laibchen Kommißbrot
sonst nichts als das kleine Kommißbrot und
Bettler an den Weg und sprach den Bruder
und vier Kreuzer an Geld; damit zog er
vier Kreuzer Geld, wenn das all ist, muß ich
Lustig an.
fort. Der heilige Petrus aber
betteln, so gut wie du.
As you can see, the first column is left aligned, the second is justified and the third is right aligned.
By using manual page breaks it is possible to get full control over the formatting algorithm.
The parameter PageBreak of the callback is set to true if a page break tag was found, otherwise it is
always false. Because of this, it is possible to distinguish between a manual page break and a page
break that occurred due to a filled rectangle.
Return values:
If the function succeeds the return value is 1. If the function fails the return value is 0.
 

Previous topic: How to create multi-column text?

Next topic: WriteFTextEx, WriteText

Start Chat