FOXIT PDF SDK FOR IOS
Integrate PDF technology easily within your iOS app with our iOS PDF SDK. Foxit’s technology comes with a UI Extension component which is a simple built in PDF viewer. This cuts down development time, making PDF libraries simple and easy to understand, even for those with limited knowledge of PDF technology. Choosing Foxit PDF SDK for your next project means working with a professional, easy to use software development kit that suits all your needs.
DEVELOPING WITH FOXIT’S IOS PDF SDK
Have all the PDF technology you need for your iOS app in one place. Build a first class product, complete with full RMS capabilities and touch screen using Xcode in Swift, Objective-C, or in binding libraries like Cordova, Xamarin or React Native with Foxit. Our libraries, along with our SDK UI Extension can ensure that your application has all the PDF features and functionality it needs to satisfy your users.


FEATURES
PDF VIEWING
Our core API provides for high-fidelity rendering of PDF documents with optimized performance for desktop and mobile platforms.
Find out more…
DIGITAL SIGNATURES
Use ink signatures to let customers sign documents in their digital devices. No need to print a file to sign again!
Find out more…
PDF FORMS
Give users the ability to fill out digital forms on the go with their device of choice. Apps have never been more productive!
Find out more…
RIGHTS MANAGEMENT
Our PDF SDK can generate secure PDFs with native encryption/decryption or integrate with customized DRM or IRM security systems. Our technology integrates with Microsoft RMS.
Find out more…
PDF ANNOTATIONS
Our PDF SDK provides full support for annotating and marking up content with an extensive range of functions for creating, editing or importing/exporting annotations.
Find out more…
FULL-TEXT SEARCH
Fast full-text search for any PDF document, language, or encoding type. The SQLite-based full-text search delivers near-instant results, even for repositories on any digital device.
Find out more…

INTRODUCING FOXIT PDF SDK 7.1
We now support iOS 13 Dark Mode and have added a number of UI level improvements, support to play and flatten sound annotations, functionality to manage trusted certificates for signatures and a synchronized update for Xamarin, Cordova, React Native, Kotlin and Flutter!
Foxit PDF SDK 7.1 for Windows, Mac & Linux comes with support for PDF compliance conversion to PDF versions 1.3-1.7, new performance-enhancing APIs for PDF merging, video/audio annotations, improvements to XFA form fields and much more.

FOXIT PDF SDK FOR WINDOWS IN ACTION
/** @brief Edit bookmark appearances and titles, and save these changes to a PDF file. */ func modifyBookmarkOfDoc(_ doc: FSPDFDoc, saveAsNewDocAtPath path: String) -> Bool { if path == "" { return false } let rootBMark = doc.getRootBookmark() guard let child = rootBMark?.getFirstChild() else { return false } if !(self.setPropertiesOfBookmarks(child)) { return false } doc.save(as: path, save_flags: 0) return true } class func parsePage(_ page: FSPDFPage, reparse: Bool) -> Bool { let progressive = page.startParse(0, pause: nil, is_reparse: reparse) if progressive == nil { return true } while true { let state = progressive!.resume() switch state { case .finished: return true case .toBeContinued: continue case .error: return false default: fatalError() } } } func setPropertiesOfBookmarks(_ bookmark: FSBookmark?) -> Bool { if bookmark == nil { return false } var bk: FSBookmark! bk = bookmark! while !bk.isEmpty() { let title = bk.title! bk.title = "\(String(describing: title))_renamed" as NSString bk.color = 0x0000ffff bk.style = UInt32(FSBookmarkStyle.bold.rawValue) let child = bk.getFirstChild()! if !child.isEmpty() { self.setPropertiesOfBookmarks(child) } bk = bk!.getNextSibling() } return true }
/** @brief Render a specified page to Bitmap, and save it to a PNG image. */ func renderPage(_ page: FSPDFPage, atPath path: String) -> Bool { if path == "" { return false } if !page.isParsed() { if !PlatformAPIDemo.parsePage(page, reparse: true) { return false } } //create bitmap let pageWidth: Int = Int(page.getWidth()) let pageHeight: Int = Int(page.getHeight()) let bmp = FSBitmap(width: Int32(pageWidth), height: Int32(pageHeight), format: .dibRgb32, buffer: nil, pitch: 0)! bmp.fillRect(0xffffffff, rect: nil) //init renderer let render = FSRenderer.init(bitmap: bmp, is_rgb_order: true) if render == nil { return false } //set different kinds of properties render!.setRenderContentFlags(1) render!.setTransformAnnotIcon(true) render!.setColorMode(FSRendererColorMode.normal) render!.setMappingModeColors(0xffffffff, foreground_color: 0x0000ffff) render!.setForceHalftone(true) let mat = page.getDisplayMatrix(0, top: 0, width: Int32(pageWidth), height: Int32(pageHeight), rotate: .rotation0) let progressive = render!.startRender(page, matrix: mat, pause: nil) if progressive != nil { while true { let state = progressive!.resume() if state == .error { return false } else if state != .toBeContinued { break; } } } if !self.save2PNGWithBitmap(bmp, transform: nil, Path: path as NSString) { return false } return true } func save2PNGWithBitmap(_ fsBitmap: FSBitmap, transform: CGAffineTransform?, Path path: NSString) -> Bool { if path == "" { return false } let pageWidth: Int = Int(fsBitmap.getWidth()) let pageHeight: Int = Int(fsBitmap.getHeight()) if pageWidth <= 0 || pageHeight <= 0 { return false } let provider = CGDataProvider.init(data: fsBitmap.getBuffer() as CFData) let image = CGImage(width: pageWidth, height: pageHeight, bitsPerComponent: 8, bitsPerPixel: 32, bytesPerRow: Int(fsBitmap.getPitch()), space: CGColorSpaceCreateDeviceRGB(), bitmapInfo: .byteOrder32Big, provider: provider!, decode: nil, shouldInterpolate: true, intent: .defaultIntent)! let uiImage = UIImage(cgImage: image) let fileURL = URL(fileURLWithPath: path as String) do { try UIImagePNGRepresentation(uiImage)!.write(to: fileURL) } catch { print(error) return false } return true }
LOGON is a pan-asian company operating in China, Hong Kong (HK), India, Singapore, Malaysia, Indonesia, Vietnam, Philippines and Thailand. LOGON has local dedicated trained product specialists in Hong Kong, Guangzhou, Kuala Lumpur, Mumbai and Bangalore. LOGON acts both as value added reseller and sole distributor for award winning software solutions. Customers can buy new licenses, purchase upgrades and renewals from any of our local offices. Contact us for first line support during evaluations, PoCs. We offer best practices consulting services and classroom & online training. Check our site for latest offers, special discounts, bundle deals, etc..