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
BEST VALUE
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.