iPDFdev PDF development for iPhone and iPad

IFXPDFFactory 0.1.0 Alpha version now available

November 15th, 2013

First version of IFXPDFFactory for iOS is now available. It's an alpha version which means it has bugs and only the basic features are implemented but it lets you feel the API and test the concepts shown in the articles published so far.

There are 14 samples included in the samples browser application to show the features implemented so far. There is no Apple style documentation yet, but it will come.

Feel free to download the framework and take it for a test drive. Any questions you might have can be posted here as comments or sent by email to me.

IFXPDFFactory – part 9 – PDF optional content / layers

September 04th, 2013

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.

IFXPDFFactory – part 8 – PDF fonts and text

July 30th, 2013

Support for the base 14 PDF fonts has been implemented. Also the text drawing methods have been implemented.

The base class for all fonts is IFXPDFBaseFont. The standard 14 PDF fonts are implemented through the IFXPDFFont class, which inherits from IFXPDFBaseFont. The supported fonts are: Helvetica, Helvetica Bold, Helvetica Italic, Helvetica Bold-Italic, Courier, Courier Bold, Courier Italic, Courier Bold-Italic, Times Roman, Times Roman Bold, Times Roman Italic, Times Roman Bold-Italic, ZapfDingbats and Symbol.

IFXPDFFactory – part 7 – PDF images

June 28th, 2013

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.

PDF page imposition using CoreGraphics on iOS

June 11th, 2013

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.

PDF Frameworks and Tools for iOS and Mac OS X

March 13th, 2013

Working with PDF files using the native APIs provided by iOS and Mac OSX can be a daunting task so I decided to find projects and products that will make your life easier. The list is open for updates, feel free to leave a comment if you know a PDF related project that is not on the list.

Tagged as: , Continue reading

IFXPDFFactory – part 6 – Vector graphics

March 12th, 2013

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.

Lets see how they work.

IFXPDFFactory – part 5 – Pens and brushes

January 10th, 2013

In the previous post I showed the color support in IFXPDFFactory. How are these colors actually used? Pens and brushes enter the scene here.

IFXPDFFactory – part 4 – Colors and colorspaces

December 20th, 2012

I finished implementing support for PDF colors and colorspaces. The following colors are supported: RGB, CMYK, Gray, CalRGB, CalGray, Indexed, Icc, Lab and Separation.

IFXPDFFactory – part 3 – PDF functions

September 03rd, 2012

I have finished implementing support for PDF functions. Usually they are a niche feature in PDF libraries and you might wonder why did I choose to implement them in such an early stage of the development. The answer is they are heavily used for defining separation colorspaces (does Pantone colors ring a bell?), PDF smooth shadings (gradients) and for other features.

Functions in PDF represent static, self-contained numerical transformations. In general, a function can take any number (m) of input values and produce any number (n) of output values. In PDF functions, all the input values and all the output values are numbers, and functions have no side effects.