FastPdfKit Reader and Multimedia documents

Gallery1

FastPdfKit Reader Multimedia:

FastPdfKit Reader supports multimedia annotations like FastPdfKit.

We've added some annotation implementations so you can create astonishing multimedia pdf documents within minutes and present them to your clients or use them inside your company. Obviously you can even distribute them as feed for FastPdfKit Reader.

The main goal for this document is to let you familiarize with the opportunities of FastPdfKit and its multimedia opportunities.

FastPdfKit let you define your custom multimedia overlay to create astonishing publications.

Take a look at the Gliphit document (the first one in the kiosk) to see these annotations in action.

Why FastPdfKit?

Adobe with its Digital Publishing Suite, Woodwing and others have developed some tools and platforms create multimedia publications for tablets. Their solutions aren't cheap and don't let you create your custom interface, functions and interaction procedures. Also the output is a custom closed and private document that can be read only with their readers.

FastPdfKit is different as it reads standard pdf documents. So you can just take your existing documents and read them on any iOS device. But now you have the opportunity to create the exactly same experience of an iPad multimedia publication created with InDesign and the Digital Publishing Suite or the Woodwing plugin. FastPdfKit now has the ability to add a multimedia overlay over the pdf pages, giving you the feel of a professional document full of contents plus the text interaction, search, zoom, universal deployment (iPad, iPhone and iPod touch), small file size, support for every device orientation and no need to adapt your existing publications.

Framework to create your iOS app

FastPdfKit is a Framework that let you support pdf documents and enriched publications in your iOS application. It has been designed to be included in other applications so you can choose your distribution model, the price, the server interaction and so it gives back the power to you and your company.

FastPdfKit has two parts: the core that is shipped as compiled library and the interface that is fully open and customizable.

With the 3.0 release we've redesigned from the ground the core engine to support custom overlays. Everything is designed to let you think and implement custom views and way to interact with the document. The Gliphit document contains some annotations that has been created by our team as example, but you can define your own custom uri and create some astonishing publications.

Annotations

The pdf format includes the option to add annotations over the pages. FastPdfKit parses some of these annotations as multimedia contents and adds overlays over the pdf page.

Contents dimensions and positions are determined automatically from the annotation rectangle.
The content is determined parsing the uri embedded in the annotation.
Adding different uris you can achieve many completely different results or just set granular options.

Uri format

The uri are the web tipical ones, with a prefix, a resource path and some paramenters.

In an address like http://www.google.com?search=fastpdfkit&time=today you can identify the prefix http, the path just after :// that is the separator www.google.com and some parameters with the ? that divide them from the path. The first parameter is search=fastpdfkit and the second divided by & is time=today. In the parameters search is the key and fastpdfkit the value.

Every uri passed to FastPdfKit Reader must contain the same structure.

  • The prefix is always necessary;
  • The path could not be present;
  • Before the parameters there must be the ?;
  • Between parameters the & is compulsory.

Remote and local content

FastPdfKit supports both remote and local multimedia contents.

For remote contents you must have the correct url address and point at it.

For local content you have a simple way to package your pdf document and the relative additions.

Just create a single zip compressed archive with all the files at the same level and change its extension to .fpk. After that you can simply add it to the rss feed as you do with a standard pdf document. FastPdfKit automatically extract the archive and find the pdf document inside it.

To point at a local file that is inside the compressed archive from an annotation, you just need to specify the file name with extension.

You have also the ability to choose other ways, take a look at the documentation for particular customizations.

Global parameters

You can use them in every annotation.

Number of pixel of padding between the annotation dimension and the inner rendered content. For annotations created with Adobe InDesign a good value is 2.

padding=2

Image on a page

Image, dimensions taken from the annotation rectangle.

image://1.png

Optional parameters

  • Image identifier useful to change the content with another annotation of action type.

    id=[INT]

Gallery1

Action to change the content of another annotation

Change image, with tap on another button

