PDF optional content (also known as PDF layers) refers to sections of content in a PDF document that can be selectively viewed, printed or hidden by document authors or consumers. This feature is now implemented in IFXPDFFactory framework.

Support for drawing images on PDF pages has been implemented. An image drawn on a PDF page is represented by the IFXPDFImage class. At this moment a PDF image can be created only from a CGImage object, later I'll add support for creating images directly from image files or memory.

A recent question on StackOverflow asked about how to create a single large PDF page from multiple PDF pages. This process is known as page imposition, it lets you combine multiple PDF pages onto larger sheets to create books, booklets or other special arrangements.

My answer to that question handled only the situation when all the source pages had the same size and rotation. The code here is more complex and it handles any combination of page sizes and rotation.

After a long break and finishing the implementation of several internal details that will support the future public APIs, the library is ready to create content. For the beginning I added support for vector graphics: lines, curves, etc.

There are situations when we need to know if a PDF page contains, images, where on the page are the images located, what is the size on the page of a displayed image or other information about images in a PDF page.
Some of this information is available directly in the PDF file, other information needs to be computed.

iOS provides good support for displaying PDF files, but it lacks any support for the interactive features in the PDF files, such as annotations, links, form fields. In this article I'll show how to implement navigation in a PDF document using the links defined on document's pages. The project attached to this article is based on Apple's ZoomingPDFViewer sample that has been updated to support links navigation.

A common requirement when working with PDF files is to convert them to images. Because the iOS includes native PDF support, converting a PDF page to image seems easy. A graphic context is created for the image, the PDF page is rendered on image's graphic context and then the image is saved. Yet there is a catch when rendering the PDF page on the image's graphic context.

Now lets see how we put this idea into practice and convert a PDF page to image at a specific resolution.