Tips and Frequently Asked Questions

Printing a PDF File
To print a pdf file from iOS, you can use the following code to access the UIPrintInteractionController (it requires MacApi.ObjectiveC, iOSApi.UIKit and iOSApi.Foundation units)
type
TUIPrintInteractionControllerCompletionHandler = procedure(printInteractionController: Pointer;
completed: Pointer; error: Pointer) of object;
UIPrintInteractionControllerClass = interface(NSObjectClass)
['{D3566B82-3014-40C6-B7E3-DFC22AF39319}']
{class} function canPrintData(data: NSData): Boolean; cdecl;
{class} function canPrintURL(url: NSURL): Boolean; cdecl;
{class} function isPrintingAvailable: Boolean; cdecl;
{class} function printableUTIs: NSSet; cdecl;
{class} function sharedPrintController: Pointer; cdecl;
end;
UIPrintInteractionController = interface(NSObject)
['{0FEF6AA7-132B-41C8-BB12-045C43027D4B}']
function delegate: Pointer; cdecl;
procedure dismissAnimated(animated: Boolean); cdecl;
function printFormatter: UIPrintFormatter; cdecl;
function printInfo: UIPrintInfo; cdecl;
function printPageRenderer: UIPrintPageRenderer; cdecl;
function printPaper: UIPrintPaper; cdecl;
function printingItem: Pointer; cdecl;
function printingItems: NSArray; cdecl;
procedure setDelegate(delegate: Pointer); cdecl;
procedure setPrintFormatter(printFormatter: UIPrintFormatter); cdecl;
procedure setPrintInfo(printInfo: UIPrintInfo); cdecl;
procedure setPrintPageRenderer(printPageRenderer: UIPrintPageRenderer); cdecl;
procedure setPrintingItem(printingItem: Pointer); cdecl;
procedure setPrintingItems(printingItems: NSArray); cdecl;
procedure setShowsPageRange(showsPageRange: Boolean); cdecl;
procedure presentAnimated(animated: Boolean; completionHandler:
TUIPrintInteractionControllerCompletionHandler); cdecl;
function showsPageRange: Boolean; cdecl;
end;
TUIPrintInteractionController = class(TOCGenericImport<UIPrintInteractionControllerClass,
UIPrintInteractionController>) end;
var pi: UIPrintInfo; pic: UIPrintInteractionController; fileURL: Pointer; begin pi := TUIPrintInfo.Wrap(TUIPrintInfo.OCClass.printInfo); pi.setOutputType(UIPrintInfoOutputGeneral); pi.setJobName(TMSFMXNativeUIWebView1.WebView.request.URL.absoluteString); pi.setOrientation(UIPrintInfoOrientationPortrait); pi.setDuplex(UIPrintInfoDuplexLongEdge); pic := TUIPrintInteractionController.Wrap(TUIPrintInteractionController.OCClass.sharedPrintController); pic.setPrintInfo(pi); pic.setShowsPageRange(True); fileURL := TNSURL.OCClass.fileURLWithPath(NSSTR(ExtractFilePath(ParamStr(0))+'sample.pdf')); pic.setPrintingItem(fileURL); pic.presentAnimated(True, PrintCompleted); end;
Pricing
Single Developer License
Small Team License
Site License
TMS iCL
€ 125
€
75
yearly renewal
license for 1 developer
Includes
check
Full source code
check
Access to the TMS Support Center
check
Free updates and new releases
BEST VALUE
TMS ALL-ACCESS
€ 1,795
€
595
yearly renewal
license for 1 developer
Includes
check
Full source code
check
Access to the TMS Support Center
check
Free updates and new releases
check
TMS iCL
check
All TMS FMX products
check
All TMS products
more_horiz
Discover more
All prices excl. VAT. Renewal price is subject to change and only valid up to 30 days after license has expired. After renewal period a discount price is offered to renew the license.