action://image

Parameters

  • Target image identifier

    target_id=[INT]

  • Image that must be replaced with the destination one.

    src=[IMAGE_PATH]

Optional parameters

  • Should perform the transition with an animation? Default YES.

    animate=[YES/NO]

  • Animation duration in seconds

    time=[FLOAT]

  • Image placed over the annotation that acts as button

    self=[IMAGE_PATH]

  • Should this annotation be treated as selected? Default NO

    selected=[YES/NO]

  • Color of the selected border, values in percentage RGB

    color=[RED,GREEN,BLUE]

Sample

action://image?target_id=1&src=1.png&animate=YES&time=1.0&selected=YES&color=0.115,0.654,0.245

Gallery1

Gallery of images

Gallery of images with fade and loop

images://

Parameters

  • Image list separated by comma.

    images=[IMAGE_1,IMAGE_2,IMAGE_3]

Optional parameters

  • Time of visualization of each image in seconds. Default 1.0.

    time=[FLOAT]

Sample

images://?time=2.0&images=img1.jpg,img2.jpg,img3.jpg

Gallery1

Web page in a popup

Remote web page that appears in a popup. Are supported normal and SSL connections. If the rotation is enabled the popup rotates but don't adapts its dimensions.

For http use

popweb://ADDRESS

For https

popwebs://ADDRESS

Parameters

Specify every parameter required by the original remote address.

Optional parameters

  • Popup width. Default fullscreen based on device orientation.

    w=[INT]

  • Popup height. Default fullscreen based on device orientation.

    h=[INT]

Sample

popweb://fastpdfkit.com?w=400&h=500

Image in a popup

Image that appears in a popup like the web page.

popimage://[IMAGE_PATH]

Parameters

  • Popup width. Default fullscreen based on device orientation.

    w=[INT]

  • Popup height. Default fullscreen based on device orientation.

    h=[INT]

Sample

popimage://image.png?w=400&h=500

Gallery1

Remote web page in overlay with openUDID

UIWebView directly over the page, with a parameter udid added after the base address and the unique identifier of the device obtained with the function [OpenUDID value] provided by OpenUDID.

This annotation is useful if you want to embed a pool that a user (and a device) can fill just once.

For http use

pool://ADDRESS

For https use

pools://ADDRESS

Parameters

Is required at least one parameter in the original url. In case there aren't you can add for example ?p=0

Sample

pool://fastpdf.eu/pool.png?p=0

Image gallery in popup

Image gallery with popup chosen from the ones included in iCarousel.

gallery://

Parameters

  • Image list separated by commas

    images=[IMAGE_1,IMAGE_2,IMAGE_3]

  • Space between images in pixel

    space=[INT]

  • Type of gallery

    type=[0..7]

  • Gallery title

    title=[TITOLO%20DELLA%20GALLERIA]

  • Popup width. Default fullscreen based on device orientation.

    w=[INT]

  • Popup height. Default fullscreen based on device orientation.

    h=[INT]

Sample

gallery://?images=1.png,2.png,3.png,4.png&space=200.0&type=2&w=500.0&h=400.0&title=Gallery%20Title

Previous page

prev://

Next page

next://

Gallery1

Zoom on a page

Choose a page and the area where you want to zoom to.

goto://

Parameters

  • Page destination

    page=[INT]

  • Zoom level

    zoom=[FLOAT]

  • Origin x of the area

    x=[FLOAT]

  • Origin y of the area

    y=[FLOAT]

  • Width of the area

    w=[FLOAT]

  • Height of the area

    h=[FLOAT]

Sample

goto://?page=5&zoom=2.0&x=40.0&y=40.0&w=100.0&h=100.0

Text message

Text message in a popup with title

popup://

Parameters

  • Message title

    title=[TITLE]

  • Message content

    message=[CONTENT]

  • Popup width. Default fullscreen based on device orientation.

    w=[INT]

  • Popup height. Default fullscreen based on device orientation.

    h=[INT]

