{"id":1552,"url":"https://github.com/mobfarm/FastPdfKit","last_synced_at":"2025-08-02T04:32:20.895Z","repository":{"id":1145952,"uuid":"1028207","full_name":"mobfarm/FastPdfKit","owner":"mobfarm","description":"A Static Library to be embedded on iOS applications to display pdf documents derived from Fast PDF","archived":false,"fork":false,"pushed_at":"2019-02-03T22:48:49.000Z","size":783956,"stargazers_count":1231,"open_issues_count":67,"forks_count":324,"subscribers_count":95,"default_branch":"master","last_synced_at":"2025-05-30T13:06:33.469Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://fastpdfkit.com","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mobfarm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2010-10-27T09:28:44.000Z","updated_at":"2025-05-22T23:03:33.000Z","dependencies_parsed_at":"2022-08-16T12:15:21.025Z","dependency_job_id":null,"html_url":"https://github.com/mobfarm/FastPdfKit","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/mobfarm/FastPdfKit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mobfarm%2FFastPdfKit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mobfarm%2FFastPdfKit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mobfarm%2FFastPdfKit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mobfarm%2FFastPdfKit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mobfarm","download_url":"https://codeload.github.com/mobfarm/FastPdfKit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mobfarm%2FFastPdfKit/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268334615,"owners_count":24233793,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-02T02:00:12.353Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-01-05T20:15:49.643Z","updated_at":"2025-08-02T04:32:15.881Z","avatar_url":"https://github.com/mobfarm.png","language":"Objective-C","readme":"# FastPdfKit\n\n----\n\nThis repository contains the FastPdfKit iOS library with some sample projects.\n \nFastPdfKit is a library that let you show pdf documents in iOS applications bypassing all performances and missing features problems related to QuickLook.\n\nSide scrolling, search with highlighted results, preview and thumbnails, text extraction, overlay views, embedded multimedia, optimization for every device, single and double page are just some of countless features included in FastPdfKit.\n\nFor more information, see the [FastPdfKit website](http://fastpdfkit.com) and the [Support website](http://support.fastpdfkit.com).\n\n![Interface iPad](http://reader.fastpdfkit.com/readme/interface1s.png)\n![Search iPad](http://reader.fastpdfkit.com/readme/search1s.png)\n\n![Interface iPhone](http://reader.fastpdfkit.com/readme/2pages2s.png)\n![Search iPhone](http://reader.fastpdfkit.com/readme/search4s.png)\n\n## Features\n\n### Reading\n\n-   Side page sliding\n-   [Single\n    page](http://doc.fastpdfkit.com//Classes/MFDocumentViewController.html#//api/name/setMode:)\n-   [Double\n    page](http://doc.fastpdfkit.com//Classes/MFDocumentViewController.html#//api/name/setMode:)\n-   Landscape/Portrait with\n    [automode](http://doc.fastpdfkit.com//Classes/MFDocumentViewController.html#//api/name/setAutomodeOnRotation:)\n-   Extreme speed\n-   Native pdf thumbnails extraction\n-   [High definition\n    thumbnails](http://doc.fastpdfkit.com//Classes/MFDocumentManager.html#//api/name/createImageForThumbnailOfPageNumber:ofSize:andScale:)\n    generation\n-   [Page\n    preload](http://doc.fastpdfkit.com//Classes/MFDocumentViewController.html#//api/name/legacyModeEnabled)\n-   [Double\n    tap](http://doc.fastpdfkit.com//Classes/MFDocumentViewController.html#//api/name/zoomInOnDoubleTapEnabled)\n    and pinch to zoom\n-   [Tap on the\n    side](http://doc.fastpdfkit.com//Classes/MFDocumentViewController.html#//api/name/pageFlipOnEdgeTouchEnabled)\n    to go forward or backward\n-   [Zoom Lock with\n    animation](http://doc.fastpdfkit.com//Classes/MFDocumentViewController.html#//api/name/setAutozoomOnPageChange:)\n-   [Control zoom\n    level](http://doc.fastpdfkit.com//Classes/MFDocumentViewController.html#//api/name/zoomScale)\n    for each page\n-   [Quick page change bar with\n    thumbnails](https://github.com/mobfarm/FastPdfKit/tree/master/Classes/Reader/ThumbnailSlider)\n    and page numbers\n-   [Bookmarks](https://github.com/mobfarm/FastPdfKit/blob/devel/Classes/Reader/Bookmarks/BookmarkViewController.h)\n-   [Outline - Table Of\n    Contents](http://doc.fastpdfkit.com//Classes/MFDocumentManager.html#//api/name/outline)\n    [personalizzabili](http://doc.fastpdfkit.com//Classes/MFPDFOutlineEntry.html)\n-   [Left to Right and Right to\n    left](http://doc.fastpdfkit.com//Classes/MFDocumentViewController.html#//api/name/setDirection:)\n    reading\n-   [Switch left to right\n    pages](http://doc.fastpdfkit.com//Classes/MFDocumentViewController.html#//api/name/setLead:)\n-   [Shadown on pages\n    customizable](http://doc.fastpdfkit.com//Classes/MFDocumentViewController.html#//api/name/showShadow)\n-   [Padding\n    settable](http://doc.fastpdfkit.com//Classes/MFDocumentViewController.html#//api/name/showShadow)\n-   [Side areas to go forward and backward with custom\n    dimension](http://doc.fastpdfkit.com//Classes/MFDocumentViewController.html#//api/name/setEdgeFlipWidth:)\n-   [Directional\n    lock](http://doc.fastpdfkit.com//Classes/MFDocumentViewController.html#//api/name/directionalLockEnabled)\n-   [Custom pdf\n    background](http://support.fastpdfkit.com/kb/faq-and-tips/can-i-change-the-mfdocumentviewcontrollers-background)\n-   [Precise\n    zoom](http://doc.fastpdfkit.com//Protocols/MFDocumentViewControllerDelegate.html)\n    on annotations and page parts\n-   [Auto\n    mode](http://doc.fastpdfkit.com//Classes/MFDocumentViewController.html#//api/name/setAutomodeOnRotation:):\n    single page in portrait and double page in landscape\n-   [Goto page and zoom on\n    rect](http://doc.fastpdfkit.com//Classes/MFDocumentViewController.html#//api/name/setPage:withZoomOfLevel:onRect:)\n\n### Multimedia and Annotations\n\n-   [Custom annotation\n    support](http://support.fastpdfkit.com/kb/faq-and-tips/can-i-use-custom-annotations-to-embed-something)\n-   [Multimedia documents overlayed over the\n    pages](http://support.fastpdfkit.com/kb/faq-and-tips/multimedia-protocols-and-url)\n-   YouTube videos\n-   Local videos\n-   Streaming videos\n-   Offline sound reproduction\n-   Music streming\n-   Web pages and html5 in overlay\n-   Custo modal multimedia views\n-   No limits\n-   [You can customize\n    protocols](http://support.fastpdfkit.com/kb/faq-and-tips/can-i-use-custom-annotations-to-embed-something)\n-   [Touchable overlay\n    views](http://support.fastpdfkit.com/kb/faq-and-tips/drawables-and-touchables)\n-   [Draw over pdf\n    layers](http://support.fastpdfkit.com/kb/faq-and-tips/drawables-and-touchables)\n    in page coordinates\n-   [Overlayed\n    UIViews](http://doc.fastpdfkit.com//Classes/MFDocumentViewController.html#//api/name/addOverlayViewDataSource:)\n-   [Embedded local audio\n    Player](http://doc.fastpdfkit.com//Protocols/MFAudioProvider.html)with\n    [pause/play and\n    volume](http://doc.fastpdfkit.com//Protocols/MFAudioPlayerViewProtocol.html)\n-   [Embedded remote audio\n    player](http://doc.fastpdfkit.com//Protocols/MFAudioProvider.html)\n-   Embedded movie player with fullscreen option\n-   Embedded fullscreen browser\n-   [Overlay on Tiled Layer on\n    demand](http://doc.fastpdfkit.com//Classes/MFDocumentViewController.html#//api/name/useTiledOverlayView)\n-   [Tap](http://doc.fastpdfkit.com//Protocols/MFDocumentViewControllerDelegate.html#//api/name/documentViewController:didReceiveTapOnAnnotationRect:withUri:onPage:)\n    and [double\n    tap](http://doc.fastpdfkit.com//Protocols/MFDocumentViewControllerDelegate.html#//api/name/documentViewController:didReceiveDoubleTapOnAnnotationRect:withUri:onPage:)\n    on annotations\n-   [Video](http://doc.fastpdfkit.com//Protocols/MFDocumentViewControllerDelegate.html#//api/name/documentViewController:doesHaveToAutoplayVideo:)\n    and\n    [sound](http://doc.fastpdfkit.com//Protocols/MFDocumentViewControllerDelegate.html#//api/name/documentViewController:doesHaveToAutoplayAudio:)\n    with autoplay\n-   [Coordinates\n    conversions](http://doc.fastpdfkit.com//Classes/MFDocumentViewController.html#//api/name/setPage:withZoomOfLevel:onRect:)\n\n### Kiosk\n\n-   [Sample interactive\n    kiosk](https://github.com/mobfarm/FastPdfKit/tree/master/Classes/KioskApp)\n-   [xml document to get new\n    issues](https://github.com/mobfarm/FastPdfKit/blob/devel/Resources/kiosk_list.xml)\n-   [Background\n    download](http://developer.apple.com/library/iOS/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html)\n-   [Ready in 3\n    minutes](http://www.youtube.com/mobfarm#p/u/1/Oj6_8zRfI4k)\n-   Download pdf document or zipped archives (.fpk)\n-   Cover displayed\n-   Fully customizable\n\n### Text\n\n-   [Text search and result\n    highlight](http://doc.fastpdfkit.com//Classes/MFDocumentManager.html#//api/name/searchResultOnPage:forSearchTerms:withProfile:)\n-   [List search\n    results](http://doc.fastpdfkit.com//Classes/MFTextItem.html)\n-   [Look through results and go to the following\n    one](https://github.com/mobfarm/FastPdfKit/tree/master/Classes/Reader/TextSearch)\n-   [Text\n    extraction](http://doc.fastpdfkit.com//Classes/MFDocumentManager.html#//api/name/wholeTextForPage:withProfile:)\n-   [Link between\n    pages](http://support.fastpdfkit.com/kb/faq-and-tips/are-internal-url-supported)\n-   [Support for link with\n    urls](http://doc.fastpdfkit.com//Protocols/MFDocumentViewControllerDelegate.html#//api/name/documentViewController:didReceiveURIRequest:)\n-   [Support for link to external documents]()\n-   Search with [word\n    selection](http://doc.fastpdfkit.com//Classes/MFTextItem.html) and\n    results skimming\n-   [Zoom on\n    results](http://support.fastpdfkit.com/kb/faq-and-tips/change-zoom-level-for-search-results)\n-   [Multibyte charachters\n    supported](http://en.wikipedia.org/wiki/Variable-width_encoding)\n-   [Customizable\n    search](https://github.com/mobfarm/FastPdfKit/tree/master/Classes/Reader/TextSearch)\n    and\n    [profiling](http://doc.fastpdfkit.com//Classes/MFDocumentManager.html#//api/name/defaultProfile)\n\n### Miscellanous\n\n-   True PDF\n-   [Free version](http://fastpdfkit.com/plans) for low budget projects with complete\n    features\n-   Fully multitouch\n-   Large document support\n-   [Retina\n    Display](http://www.apple.com/iphone/features/retina-display.html)\n    optimization\n-   [Customizable\n    interface](https://github.com/mobfarm/FastPdfKit/tree/master/Classes/Reader)\n-   Support for [encrypted\n    documents](http://doc.fastpdfkit.com//Classes/MFDocumentManager.html#//api/name/tryUnlockWithPassword:)\n-   Works on every iOS version since 3.2\n-   Universal Binary\n-   [Destination named\n    urls](http://doc.fastpdfkit.com//Classes/MFDocumentManager.html#//api/name/pageNumberForDestinationNamed:)\n-   [Get cropbox and\n    rotation](http://doc.fastpdfkit.com//Classes/MFDocumentManager.html#//api/name/getCropbox:andRotation:forPageNumber:)\n    for each page\n-   [Compatibility mode for older\n    devices](http://doc.fastpdfkit.com//Classes/MFDocumentViewController.html#//api/name/legacyModeEnabled)\n-   [Three sample projects with highly commented\n    code](https://github.com/mobfarm/FastPdfKit)\n-   [Ready to use interface for immediate deploy with framework and\n    library](http://www.youtube.com/mobfarm#p/u/1/Oj6_8zRfI4k)\n-   [Complete\n    documentation](http://doc.fastpdfkit.com//Protocols/MFDocumentViewControllerDelegate.html)\n-   [View pdf in\n    subview](http://support.fastpdfkit.com/kb/faq-and-tips/pdf-as-subview)\n    or in standard [views\n    stack](http://www.youtube.com/mobfarm#p/u/1/Oj6_8zRfI4k)\n-   Every feature optimized for [iPhone](http://www.apple.com/iphone/)\n-   Every feature optimized for [iPad](http://www.apple.com/ipad/)\n-   Library and examples source code available on\n    [github](https://github.com/mobfarm/fastpdfkit)\n-   Works with [Xcode](http://itunes.apple.com/app/id448457090?mt=12)\n    3.2.6 and 4.x\n-   Open PDF documents[from file](http://doc.fastpdfkit.com//Classes/MFDocumentManager.html#//api/name/initWithFileUrl:)\n    and\n    from[NSDataProvider](http://doc.fastpdfkit.com//Classes/MFDocumentManager.html#//api/name/initWithDataProvider:)\n-   Smart\n    [caching](http://doc.fastpdfkit.com//Classes/MFDocumentManager.html#//api/name/emptyCache)\n    pdf\n-   Open [multiple pdf documents at\n    once](http://doc.fastpdfkit.com//Classes/MFDocumentManager.html)\n-   Complete [delegate\n    feedbacks](http://doc.fastpdfkit.com//Protocols/MFDocumentViewControllerDelegate.html)\n-   Support for\n    [UIGestureRecogniser](http://developer.apple.com/library/ios/#documentation/uikit/reference/UIGestureRecognizer_Class/Reference/Reference.html)\n-   Multi-Threading is used to achieve maximum speed\n-   [Automatic and optimized caching\n    system](http://doc.fastpdfkit.com//Classes/MFDocumentManager.html#//api/name/emptyCache)\n\n### Opportunities\n\n-   Become a [Reseller](http://fastpdfkit.com/reseller)\n-   How [fits your needs](http://fastpdfkit.com/target)\n-   Free for selected [no-profit organizations](http://fastpdfkit.com/target#4)\n-   [100+ applications](http://fastpdfkit.com/partners) already developed in [20 countries](http://fastpdfkit.com/reseller)\n-   Tens of [Partners](http://fastpdfkit.com/partners)\n\n## Targets\n\nIn the Xcode project you'll find some targets\n\n* **FastPdfKit**: framework with everything needed to add just the reader to your app;\n* **FPKKioskApp**: a Kiosk project with document download and ready to use reader class;\n* **FPKSimpleApp**: a basic project with custom reader;\n* **FPKReaderLib**: a static library with the `ReaderViewController`and its dependencies;\n* **FPKKioskLib**: a static library with the kiosk classes;\n* **FPKioskBundle**: bundle of resources for needed for the kiosk;\n* **FPReaderBundle**: bundle of resources for needed by the `ReaderViewController`.\n\nIn **FastPdfKit.framework** and **FPKReaderLib** the `libFastPdfKit.a`that contains the compiled core rendering engine.\n\nAll the other classes are public and can be customized or subclassed at will.\n\nEvery target can be compiled and recompiled for your needs.\n\n## Usage guide\n\nThis guide is also available as [screencast number 4](http://fastpdfkit.com/tutorials).\n\n* Clone the repository from [github](https://github.com/mobfarm/fastpdfkit) or just grab the compressed archive;\n* Open your existing project in Xcode;\n* Open the downloaded folder in the Finder and locate **FastPdfKit.embeddedframework**;\n* Drag the framework on the Xcode workspace;\n* Inherit the project options: select the Project an from info tab and configurations line choose **FastPdfKitFramework** from the drop down list;\n* Open the framework's Resource folder and locate the **Snippets.txt** document;\n* Copy in you controller interface these lines:\n\n\t\t#import \u003cFastPdfKit/FastPdfKit.h\u003e\n\t\t@class MFDocumentManager;\n\t\t-(IBAction)actionOpenPlainDocument:(id)sender;\n\n* Copy in your controller implementation these other lines:\n\n\t\t-(IBAction)actionOpenPlainDocument:(id)sender{\n\t\t    /** Set document name */\n\t\t    NSString *documentName = @\"Manual\";\n\n\t\t    /** Get temporary directory to save thumbnails */\n\t\t\tNSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);\n    \n\t\t    /** Set thumbnails path */\n\t\t    NSString *thumbnailsPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:[NSString stringWithFormat:@\"%@\",documentName]];\n    \n\t\t    /** Get document from the App Bundle */\n\t\t    NSURL *documentUrl = [NSURL fileURLWithPath:[[NSBundle mainBundle]pathForResource:documentName ofType:@\"pdf\"]];\n    \n\t\t    /** Instancing the documentManager */\n\t\t\tMFDocumentManager *documentManager = [[MFDocumentManager alloc]initWithFileUrl:documentUrl];\n\n\t\t\t/** Instancing the readerViewController */\n\t\t    ReaderViewController *pdfViewController = [[ReaderViewController alloc]initWithDocumentManager:documentManager];\n    \n\t\t    /** Set resources folder on the manager */\n\t\t    documentManager.resourceFolder = thumbnailsPath;\n\n\t\t    /** Set document id for thumbnail generation */\n\t\t    pdfViewController.documentId = documentName;\n    \n\t\t\t/** Present the pdf on screen in a modal view */\n\t\t    [self presentModalViewController:pdfViewController animated:YES]; \n    \n\t\t    /** Release the pdf controller*/\n\t\t    [pdfViewController release];\n\t\t}\n\n\n* Choose a pdf from the finder and drop it in the project;\n* Change the `documentName` to the corresponding name;\n* Call the `actionOpenPlainDocument` method to open the document;\n* Enjoy.\n\n## Changelog\n\n# Update May 5th 2014\n* Renamed a few c functions to avoid conflicts.\n* Minor fixes.\n\n# Update April 28th, 2014\n* More stability fixes.\n\n# Update April 24th, 2014\n* Stability fixes.\n\n# Update August 30th, 2013\n* Added exact match option to search.\n* Added exact match and ignore case switch to SearchDisplayViewController.\n* Updated text extraction algorithm.\n\n# Update April 19th, 2013\n* Exposed pdf rendering settings.\n* Tweaks and bugfixes.\n\n# Update Novembre 27th, 2012\n* Added an xmlURL property to the Kiosk MenuViewController to customize the list \nwithout subclassing.\n* Security framework added in xcconfig.\n\n# Update November 26th, 2012\n* Improved handling of space glyph in the text\n* Bunch of small tweaks and fixes\n\n# Update October 2nd, 2012\n* Fixed a crash while reading certain documents annotations\n* Finally fixed layer shadow (again)\n* Fixed bad overflow mode page position with some documents\n* Sligthy changed starting page behavior, now the slider should update properly\n* Added a visited page system similar to web browser one, check the MFDocumentViewController.\n* You can now set the thumbnail and image cache folders\n\n# Update September 4th, 2012\n* Fixed missing iPhone toolbar images\n* Thumbnails are now JPEG\n* Added cache encryption, check MFDocumentViewController's cacheEncryptionKey for\ndetails. Security.framework is now REQUIRED.\n* Shadow offset now takes padding into account\n* Uninitialized rect in background op fixed\n\n# Update Augusth 30th, 2012\n* Solved rootViewController nil property for window in the app delegate (prevent \ncorrect behavior on iOS6)\n\n# Update Augusth 28th, 2012\n* Page shadows are back\n* Added cocoaAnnotationsForPage: method to MFDocumentManager to get more Cocoa-friendly\nannotations data from the pdf\n\n### Update 4.0 RC1 (Augusth 1st, 2012)\n* Fixed a bunch crash \n* Fixed a few memory leaks (one quite large)\n* If you dont see Chinese, Japanese or Korean text extracted, please download, unzip and add the CMaps for the language. You can get them here http://partners.adobe.com/public/developer/font/index.html\n* There are a few more options for the embedded thumbnail scroll view and page slider, and you can also choose the label for the individual page\n\n### Update 3.4.2 (June 28, 2012)\n* Fix for password protected documents not working anymore\n\n### Update 3.4.1 (June 2, 2012)\n\n* Removed some warnings;\n* Updated Extensions;\n* Fixed episodical crashes.\n\n### Update 3.4 (May 17, 2012)\n\n* Added a new pdf engine. It is enabled by default. You can switch back to the old version by untick the appropriate option in the *Settings* (this will be available until the final release). Feedback on performances is welcomed.\n\nThe new version will attempt to cache pdf page images. If no `documentId` is set in the `MFDocumentViewController`, the default folders are in *Library/Caches/shared*, otherwise the cache is located in *Library/Caches/\u003cdocumentId\u003e*.\n\nDefault settings should provide good performance on all devices, from the first iPad to the new one.\nThumbnails generation has been moved inside the lib. Customization options for the thumbnail scroll view will be available in the final version.\n\n* Fixed occasional crash with dual core devices on startup\n\n### Update 3.3.3 (March 23, 2012)\n* New rendering approach just for the new iPad (and its weak A5X CPU)\n* Page thumbnails created for Retina Display on the new iPad\n* Core Library built with Xcode 4.2 and iOS 5.0 to avoid poor performances caused by a (reintroduced) CATiledLayer.\n\n### Update 3.3.2 (March 14, 2012)\n* Alternate uri definition for modal annotations\n\n### Update 3.3.1 (March 13, 2012)\n* Added a supportedOrientation attribute to allow change of supported orientation at runtime\n* Added alternate schemes (prefixes) for annotations' uri\n\n### Update 3.3 (March 8, 2012)\n* Improved support for the new retina iPad\n* Fixed (contained) a crash occurring when the pdf provokes a transform stack buffer underflow\n\n### Update 3.2.4 (January 30, 2012)\n* Changed font cache again. This should avoid a few cases of creshes due to an NULL font name;\n\n### Update 3.2.3 (January 24th, Tuesday, 2012)\n* Removed a few debugging logs\n* Added support to remote link in the ToC/Outline\n* Internal document links work again\n\n### Update 3.2.2 (January 13th, Friday, 2012)\n* Fixed tiled overlay view flag being ignored\n* Removed unneeded operator in the pdf scanner\n* Changed pdf detail view timings\n\n\n### Update 3.2.1 (January 5th, 2012)\n* Less aggressive tiled view rendering\n* Fixed a bug in the glyph name matching function\n* Better caching of annotations\n* Removed a few more synchronization point between main thread and worker th\n\n### Update 3.2 (January 4th, 2012)\n* New Extended target that supports Extensions;\n* Out of the box supported Extensions:\n    * [**FPKPayPal**](http://doc.fastpdfkit.com/Extensions/Classes/FPKPayPal.html) to create **catalogs** with **items** that can be **purchased** directly **from the app**;\n    * [**FPKYouTube**](http://doc.fastpdfkit.com/Extensions/Classes/FPKYouTube.html) to place **YouTube** video on the page.\n    * [**FPKGallerySlide**](http://doc.fastpdfkit.com/Extensions/Classes/FPKGallerySlide.html) interactive **image gallery** with manual or automatic advancement;\n    * [**FPKMap**](http://doc.fastpdfkit.com/Extensions/Classes/FPKMap.html) to render an interactive google map;\n    * [**FPKGalleryFade**](http://doc.fastpdfkit.com/Extensions/Classes/FPKGalleryFade.html) image gallery useful for the table of contents;\n    * [**FPKGalleryTap**](http://doc.fastpdfkit.com/Extensions/Classes/FPKGalleryTap.html) to create a multi interactive image gallery;\n    * [**FPKMessage**](http://doc.fastpdfkit.com/Extensions/Classes/FPKMessage.html) to show details or alerts;\n    * [**FPKWebPopup**](http://doc.fastpdfkit.com/Extensions/Classes/FPKWebPopup.html) to open a **web page** in a popup view;\n* Updated documentation to version 3.2\n* Included Extensions documentation\n\nFor more informations reagarding Extensions [git.io/fpke](git.io/fpke).\n\n\n### Update 3.1.3 (December 30th, 2011)\n* Reworked page metrics synchronization to reduce lag on slow pdfs (more to come).\n* Paged scroll view attribute is accessible again in the MFDocumentViewController\n    public interface.\n* FPK annotations parsing can be disabled by setting MFDocumentViewController's\n    fpkAnnotationsEnabled to NO. Use this if you experience frequent freezes while\n    skimming the pages.\n* You can add multiple MFDocumentViewControllerDelegates by calling MFDocumentViewController's\n    addDocumentDelegate: (and removeDocumentDelegate:). Check the interface for \n    details\n\n### Update 3.1.2 (December 16th, 2011)\n* Non-unlocked password protected douments should no more crash the application.\n* Cordinates for taps on the right page are now correct.\n* Fixed a bug involving multibyte fonts compromising search, introduced with\n    unicode normalization.\n* Few memory leaks in ReaderViewController.\n* Overlay views are enbaled on any license again.\n* Newstand is disabled as default due to a memory leak in the download procedure.\n* Variable number of preview image. Check MFDocumentViewController header.\n\n### Update 3.1.1 (November 30th, 2011)\n* View size of the reader is now appropriate for the screen configuration (status bar only).\n* Added missing dismiss button in ReaderViewController on iPhone.\n\n### Update 3.1 (November 30th, 2011)\n* Reverted to optional tiled overlay view (used for search resulth highlight). This\n    seems to have fixed most 'crashes' (app bein killed actually) while zooming\n    onto a page.\n* A few memory leaks inside the unicode normalization data structures have been \n    fixed.\n* Different handling of document view controller dismissal. It is no more necessary\n    to call -cleanup on the MFDocumentViewController before relasing it. Actual\n    method implementation does nothing.\n* Quite a few small memory leaks fixed.\n* Faster page redrawn on page transition (goToPage, setPageMode, etc.).\n* MFHomeListPdfs is now BookItemView, be careful if you used to subclass the former\n    in your project.\n* Fixed a few errors in Win ANSI and Mac OS Roman encoding. For example, the Unicode\n    character 'LEFT SINGLE QUOTATION MARK' U+2018 will no more be replaced by\n    other characters.\n* Changed font cache management. If you still get problem with [] (notedef) caracter\n    in the text extracted, the cache might be the issue. Set MFDocumentManager's\n    fontCacheEnabled property to NO.\n* Unicode sequences will now be handled as such and the lib will no try (and fail)\n    to compose them to a single unicode codepoint (it is related to search and\n    extraction of text).\n* Lib will now attemp to compose multibyte characted to a single codepoint for\n    search and extraction.\n* Added support to 14 (-2) Adobe Standard Fonts. If you get page empty, blank\n    pages at text extraction check the simulator log and if the font marked as\n    uncompleted is named like one of the files in the FPKCore/standard14fonts\n    folder add that font to your application bundle.\n* Font cache re-enabled. This time seems to work as expected.\n* Default zoom not being set fixed (again).\n* Search and extraction will not crash when certain characters are found. Instead\n    a .notdef (usually it looks like an empty rect) value with be appended to the\n    text.\n* Enhanced search and extraction with Unicode composition and decomposition.\n* Added search match modes:\n\t* Return an array of `MFTextItem` representing the matches of teh search term on the page passed as arguments. It is a good choice running this method in a secondary thread.\n \t* `FPKSearchMode` has the following values:\n \t* `FPKSearchModeHard` - if you search for 'bèzier' it will match 'bèzier' only but not\n 'bezier'. If you search for 'bezier' it will match 'bezier' only.\n \t* `FPKSearchModeSoft` - if you search for term 'bèzier' it will match both 'bezier' and 'bèzier'. Same if you search for 'bezier'.\n \t* `FPKSearchModeSmart` - if you search for term 'bezier', it will also match 'bèzier', but if you search for 'bèzier' it will match 'bèzier' only.\n\t* Ignore case is self explanatory.\n\t* Default parameters are `FPKSearchModeSmart` and `ignoreCase` to `YES`.\n\n\n### Update 3.0 (November 4th, 2011)\n* Internal changes of the view hierarchy to provide more flexibility and overlay transitions.\n* Revamped `ReaderViewController` user interface.\n* Better thumbnail scroll view and generation.\n* Added support to video overlay control parameters in the uri.\n* Search now works for terms of unitary length.\n* Added a method to retrieve annotations from the document and provide them as overlays.\n* Slightly changes to `MFDocumentViewControllerDelegate` callbacks.\n* New activation method with key *FPKLicenseKey* from *Info.plist*: no need to pull to get the activated version.\n\n### Update 2.1.3 (September 27th, 2011)\n\nDisabled the 2.1.1 font cache due to an implementation oversight. Will be re-introduced as soon as it will behave as expected.\n\n### Update 2.1.2 (September 21th, 2011)\n* Cleaned up text search and extraction a little bit. More fixes incoming.\n\n### Update 2.1.1 (September 15th, 2011)\n* Added a font cache system for text extraction and search, which should give sensible improvement in search speed especially on documents with a large amount of different fonts.\n\n### Update 2.1.0 (September 14th, 2011)\n* Added Overflow page mode to previous Single and Double. Basically, the pdf page will now fill the screen along its width, overflowing under the bottom of the screen if necessary.\n* Added autoMode property. It will tell the MFDocumentViewController to what mode switch when in landscape if automodeOnRotation is YES. Default is MFAutoModeDouble, other option are MFAutoModeSingle and MFAutoModeOverflow.\n\n### Update 2.0.3 (August 10th, 2011)\n* Fixed a bug in the transformation returned on double page mode for page with an angle not equal to 0.\n* Added guard to iOS 4.x only methods.\n\n### Update 2.0.2 (August 09th, 2011)\n* Added support to link annotation with Remote Go-To actions.\n* Updated manual with latest methods.\n* Added methods to convert points and rect to and from different coordinate systems. Take a look at the MFDocumentViewController for details.\n* Documented the method to get the cropbox and rotation angle for each document page.\n* Finally fixed the bad behavior of the detail (tiled) view on retina device.\n* Fixed a bug involving rendering of the preview pages at low res on retina display introduced a few updates ago.\n* The -didGoToPage callback is now called once when a page is changed on user scroll input.\n\n### Update 2.0.1 (July 21th, 2011)\n* Bleeding of the pdf cover images fixed.\n* The embedded UIWebView is now embedded a bit better.\n\n### Update 2.0.0-devel (July 12th, 2011)\n* Multimedia support\n* Reorganized project\n* Many other improvements\n\nIf you have any other question please post it in the [Support Site](http://support.fastpdfkit.com)\n\n","funding_links":[],"categories":["Media","Objective-C","Objective-C  Stars 1000以内排名整理","etc"],"sub_categories":["PDF","Other free courses"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmobfarm%2FFastPdfKit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmobfarm%2FFastPdfKit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmobfarm%2FFastPdfKit/lists"}