Usage of PDF24 Javascript PDF API

Index

General

PDF24.org provides a free PDF generation service to create PDF files. This Javascript API is an interface to this service.
The API has been developed for blogs, foren, wiki systems and other article-based internet software to create PDF files in an easy way. Developer of blogs, foren and wiki systems can use this API to provide a PDF button.

API Location

The API is located at http://doc2pdf.pdf24.org/js/api.js. You can download this file or you can link to it directly.

Class References

There are two main Javascript classes which have to be used to create a PDF file. The class PDF24Doc provides the functionality to manage general document content such as document title or document url and provides methods to add elements to the document.
The class PDF24Element represents a content element inside a PDF24Doc document. A content element is a container holding some data such as a title and html body.

The following table illustrates that:
PDF24Doc
PDF24Element 1
PDF24Element 2
PDF24Element 3

Class PDF24Doc

Parameters

charset
The charset of the document. Default is ISO-8859-1. Curently supported values are ISO-8859-1 and UTF-8.
headline
The headline of the document.
headlineUrl
The headline url of the headline.
baseUrl
The baseUrl of the document. This url is important if you use relative links in body content of elements. This url is used to resolve relative links to find images.
filename
The filename of the created PDF file e.g. myFileName.
pageSize
The size of each page in the document. The size is encoded as WIDTHxHEIGHT whereas WIDTH is the width of each page in mm and HEIGHT is the height of each page in mm. The default width is 210mm and the default height is 297mm which represents an ISO A4 page.
emailTo
One or more email addresses separated by semicolon. This email addresses will receive the create PDF file.
emailFrom
The email address of the API user which will appear as the from email address in emails with the attached PDF files.
emailSubject
The subject of the email with the created PDF file attached.
emailBody
The content of the email with the created PDF file attached.
emailBodyType
The type of the email body with the created PDF file attached. Valid values are text and html.
emailCharset
This parameter holds the charset of the emails subject and body. Curently supported values are ISO-8859-1 and UTF-8.

Constructors

PDF24Doc()
Creates a document object with no parameters. Use the setXX methods to set parameters later.
PDF24Doc(params)
Creates a document object and initialized the document parameters with the parameters given in params

Methods

addElement(element)
Adds the element element to the PDF document.
setParam(paramKey, paramValue)
Sets a document parameter with the key paramKey and the value paramValue.
getParam(paramKey)
Returns the document parameter with the key paramKey.
setCharset(charset)
Sets the charset parameter of the document to charset. The default charset is ISO-8859-1.
setHeadline(headline)
Sets the headline parameter of the document to headline.
setHeadlineUrl(headlineUrl)
Sets the headlineUrl parameter of the document to headlineUrl.
setBaseUrl(baseUrl)
Sets the baseUrl parameter of the document to baseUrl.
setFilename(filename)
Sets the filename parameter of the document to filename.
setPageSize(width, height)
Sets the pageSize parameter of the document to width, height.
setEmailTo(emailAddr)
Sets the emailTo parameter of the document to emailAddr.
addEmailTo(emailAddr)
Adds the email address emailAddr to the list of receivers for the PDF file.
setEmailFrom(emailAddr)
Sets the emailFrom parameter of the document to emailAddr.
setEmailSubject(subject)
Sets the emailSubject parameter of the document to subject.
setEmailBodyType(bodyType)
Sets the emailBodyType parameter of the document to bodyType. bodyType can be text or html.
setEmailBody(body)
Sets the emailBody parameter of the document to body.
setEmailCharset(charset)
Sets the charset of body and subject of the email with the attached pdf file.
create()
This method packs all given parameters into a formular and submits it in a popup window to the PDF24.org PDF creation service. The service checks the parameters and creates the PDF file. Status methods are printed to the popup window so that the user can see PDF creation status.

Class PDF24Element

Parameters

title
The title of the element.
url
The url of the element. The title and the url are used to form a link.
author
The author of the elements content.
dateTime
A timestamp (Any string that represents a timestamp, e.g. date and time or only date or time)
body
The content of the element. Can be plain or html formated text.

Constructors

PDF24Element()
Creates an element with no parameters. Use the setXX methods to set parameters later.

Methods

setTitle(title)
Sets the title parameter of the element to title.
setUrl(url)
Sets the url parameter of the element to url. The title and the url together form a link.
setAuthor(author)
Sets the author parameter of the element to author.
setDateTime(dateTime)
Sets the dateTime parameter of the element to dateTime.
setBody(body)
Sets the body parameter of the element to body. body can be plain or html formatted text.

Code Samples

Include the Javscript PDF API in you document by adding the following line to your webpage:

<script type="text/javascript" src="http://doc2pdf.pdf24.org/js/api.js"></script>

Sample 1

/*
* Create a PDF24 document and set parameters
*/
var doc = new PDF24Doc();
doc.setCharset("UTF-8");
doc.setHeadline("The is the document headline");
doc.setHeadlineUrl("http://www.pdf24.org");
doc.setBaseUrl("http://www.pdf24.org");
doc.setFilename("test");
doc.setPageSize(210, 297);

doc.setEmailTo("stefanz@pdf24.org");
doc.setEmailFrom("stefanz@pdf24.org");
doc.setEmailSubject("Here is your created PDF file");
doc.setEmailBody("The created PDF file is attached to this email. Regards www.pdf24.org!");
doc.setEmailBodyType("text");

/*
* Create one or more elements
*/
var element = new PDF24Element();
element.setTitle("This is a title");
element.setUrl("http://www.pdf24.org");
element.setAuthor("Stefan Ziegler");
element.setDateTime("2010-04-15 8:00");
element.setBody("This is the content of the element");

/*
* Add the element
*/
doc.addElement(element);

/*
* Create the PDF file
*/
doc.create();

Sample 2

/*
* Create a document with parameters
*/
var doc = new PDF24Doc({
	charset : "UTF-8",
	headline : "This ist the headline",
	headlineUrl : "http://www.pdf24.org",
	baseUrl : "http://www.pdf24.org",
	filename : "test",
	pageSize : "210x297"
	emailTo : "stefanz@pdf24.org",
	emailFrom : "stefanz@pdf24.org",
	emailSubject: "Here is your created PDF files",
	emailBody: "The created PDF file is attached to this email. Regards www.pdf24.org!"
	emailBodyType: "text"
});

/*
* Add an element without using PDF24Element
*/
doc.addElement({
	title : "This is a title",
	url : "http://www.pdf24.org",
	author : "Stefan Ziegler",
	dateTime : "2010-04-15 8:00",
	body : "THis is the content of the element"
});

/*
* Create the PDF file
*/
doc.create();

PDF Generation Test

Here you have a simple formular to test the Javascript PDF API. Fill out the following form fields and click the send button to create a PDF file. The PDF file will be sent to the entered email address.
Document Parameter
Charset
Headline
HeadlineUrl
BaseUrl
Filename
PageSize
Email Parameter
EmailTo
EmailFrom
EmailSubject
EmailBodyType
EmailBody
Element
Title
Url
Author
DateTime
Body