Sample

popup://?title=Complete%20Title&w=100.0&h=200.0&message=This%20is%20the%20complete%20message!

Gallery1

Map

Google map with overlay with multitouch and that redraws based on the zoom page level of the pdf itself.

The resource is the map type.

map://[hybrid,satellite,standard]

Parameters

  • Latitude

    lat=[double]

  • Longitude

    lon=[double]

  • Span latitude

    latd=[float]

  • Span langitude

    lond=[float]

Optional parameters

  • Pin latitude

    pinlat=[double]

  • Pin longitude

    pinlon=[double]

  • Pin title

    pintitle=[TITLE]

  • Pin subtitle

    pinsub=[SUBTITLE]

  • Pin color

    pincolor=[red,green,purple]

  • Add user position

    user=[YES/NO]

Sample

map://hybrid?lat=37.0&lon=-122.0&latd=0.11&lond=0.10&pinlat=37.0&pinlon=-122.0&pintitle=Title&pinsub=Subtitle&pincolor=red&user=YES

Gallery1

YouTube Video

An overlay with a web view that contains the youtube player. The video id is something like npawmHVaf-E and you can take it from any YouTube video http://www.youtube.com/watch?v=npawmHVaf-E.

utube://[VIDEO_ID]

Video

Optional parameters for every video

  • Autoplay

    autoplay=[YES/NO]

  • Loop

    loop=[YES/NO]

  • Controls visible

    controls=[YES/NO]

Local video in overlay

fpkv://[VIDEO_NAME]

Remote video

fpky://[VIDEO_NAME]

Modal local video

fpke://[VIDEO_NAME]

Modal remote video

fpkz://[VIDEO_NAME]

Gallery1

Sound

Local

fpka://[SOUND_NAME]

Remote

fpka://[SOUND_NAME]

Web Page

Local in overlay

fpkh://[PAGE_ADDRESS]

Remote in Overlay

fpkw://[PAGE_ADDRESS]

Local an modal

fpki://[PAGE_ADDRESS]

Remote and modal

http://[PAGE_ADDRESS]

Configuration by page

Parameter that can be set for each page are just the ones that don't change the page aspect.

config://

Optional parameters

  • Maximum zoom level, is set to 1.0 the user cannot zoom. If the value is major of 1.0 the user can zoom.

    zoom=[FLOAT]

  • Dimension of side areas to go forward or backward, in percentage of page width. The value must be in between 0.0 and 0.5. With a value of 0.0 the areas are not present.

    sides=[FLOAT]

Document configuration, this annotation must be just one and in the first page

global://

Optional parameters

  • Page visualization mode: 1 single page, 2 double page, 3 overflow.

    mode=[1,2,3]

  • Mode when rotating the device from portrait to landscape: 0 no variations, 1 single page, 2 double page, 3 overflow.

    automode=[0,1,2,3]

  • Maximum zoom level, if set to 1.0 you cannot zoom in any page, if not differently specified with the page option. If is set to values major of 1.0 you can zoom in every page, excepted the one with a maximum zoom of 1.0.

    zoom=[FLOAT]

  • Padding of the pdf view from the screen or content view in pixel. The value could be only major of 0.

    padding=[INT]

  • Should show the page shadow.

    shadow=[YES/NO]

  • Default dimension of side areas to go forward or backward, in percentage of the page width. Values between 0.0 and 0.5. Default 0.1.

    sides=[FLOAT]

  • Show the status bar

    status=[YES/NO]

  • Supported device orientations: should be listed separated by a comma the ones enabled. 0 portrait, 1 portrait upside down, 2 landscape left, 3 landscape right.

    orientation=[0,1,2,3]

Sample

global://?mode=1&automode=0&zoom=1.0&padding=0&shadow=NO&sides=0.1&status=NO&orientation=2,3

How to add the annotations with Preview