> For the complete documentation index, see [llms.txt](https://docs.apryse.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.apryse.com/ios/samples/run-sample.md).

# Sample project for iOS PDF library

Discover Apryse for iOS with sample projects showcasing various features like PDF viewing, annotation, form filling, and more. Run sample projects using Xcode. Explore SDK Showcase app for interactive

Apryse for iOS ships with several samples projects, each containing examples that you could use in your project. The samples are included in the download package under the `Samples` folder. You can run any of the sample projects using Xcode.

## Phone Showcase

{% embed url="<https://appetize.io/embed/9euv7mcjttdpruqkmn8tca888m?device=iphone14pro&scale=85&screenOnly=true&autoplay=false&orientation=portrait&deviceColor=black&params=%7B%22feature%22:%22Home%22%7D>" %}

## Tablet Showcase

{% embed url="<https://appetize.io/embed/9euv7mcjttdpruqkmn8tca888m?device=ipadair2&scale=57&screenOnly=true&autoplay=false&orientation=landscape&deviceColor=black&params=%7B%22feature%22:%22Home%22%7D>" %}

The SDK Showcase app is presented as a list of samples with complementary information cards allowing for descriptions and simple interactions with the Apryse SDK. Each card also includes links to associated documentation and code samples so users can quickly access features for their own use.

### Key samples:

* [Viewer ](/ios/basic-operations/open/doc-view.md): View a PDF
* [Text search ](/ios/search/text.md): Search a PDF for text
* [Annotation toolbar ](/ios/annotation/annotation-toolbar-i.md): Annotate a PDF using various tools
* [Streaming ](/ios/viewer/view-online-pdfs.md): Stream only the PDF page being viewed
* [Progressive rendering](https://sdk.apryse.com/api/ios/Classes/PTPDFViewCtrl.html#/c:objc\(cs\)PTPDFViewCtrl\(im\)SetProgressiveRendering:withInitialDelay:withInterval:): Render each PDF layer as it loads
* [Fast rendering](https://sdk.apryse.com/api/ios/Classes/PTPDFViewCtrl.html#/c:objc\(cs\)PTPDFViewCtrl\(im\)SetupThumbnails:generate_at_runtime:use_disk_cache:thumb_max_side_length:max_abs_cache_size:max_perc_cache_size:): Render an embedded PDF thumbnail as it loads
* [UI customization ](/ios/annotation/disabling-tools.md): Enable or Disable elements of the UI toolbar
* [Form filling](https://sdk.apryse.com/api/ios/Classes/PTPDFViewCtrl.html#/c:objc\(cs\)PTPDFViewCtrl\(im\)SetHighlightFields:): Fill PDF forms
* [Reading mode ](/ios/viewer/view-mode.md#reflow): Reflow a PDF to HTML for easy reading
* [Password-protected documents](https://sdk.apryse.com/api/ios/Classes/PTPDFDoc.html#/c:objc\(cs\)PTPDFDoc\(im\)InitStdSecurityHandler:): Password lock a PDF for security
* ...and more

## Complete Reader app

This sample app uses the open source [`Tools`](/ios/annotation/overview.md) library to implement a full featured PDF reader and annotation app. It includes a file browser with the ability to search and manage files, as well as a recently opened file list.

### Features:

* [Multi-tab viewing](/ios/basic-operations/open/doc-view.md)
* [Annotation creation and form filling](/ios/annotation/create.md)
* [Annotation toolbar](/ios/annotation/annotation-toolbar-i.md)
* [Thumbnail slider](/ios/viewer/view-online-pdfs.md)
* [Annotation list](/ios/annotation/annotation-list-i.md)
* [Outline list](/ios/bookmarks/outline.md)
* [User bookmarks list](/ios/annotation/disabling-tools.md)
* [Page thumbnails browser](/ios/page-manipulation/thumbnails-view-i.md)
* [Reflow](/ios/viewer/view-mode.md#reflow)
* Auto saving
* [Localization](/ios/viewer/localization.md)

## PDFViewCtrlDemo

This sample app shows the use of PDFViewCtrl, the UIView that is used to present a PDF document to the user. This project uses the Tools framework, which allows PDFViewCtrl to annotate documents, select text, follow hyperlinks and fill forms. To annotate a document, long press anywhere on the document that does not contain text.

## Miscellaneous Samples

This app showcases the functionality of the Apryse SDK and includes the samples found on the [sample code](/ios/get-started/samples.md) page. You can inspect its source code to learn how to use some of the main classes and features of the SDK, or just run the sample and view the results.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.apryse.com/ios/samples/run-sample.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
