PDF Toolkit Session

Download Report

Transcript PDF Toolkit Session

Alfresco PDF Toolkit v1.0
Nathan McMinn, Technical Consultant with Alfresco
Twitter: @ntmcminn
http://nathanmcminn.com
Alfresco PDF Toolkit – What and Why?
The Alfresco PDF Toolkit is a set of extensions for
Alfresco that provides additional functionality
around PDF documents
Alfresco PDF Toolkit – What and Why?
The Alfresco PDF Toolkit is a set of extensions for
Alfresco that provides additional functionality
around PDF documents.
The Alfresco PDF Toolkit project aims to create the
most complete set of tools for PDF handling and
manipulation available for Alfresco.
Alfresco PDF Toolkit – What and Why?
The Alfresco PDF Toolkit is a set of extensions for
Alfresco that provides additional functionality
around PDF documents.
The Alfresco PDF Toolkit project aims to create the
most complete set of tools for PDF handling and
manipulation available for Alfresco.
Over 4000 downloads since launch
Alfresco PDF Toolkit – Project Team
• Jared Ottley – Project founder and maintainer
• Created initial project including split, merge and append actions
• Nathan McMinn – Committer
• Contributed encryption, watermarking, digital signature and
delete page actions, share extensions, Tiff -> PDF Transformer
• Diego Liberalquino – Committer
• Contributed fixes to digital signature action and UI
• Nick Burch
• Contributed iText plain text to PDF transformer
Alfresco PDF Toolkit – Project History
Jan 2010:
Initial release
0.9
Sept-Nov 2010:
watermarking,
encryption and
signature
actions added
Sept 2012:
New
Transformers,
Share
functionality
Extension Delivery
• Alfresco Repository Extensions
• Delivered as a standard repository AMP file
• Alfresco Share Extensions
• Currently delivered as an AMP, next release will
likely be a JAR file instead
Formal releases are available from the project’s download page,
or build from head (using Maven) if you are feeling brave :-)
Extension Components
• Actions
• Aspects
• Advanced Search
• Transformers
• Constraints
• Share UI enhancements
Extension Components - Actions
• PDF Actions
• Split – splits a document every ‘n’ pages
• Split at page – splits a document at a defined page
• Insert – inserts the content of one PDF into another
• Merge – Merges the contents of two PDF documents
• Digital Signature – Apply a PDF digital signature
• Encryption – Apply PDF encryption, set passwords and
permissions
• Watermarking – Apply a PDF Watermark in the form of an
image or text with multiple formatting options
Extension Components - Aspects
• pdft:signed
• Applied when a document is signed using the toolkit
• Records user, signature date, reason and location
• Used in advanced search to find specific signed docs
• pdft:encrypted
• Applied when a document is encrypted using the toolkit
• Records user and encryption date
• Used in advanced search to find specific encrypted docs
Extension Components – Advanced Search
• Signed PDFs
• Search for signed documents by signer, date range, reason or
location
• All standard search options also remain available
• Encrypted PDFs
• Search for encrypted documents by person that encrypted the
doc or encryption date range
• All standard search options remain available
Extension Components - Transformers
• Text to PDF
• An iText based text to PDF transformer, supporting some basic
text MIME types
• Recognizes and transforms text/plain, text/csv and text/xml
• TIFF to PDF
• Transforms a TIFF image to a PDF document
• Basic transformation only at this point, scaling options and
multi-image TIFF support coming soon
Extension Components - Constraints
• MapConstraint
• Used by the toolkit to configure action constraints using a Map
defined in Spring configuration
• Examples include constraints for watermark visibility,
encryption levels, etc
• See module-context.xml for complete list of configured
constraints
Extension Components – Share Extensions
• Rules configuration
• Action configuration form in content rules requires client-side
customizations (document / folder pickers)
• Content indicators
• Used to show at a glance when a PDF has been encrypted or
signed
• Document Library Actions
• All PDF Toolkit actions are available in both content rules and
the document library (form service rocks!)
Demo Time!
A Little About Share DocLib Actions
It is almost silly how easy it is to take a custom action
and make it available as a Share Document Library
Action
Share DocLib Action Configuration
<action id="pdf-encryption” type="javascript"
label="actions.pdftoolkit.encryptPDF">
<param name="function">onActionFormDialog</param>
<param name="itemKind">action</param>
<param name="itemId">pdf-encryption</param>
<param name="mode">create</param>
<param name="destination">{node.nodeRef}</param>
<param name="successMessage">message.pdf-encryption.success</param>
<param name="failureMessage">message.pdf-encryption.failure</param>
<evaluator>evaluator.pdftoolkit.doclib.action.pdfToolkitMimetype</evaluator>
</action>
Share DocLib Action Configuration
<action id="pdf-encryption” type="javascript"
label="actions.pdftoolkit.encryptPDF">
<param name="function">onActionFormDialog</param>
<param name="itemKind">action</param>
<param name="itemId">pdf-encryption</param>
<param name="mode">create</param>
<param name="destination">{node.nodeRef}</param>
<param name="successMessage">message.pdf-encryption.success</param>
<param name="failureMessage">message.pdf-encryption.failure</param>
<evaluator>evaluator.pdftoolkit.doclib.action.pdfToolkitMimetype</evaluator>
</action>
Demo Time!
Using the Actions from the JavaScript API
• Use the existing “actions” JavaScript object
• Example:
//get the pdf to watermark and the destination folder
var pdf_to_watermark = <a scriptnode>
var dest_folder = <a scriptnode>
//create an action instance
var watermark_action = actions.create("pdf-watermark");
//set the required parameters
watermark_action.parameters["destination-folder"] = dest_folder;
watermark_action.parameters["watermark-text"] = "Test111";
watermark_action.parameters["watermark-type"] = "text";
watermark_action.parameters["watermark-pages"] = "all";
watermark_action.parameters["watermark-depth"] = "under";
watermark_action.parameters["watermark-font"] = "Courier";
watermark_action.parameters["watermark-size"] = "34";
watermark_action.parameters[“position”] = “center”
//execute the configured action
watermark_action.execute(pdf_to_watermark);
Alfresco PDF Toolkit – Roadmap
Dec 2012
Version 1.1
Numerous bug
fixes
4.2.x compatibility
“Delete page”
action
Copy Node
Winter 2013
Version 1.2
Improved TIFF to
PDF transformer
“Download as PDF”
document action
Summer 2013
Version 1.3
PDF/A transformer
Annotations?
OCR?
You tell us!!
Alfresco PDF Toolkit - Feature requests?
What would
Alfresco PDF Toolkit:
htthttp://code.google.com/p/alfresco-pdf-toolkit/
Want to know when we release? Follow the project
team on Twitter!
@jottley
@ntmcminn