<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0"><id>tag:blogger.com,1999:blog-5787751540548761056</id><updated>2012-02-22T20:37:33.313Z</updated><category term="Guidelines" /><category term="TIFF" /><category term="K2" /><category term="PDF Converter Services" /><category term="Splitting" /><category term="None" /><category term="PDF/A" /><category term="MSG" /><category term="WP7" /><category term="Infuser" /><category term="MuSH" /><category term="Workflow" /><category term="Java" /><category term="Nintex" /><category term="Phone" /><category term="Azure" /><category term="pdf" /><category term="Streaming Demo" /><category term="JQuery" /><category term="SP2010" /><category term="AutoCAD" /><category term="Partnering" /><category term="WPP" /><category term="PDF Converter Professional" /><category term="Watermarking" /><category term="PDF Converter" /><category term="Products" /><category term="Articles" /><category term="Merging" /><category term="News" /><category term="Document Conversion" /><category term="InfoPath" /><category term="Audit" /><title type="text">Muhimbi's SharePoint Blog</title><subtitle type="html">Based in the United Kingdom, Muhimbi is an international provider of products for the SharePoint and InfoPath markets. From our PDF Converters to our Workflow Tools, our products are compatible with MOSS, WSS 3 as well as SharePoint 2010 and available in a number of languages.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.muhimbi.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.muhimbi.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default?start-index=26&amp;max-results=25" /><author><name>Muhimbi</name><uri>http://www.blogger.com/profile/00157302110307291964</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_bUq2JqpCltk/S40YDzxMdQI/AAAAAAAAAAM/MUnKJrXBLxA/S220/Muhimbi48x48.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>146</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/MuhimbiBlog" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="muhimbiblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry><id>tag:blogger.com,1999:blog-5787751540548761056.post-8069041155751938662</id><published>2012-02-22T16:44:00.001Z</published><updated>2012-02-22T20:37:33.330Z</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="News" /><category scheme="http://www.blogger.com/atom/ns#" term="Document Conversion" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter" /><category scheme="http://www.blogger.com/atom/ns#" term="Workflow" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter Services" /><category scheme="http://www.blogger.com/atom/ns#" term="Articles" /><title type="text">Convert document types using the PDF Converter for SharePoint (xls to xslx, doc to docx)</title><content type="html">&lt;style&gt;


&lt;!-- .li_spacing {padding-bottom:3pt}--&gt;&lt;/style&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 8px 0px 5px 10px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="DOC-to-DOCX-XLS-to-XLSX" border="0" alt="DOC-to-DOCX-XLS-to-XLSX" align="right" src="http://lh5.ggpht.com/-cFCEtZQCYnU/T0UbU9rg1zI/AAAAAAAAAQ4/uwizfQBnPTs/DOC-to-DOCX-XLS-to-XLSX%25255B14%25255D.png?imgmax=800" width="100" height="115" /&gt;We have known for a long time that this day was coming, but the &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint/summary.aspx"&gt;PDF Converter for SharePoint&lt;/a&gt; is no longer limited to generating just PDFs. So now we have a product that doesn’t quite describe what it does…GREAT! Oh well, the good news is that once again we have added some excellent new functionality that allows documents to be converted to types other than PDF. (&lt;em&gt;Available in version 6.0 and newer&lt;/em&gt;)&lt;/p&gt;  &lt;p&gt;So, how is this useful? Well, let’s say that you have a large amount of legacy Office 97-2003 files, but your company now requires all files to be saved in the more modern, and open, Office 2007-2010 formats. By using the Muhimbi PDF Converter you can convert between these formats automatically using a SharePoint workflow or a simple web service call using &lt;a href="http://blog.muhimbi.com/2010/04/convert-office-files-to-pdf-format-from.html"&gt;Java&lt;/a&gt; or &lt;a href="http://blog.muhimbi.com/2009/12/converting-office-files-to-pdf-format.html"&gt;.NET&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Naturally you can go in the other direction as well. For example many users in your company may still be on Office 2000 or 2003, but those fancy guys in IT are saving documents in Office 2010 format. No-one else in the organisation can open these shiny new files using their geriatric versions of MS-Office / Open Office. A simple SharePoint workflow will automatically take care of this and convert the file to the desired format.&lt;/p&gt;  &lt;p&gt;Naturally we have to be realistic about which files to convert between. Going from AutoCAD to Excel, makes no sense. The table listed below shows which files can be converted and how.&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px 10px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Transformation-Matrix" border="0" alt="Transformation-Matrix" src="http://lh4.ggpht.com/-sE5tKz3MCu4/T0UbXKxqRNI/AAAAAAAAARg/hr5Dpqw_ne0/Transformation-Matrix%25255B35%25255D.png?imgmax=800" width="702" height="260" /&gt;&lt;/p&gt;  &lt;p&gt;Some points of interest:&lt;/p&gt;  &lt;ol&gt;   &lt;li class="li_spacing"&gt;It is now possible to convert InfoPath files to MS-Word, Excel or HTML. (More details in a future blog post) &lt;/li&gt;    &lt;li class="li_spacing"&gt;Although not displayed in this chart, it is also possible to &lt;a href="http://blog.muhimbi.com/2011/09/pdfa-support-in-muhimbi-pdf-converter.html"&gt;convert PDF (and any other file type) to PDF/A&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;It is even possible to ‘convert’ to the same format as the source, e.g. &lt;em&gt;docx&lt;/em&gt; to &lt;em&gt;docx&lt;/em&gt;, but specify additional settings such as a password on the document. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Convert using Web Service calls&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Converting files to non-PDF formats using web service calls works identical to converting files to PDF. The only difference is that the &lt;font face="Consolas"&gt;Format&lt;/font&gt; property on the &lt;font face="Consolas"&gt;ConversionSettings&lt;/font&gt; object must be set to the file type you are converting to. For details see the existing Convert to PDF sample code for &lt;a href="http://blog.muhimbi.com/2010/04/convert-office-files-to-pdf-format-from.html"&gt;Java&lt;/a&gt; and &lt;a href="http://blog.muhimbi.com/2009/12/converting-office-files-to-pdf-format.html"&gt;.NET&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Convert using SharePoint Workflows&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Converting a document using SharePoint Designer workflows works similar to &lt;a href="http://blog.muhimbi.com/2009/04/using-pdf-converter-from-sharepoint.html"&gt;converting to PDF&lt;/a&gt;. The main difference is that you now use the &lt;em&gt;Convert Document&lt;/em&gt; Workflow Activity rather than the &lt;em&gt;Convert to PDF&lt;/em&gt; one. &lt;/p&gt;  &lt;p&gt;After adding the new activity to your workflow you will see the following &lt;em&gt;Workflow Sentence&lt;/em&gt;.     &lt;br /&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Convert-Document-(empty)" border="0" alt="Convert-Document-(empty)" src="http://lh4.ggpht.com/-N95moCkQsYw/T0UbYDFO5II/AAAAAAAAARQ/HeAxT-NbwQ4/Convert-Document-%252528empty%252529%25255B5%25255D.png?imgmax=800" width="659" height="75" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160; &lt;br /&gt;The workflow sentence is consistent with our other Workflow Activities (e.g. &lt;a href="http://blog.muhimbi.com/2009/04/using-pdf-converter-from-sharepoint.html"&gt;Converting&lt;/a&gt; / &lt;a href="http://blog.muhimbi.com/2010/10/watermarking-pdf-documents-using.html"&gt;Watermarking&lt;/a&gt; / &lt;a href="http://blog.muhimbi.com/2011/10/splitting-pdf-files-using-sharepoint.html"&gt;Splitting&lt;/a&gt; / &lt;a href="http://blog.muhimbi.com/2011/08/converting-and-merging-multiple-pdf.html"&gt;Merging&lt;/a&gt;), and is largely self-describing. &lt;/p&gt;  &lt;ul&gt;   &lt;li class="li_spacing"&gt;&lt;strong&gt;This document:&lt;/strong&gt; The document to convert. For most workflows selecting &lt;i&gt;Current Item&lt;/i&gt; will suffice, but some custom scenarios (List or Site workflows) may require the look up of a different item.&amp;#160; &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;This File:&lt;/strong&gt; An optional filename (and path) to write the converted document to. When not specified, the same name as the document that triggered the workflow will be used, just with a different extension. &lt;em&gt;Please make sure that the path does not include the host name, e.g. ‘http://your site/…’., &lt;a href="http://blog.muhimbi.com/2011/11/specifying-paths-and-file-names-when.html"&gt;see this post for details about specifying paths&lt;/a&gt;.&lt;/em&gt; &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Select file type:&lt;/strong&gt; Select the type to convert to from the drop down menu. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Include / exclude meta data:&lt;/strong&gt; In case of sensitive documents you may want to strip any custom SharePoint columns from the file. For example, if your document library contains a column named ‘Yearly sales forecast’ then you may want to select ‘Exclude’. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Optional parameters:&lt;/strong&gt; Reserved for future use. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Parameter ‘List ID’&lt;/strong&gt;: The ID of the list the converted file was written to. This can later in the workflow be used to perform additional tasks on the file such as performing a check-in or out. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Parameter ‘List Item IDs’&lt;/strong&gt;: At the moment this workflow activity will always generate a single output file. However, in the future it will be possible to generate multiple output files in one go, in which case this parameter will return a string with ‘;’ separated values of the generated item IDs. This list can then be used by other (custom) activities, e.g. the ones created by our &lt;a href="http://www.muhimbi.com/Products/Workflow-Power-Pack-for-SharePoint/summary.aspx"&gt;Workflow Power Pack&lt;/a&gt;, to process the individual files further. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;A basic sample workflow is included below, by attaching this workflow to a Forms Library any InfoPath form saved in it will automatically be converted to an MS-Word 2007 file.    &lt;br /&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Convert-Document-(filled-out)" border="0" alt="Convert-Document-(filled-out)" src="http://lh4.ggpht.com/-EDtM57GQG9c/T0UbZBJeYZI/AAAAAAAAARY/ZG8emCC33iI/Convert-Document-%252528filled-out%252529%25255B5%25255D.png?imgmax=800" width="659" height="111" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Similar to all other functionality provided by the &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint/summary.aspx"&gt;PDF Converter for SharePoint&lt;/a&gt;, this new Workflow Activity works on all SharePoint 2007 and 2010 editions.&lt;/p&gt;  &lt;p&gt;For a more complex scenario see the &lt;a href="http://blog.muhimbi.com/2009/04/using-pdf-converter-from-sharepoint.html"&gt;existing blog post about the PDF Conversion Activity&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;font color="#ffffff"&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5787751540548761056-8069041155751938662?l=blog.muhimbi.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.muhimbi.com/feeds/8069041155751938662/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.muhimbi.com/2012/02/convert-document-types-using-pdf.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/8069041155751938662" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/8069041155751938662" /><link rel="alternate" type="text/html" href="http://blog.muhimbi.com/2012/02/convert-document-types-using-pdf.html" title="Convert document types using the PDF Converter for SharePoint (xls to xslx, doc to docx)" /><author><name>Muhimbi</name><uri>http://www.blogger.com/profile/00157302110307291964</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_bUq2JqpCltk/S40YDzxMdQI/AAAAAAAAAAM/MUnKJrXBLxA/S220/Muhimbi48x48.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/-cFCEtZQCYnU/T0UbU9rg1zI/AAAAAAAAAQ4/uwizfQBnPTs/s72-c/DOC-to-DOCX-XLS-to-XLSX%25255B14%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5787751540548761056.post-8083738340715122903</id><published>2012-01-23T12:02:00.001Z</published><updated>2012-01-23T12:05:49.600Z</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="News" /><category scheme="http://www.blogger.com/atom/ns#" term="Products" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter Professional" /><category scheme="http://www.blogger.com/atom/ns#" term="AutoCAD" /><category scheme="http://www.blogger.com/atom/ns#" term="Splitting" /><category scheme="http://www.blogger.com/atom/ns#" term="MSG" /><category scheme="http://www.blogger.com/atom/ns#" term="pdf" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter Services" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF/A" /><title type="text">PDF Converter Services 5.2 - PDF Splitting, MSG Conversion &amp; PDF/A support</title><content type="html">&lt;style&gt;
&lt;!-- .li_spacing {padding-bottom:3pt}--&gt;&lt;/style&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px 10px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="PDFConverterServicesBox4_thumb" border="0" alt="PDFConverterServicesBox4_thumb" align="right" src="http://lh4.ggpht.com/-cnWJ-wEEQys/Tx1MPYF9KbI/AAAAAAAAAQw/jhKSiyZfVIk/PDFConverterServicesBox4_thumb%25255B3%25255D.jpg?imgmax=800" width="200" height="183" /&gt;At the end of last week we released &lt;a href="http://blog.muhimbi.com/2012/01/pdf-converter-for-sharepoint-52-pdf.html"&gt;version 5.2 of the PDF Converter for SharePoint&lt;/a&gt;, which ships with an improved version of our popular PDF Conversion engine. Today we are releasing an update to the standalone version of the &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-Services/summary.aspx"&gt;&lt;em&gt;Muhimbi PDF Converter Services&lt;/em&gt;&lt;/a&gt; that includes all new functionality and fixes including the ability to convert MSG (email) files and output in PDF/A format.&lt;/p&gt;  &lt;p&gt;The list of new features and improvements is considerable but the main ones are as follows:&lt;/p&gt;  &lt;ul&gt;   &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2011/11/blog-post.html"&gt;Convert Outlook MSG files to PDF including all attachments&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2011/10/splitting-pdf-files-using-pdf-converter.html"&gt;Splitting PDF Files using Java or .NET&lt;/a&gt; . &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2011/09/converting-pdf-document-to-pdfa1b-using.html"&gt;PDF/A Post processing for all supported file formats&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;Support for the 64 bit version of Office 2010 &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;A quick introduction for those not familiar with the product: &lt;em&gt;The Muhimbi PDF Converter Services is an ‘on premises’ server based SDK that allows software developers to convert typical Office files to PDF format using a robust, scalable but friendly Web Services interface from Java and .NET based solutions. It supports a large number of file types including MS-Office and ODF file formats as well as HTML, MSG (email) AutoCAD and Image based files and is used by some of the largest organisations in the world for mission critical document conversions. In addition to converting documents the product ships with a sophisticated watermarking engine, PDF Splitting and Merging facilities and the ability to secure PDF files. A separate &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint/summary.aspx"&gt;SharePoint specific version&lt;/a&gt; is available as well.&lt;/em&gt;&lt;/p&gt;  &lt;p align="center"&gt;&amp;#160; &lt;br /&gt;&lt;img style="margin: 5px 10px 5px 0px" src="http://lh5.ggpht.com/-UfrTX4K3--A/TsPNVvfjvRI/AAAAAAAAAPY/b5Qn2qzLzME/Sample-Conversions%25255B5%25255D.png?imgmax=800" /&gt;     &lt;br /&gt;&lt;em&gt;&lt;font size="1"&gt;New, PDF Conversion of MSG based emails        &lt;br /&gt;&amp;#160;&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;In addition to the changes listed above, some of the main changes in the new version are as follows:&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="700"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1580&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;CAD&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Improvement&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Converting AutoCAD files results in much smaller PDF files as before.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1575&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;CAD&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Improvement&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Support for Spatial Filters has been added for AutoCAD to PDF Converter&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1565&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;CAD&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Improvement&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Default &amp;quot;EmptyLayoutDetectionMode&amp;quot; setting is now set to &amp;quot;SkipEmptyLayouts&amp;quot;&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1543&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;CAD&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;New&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Provide different sorting options for CAD Layouts&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1472&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Documentation&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;New&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Create Merge example for Java&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1582&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Excel&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Fix&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Excel sheets in 'Page Break Preview' mode do not convert&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1443&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;HTML&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Fix&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Images are split when converting certain pages.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1140&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;HTML&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Fix&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;HTML to PDF Conversion of SP2010 screens is not working correctly.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1501&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;HTML&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Fix&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Base tag is ignored when converting HTML fragments to PDF&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1540&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;HTML&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Fix&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Conversion hangs on certain SP2010 pages&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1542&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;HTML&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Fix&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;HTML to PDF on SP2010 uses wrong page breaks when &lt;em&gt;split images&lt;/em&gt; is enabled&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1566&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;InfoPath&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Fix&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;InfoPath Schema Validation error on forms that use FusionX and &lt;em&gt;view switching&lt;/em&gt;&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1433&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;InfoPath&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Improvement&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Provide an option to 'skip' or 'fail' problematic InfoPath attachments&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1511&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;InfoPath&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Improvement&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Downloading InfoPath XSN files on systems using FBA does not work&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1551&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;InfoPath&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Improvement&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Add option to create PDF bookmarks for each attached InfoPath document&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1517&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;InfoPath&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Improvement&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Add switch to pre-process Full Trust InfoPath files&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1568&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;InfoPath&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Improvement&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Allow invalid SSL Certificates to be used for downloading InfoPath XSN files&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1513&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Merging&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Fix&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Merging certain PDF files results in 'index out of bounds'&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1594&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Merging&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Fix&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Error in Lexer' when loading PDF File&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1617&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Merging&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Fix&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Merging of PDF Files generated with IOS scanner app&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1618&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Merging&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Fix&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;System.NullReferenceException when loading certain PDF files for merging&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1637&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Merging&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Fix&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Bookmarks corrupted when merging certain files&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1317&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;MSG&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;New&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Improve email converter (with MSG support)&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1553&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Open Office&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;New&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Add support for open office template files (ott, ots, otp)&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1505&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;PDF/A&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;New&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Allow PDF as an input format to support PDF to PDF/A conversion&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;676&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;PDF/A&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;New&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Excel Conversion - Add support for PDF/A&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;619&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;PDF/A&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;New&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Add support for PDF/A Post Processing (requires 'pro' license)&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1458&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Setup&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;New&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Add support for silent install / uninstall of Conversion Service&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;779&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Setup&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;New&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Add support for the 64 bit version of Office 2010&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1537&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Splitting&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;New&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Update web service to allow PDFs to be split&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1541&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Visio&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;New&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Add support for Visio VDW extension&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1547&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Watermarking&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Fix&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Watermarking: Applying rotation of less than -45 degrees rotates the entire page during conversion to PDF/A&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1636&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Watermarking&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Fix&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Error in Lexer when applying watermark on merged documents&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1613&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Web Service&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Improvement&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Conversion Service Authentication problems on certain systems that have disabled anonymous access (Kerberos related)&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&amp;#160; &lt;br /&gt;For more information check out the following resources:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.muhimbi.com/Products/PDF-Converter-Services.aspx"&gt;Product Page&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/Images---Files/PDFConverterServices/PDF-Converter-Services-Brochure.aspx"&gt;Brochure&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/documentation/PDF-Converter-Services/Release-Notes.aspx"&gt;Release Notes&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/documentation/PDF-Converter-Services/Administration-Guide.aspx"&gt;Administration Guide&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/documentation/PDF-Converter-Services/User---Developer-Guide.aspx"&gt;User &amp;amp; Developer Guide&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/faqs.aspx"&gt;FAQ&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/forum.aspx?ForumID=7"&gt;Discussion Forum&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blog.muhimbi.com/search/label/PDF%20Converter%20Services"&gt;All PDF Converter Services related Blog Posts&lt;/a&gt;. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;   &lt;br /&gt;As always, feel free to &lt;a href="http://www.muhimbi.com/contact.aspx"&gt;contact us using Twitter, our Blog, regular email&lt;/a&gt; or &lt;a href="http://eepurl.com/b6A7"&gt;subscribe to our newsletter&lt;/a&gt;. &lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://www.muhimbi.com/Products/PDF-Converter-Services/Free-Trial.aspx"&gt;Download your free trial here&lt;/a&gt; (10MB). &lt;span style="color: #ffffff"&gt;.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ffffff"&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5787751540548761056-8083738340715122903?l=blog.muhimbi.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.muhimbi.com/feeds/8083738340715122903/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.muhimbi.com/2012/01/pdf-converter-services-52-pdf-splitting.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/8083738340715122903" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/8083738340715122903" /><link rel="alternate" type="text/html" href="http://blog.muhimbi.com/2012/01/pdf-converter-services-52-pdf-splitting.html" title="PDF Converter Services 5.2 - PDF Splitting, MSG Conversion &amp;amp; PDF/A support" /><author><name>Muhimbi</name><uri>http://www.blogger.com/profile/00157302110307291964</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_bUq2JqpCltk/S40YDzxMdQI/AAAAAAAAAAM/MUnKJrXBLxA/S220/Muhimbi48x48.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/-cnWJ-wEEQys/Tx1MPYF9KbI/AAAAAAAAAQw/jhKSiyZfVIk/s72-c/PDFConverterServicesBox4_thumb%25255B3%25255D.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5787751540548761056.post-1854712696271366341</id><published>2012-01-20T14:01:00.001Z</published><updated>2012-01-25T17:50:38.728Z</updated><category scheme="http://www.blogger.com/atom/ns#" term="News" /><category scheme="http://www.blogger.com/atom/ns#" term="Products" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter Professional" /><category scheme="http://www.blogger.com/atom/ns#" term="Merging" /><category scheme="http://www.blogger.com/atom/ns#" term="AutoCAD" /><category scheme="http://www.blogger.com/atom/ns#" term="Splitting" /><category scheme="http://www.blogger.com/atom/ns#" term="MSG" /><category scheme="http://www.blogger.com/atom/ns#" term="pdf" /><category scheme="http://www.blogger.com/atom/ns#" term="InfoPath" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter" /><category scheme="http://www.blogger.com/atom/ns#" term="Workflow" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF/A" /><title type="text">PDF Converter for SharePoint 5.2 - PDF Splitting, MSG Conversion &amp; PDF/A support</title><content type="html">&lt;img style="background-image: none; border-right-width: 0px; margin: 5px 10px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="PDFBox5" border="0" alt="PDFBox5" align="right" src="http://lh6.ggpht.com/_bUq2JqpCltk/TMGv_rZy4AI/AAAAAAAAADw/kYDQzFupml0/PDFBox5%5B3%5D.jpg?imgmax=800" width="200" height="183" /&gt;   &lt;p&gt;Over the past 4 months our engineers have been hard at work on a number of brilliant new facilities resulting in the new 5.2. release of our popular &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint/Summary.aspx"&gt;Muhimbi PDF Converter for SharePoint&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;The list of new features and improvements is considerable but the main ones are as follows:&lt;/p&gt;  &lt;ul&gt;   &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2011/11/blog-post.html"&gt;Convert Outlook MSG files to PDF including all attachments&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2011/10/splitting-pdf-files-using-sharepoint.html"&gt;Splitting PDF Files using SharePoint workflows&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2011/09/pdfa-support-in-muhimbi-pdf-converter.html"&gt;PDF/A Post processing for all supported file formats&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;Support for the 64 bit version of Office 2010 &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;   &lt;br /&gt;&lt;em&gt;For those not familiar with the product, the PDF Converter for SharePoint is a lightweight solution that allows end-users to watermark, merge, split, secure and convert common document types - including InfoPath, AutoCAD, MSG (email) MS-Office, HTML and images - to PDF format from within SharePoint using a friendly user interface, workflows or a web service call without the need to install any client side software or Adobe Acrobat. It integrates at a deep level with SharePoint and leverages facilities such as the Audit log, Nintex Workflow, localisation, security and tracing. It runs on WSS 3, MOSS as well as SharePoint 2010 and is available in English, German, Dutch, French, Traditional Chinese and Japanese. For detailed information check out the &lt;/em&gt;&lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint.aspx"&gt;&lt;em&gt;product page&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt; &lt;/p&gt;  &lt;p align="center"&gt;   &lt;br /&gt;&lt;img style="margin: 5px 10px 5px 0px" src="http://lh5.ggpht.com/-UfrTX4K3--A/TsPNVvfjvRI/AAAAAAAAAPY/b5Qn2qzLzME/Sample-Conversions%25255B5%25255D.png?imgmax=800" /&gt;     &lt;br /&gt;&lt;em&gt;&lt;font size="1"&gt;New, PDF Conversion of MSG based emails&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;In addition to the changes listed above, some of the main changes in the new version are as follows:&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="700"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1580&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;CAD&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Improvement&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Converting AutoCAD files results in much smaller PDF files as before.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1575&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;CAD&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Improvement&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Support for Spatial Filters has been added for AutoCAD to PDF Converter&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1565&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;CAD&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Improvement&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Default &amp;quot;EmptyLayoutDetectionMode&amp;quot; setting is now set to &amp;quot;SkipEmptyLayouts&amp;quot;&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1543&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;CAD&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;New&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Provide different sorting options for CAD Layouts&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1472&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Documentation&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;New&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Create Merge example for Java&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1582&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Excel&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Fix&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Excel sheets in 'Page Break Preview' mode do not convert&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1443&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;HTML&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Fix&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Images are split when converting certain pages.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1140&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;HTML&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Fix&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;HTML to PDF Conversion of SP2010 screens is not working correctly.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1501&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;HTML&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Fix&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Base tag is ignored when converting HTML fragments to PDF&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1540&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;HTML&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Fix&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Conversion hangs on certain SP2010 pages&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1542&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;HTML&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Fix&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;HTML to PDF on SP2010 uses wrong page breaks when &lt;em&gt;split images&lt;/em&gt; is enabled&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1471&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;HTML&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Improvement&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;HTML to PDF Conversion - Error not clear when user has no rights&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1566&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;InfoPath&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Fix&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;InfoPath Schema Validation error on forms that use FusionX and &lt;em&gt;view switching&lt;/em&gt;&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1433&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;InfoPath&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Improvement&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Provide an option to 'skip' or 'fail' problematic InfoPath attachments&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1511&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;InfoPath&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Improvement&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Downloading InfoPath XSN files on systems using FBA does not work&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1551&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;InfoPath&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Improvement&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Add option to create PDF bookmarks for each attached InfoPath document&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1517&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;InfoPath&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Improvement&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Add switch to pre-process Full Trust InfoPath files&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1568&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;InfoPath&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Improvement&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Allow invalid SSL Certificates to be used for downloading InfoPath XSN files&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1513&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Merging&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Fix&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Merging certain PDF files results in 'index out of bounds'&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1594&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Merging&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Fix&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Error in Lexer' when loading PDF File&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1617&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Merging&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Fix&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Merging of PDF Files generated with IOS scanner app&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1618&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Merging&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Fix&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;System.NullReferenceException when loading certain PDF files for merging&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1637&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Merging&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Fix&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Bookmarks corrupted when merging certain files&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1317&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;MSG&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;New&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Improve email converter (with MSG support)&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1508&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Nintex WF&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Fix&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Nintex File Merge activity fails when used inside Nintex 'For each' iterator&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1553&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Open Office&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;New&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Add support for open office template files (ott, ots, otp)&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1505&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;PDF/A&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;New&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Allow PDF as an input format to support PDF to PDF/A conversion&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;676&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;PDF/A&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;New&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Excel Conversion - Add support for PDF/A&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;619&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;PDF/A&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;New&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Add support for PDF/A Post Processing (requires 'pro' license)&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1458&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Setup&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;New&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Add support for silent install / uninstall of Conversion Service&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;779&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Setup&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;New&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Add support for the 64 bit version of Office 2010&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1536&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Splitting&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;New&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Create workflow activity to split PDF files&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1537&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Splitting&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;New&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Update web service to allow PDFs to be split&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1541&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Visio&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;New&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Add support for Visio VDW extension&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1538&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Watermarking&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Fix&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Watermarking using a workflow activity removes meta data&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1547&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Watermarking&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Fix&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Watermarking: Applying rotation of less than -45 degrees rotates the entire page during conversion to PDF/A&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1636&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Watermarking&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Fix&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Error in Lexer when applying watermark on merged documents&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1507&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Watermarking&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Improvement&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Watermark filtering - Checking for 'modified = today' does not work&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1535&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Web Service&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Improvement&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Add support for the conversion of files up to 1GB&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1613&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Web Service&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Improvement&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Conversion Service Authentication problems on certain systems that have disabled anonymous access (Kerberos related)&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1576&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Workflow&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Fix&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Merging Workflow Activity fails when used after a 'Pause for Duration' activity&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1573&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Workflow&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Fix&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Backslashes are not allowed in output path of HTML to PDF Conversion activity&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1545&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Workflow&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="75"&gt;&lt;font size="2"&gt;Improvement&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="600"&gt;&lt;font size="2"&gt;Merge workflow activity does not accept URLs&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;   &lt;br /&gt;For more information check out the following resources:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint.aspx"&gt;Product Page&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/faqs.aspx"&gt;FAQ&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/documentation/PDF-Converter-for-SharePoint/Release-Notes.aspx"&gt;Release Notes&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/documentation/PDF-Converter-for-SharePoint/Administration-Guide.aspx"&gt;Installation &amp;amp; Administration Guide&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/documentation/PDF-Converter-for-SharePoint/User-Guide.aspx"&gt;User Guide&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/documentation/PDF-Converter-for-SharePoint/Screenshots.aspx"&gt;Screenshots&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/forum.aspx?ForumID=1"&gt;Discussion Forum&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blog.muhimbi.com/search/label/PDF%20Converter"&gt;Related Blog Posts&lt;/a&gt;. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;   &lt;br /&gt;As always, feel free to &lt;a href="http://www.muhimbi.com/contact.aspx"&gt;contact us using Twitter, our Blog, regular email&lt;/a&gt; or &lt;a href="http://eepurl.com/b6A7"&gt;subscribe to our newsletter&lt;/a&gt;.     &lt;br /&gt;    &lt;br /&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint/Free-Trial.aspx"&gt;Download your free trial here&lt;/a&gt; (14MB). &lt;span style="color: #ffffff"&gt;.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ffffff"&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5787751540548761056-1854712696271366341?l=blog.muhimbi.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.muhimbi.com/feeds/1854712696271366341/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.muhimbi.com/2012/01/pdf-converter-for-sharepoint-52-pdf.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/1854712696271366341" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/1854712696271366341" /><link rel="alternate" type="text/html" href="http://blog.muhimbi.com/2012/01/pdf-converter-for-sharepoint-52-pdf.html" title="PDF Converter for SharePoint 5.2 - PDF Splitting, MSG Conversion &amp;amp; PDF/A support" /><author><name>Muhimbi</name><uri>http://www.blogger.com/profile/00157302110307291964</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_bUq2JqpCltk/S40YDzxMdQI/AAAAAAAAAAM/MUnKJrXBLxA/S220/Muhimbi48x48.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/_bUq2JqpCltk/TMGv_rZy4AI/AAAAAAAAADw/kYDQzFupml0/s72-c/PDFBox5%5B3%5D.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5787751540548761056.post-5908155244976219271</id><published>2011-12-02T17:44:00.001Z</published><updated>2011-12-30T15:55:25.904Z</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="News" /><category scheme="http://www.blogger.com/atom/ns#" term="Products" /><category scheme="http://www.blogger.com/atom/ns#" term="Merging" /><category scheme="http://www.blogger.com/atom/ns#" term="pdf" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter Services" /><category scheme="http://www.blogger.com/atom/ns#" term="Articles" /><title type="text">Converting and merging multiple files using Java and the PDF Converter Services</title><content type="html">&lt;style type="text/css"&gt;

&lt;!--
	code { font-family: consolas, courier new, courier; font-size: 8pt; margin: 0px; }
	.java td { background-color: #fafafa; width:690px }
	.li_spacing {padding-bottom:3pt}
--&gt;&lt;/style&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px 0px 5px 15px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Java-Logo" border="0" alt="Java-Logo" align="right" src="http://lh5.ggpht.com/-VZ6Uog6uVBU/TtkRDnS1LNI/AAAAAAAAAQo/PcpSBZUQgW8/Java-Logo%25255B5%25255D.jpg?imgmax=800" width="61" height="113" /&gt;To facilitate the &lt;a href="http://blog.muhimbi.com/2011/05/converting-and-merging-multiple-files.html"&gt;new PDF Merging facility in our PDF Converter for SharePoint&lt;/a&gt; we have added the ability to &lt;em&gt;convert and merge multiple files&lt;/em&gt; to our core PDF Conversion engine, which our SharePoint product shares with our generic Java / .NET oriented &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-Services/summary.aspx"&gt;PDF Converter Services&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;In this post we’ll describe in detail how to invoke this new merging facility from your own code. This demo uses Java, but the web services based interface is identical when used from .NET (&lt;a href="http://blog.muhimbi.com/2011/05/converting-and-merging-multiple-pdf.html"&gt;See the .NET version of this same article&lt;/a&gt;).&amp;#160; &lt;br /&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This post is part of the following series related to manipulating PDF files using web services.&lt;/p&gt;  &lt;ul&gt;   &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2009/12/converting-office-files-to-pdf-format.html"&gt;Converting Office files to PDF Format using a Web Services based interface (C# / .NET)&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2010/04/convert-office-files-to-pdf-format-from.html"&gt;Converting Office files to PDF Format using a Web Services based interface (Java)&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2011/01/invoking-pdf-converter-web-service-from.html"&gt;Invoking the PDF Converter Web Service from Visual Studio 2005 using VB.net&lt;/a&gt; &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2011/02/using-windows-azure-to-convert.html"&gt;Using Windows Azure to convert documents to PDF format&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2010/06/using-awesome-new-watermarking-features.html"&gt;Using the awesome new watermarking features of the Muhimbi PDF Converter Services (C# / .NET)&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2010/06/using-pdf-watermarking-features-from.html"&gt;Using the PDF Watermarking features from Java based environments&lt;/a&gt;. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;     &lt;br /&gt;Key Features&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The key features of the new merging facilities are as follows:&lt;/p&gt;  &lt;ol&gt;   &lt;li class="li_spacing"&gt;Convert and merge any supported file format (inc. &lt;a href="http://blog.muhimbi.com/2010/08/convert-sharepoint-html-pages-to-pdf.html"&gt;HTML&lt;/a&gt;, &lt;a href="http://blog.muhimbi.com/2011/02/converting-autocad-dxf-dwg-files-using.html"&gt;AutoCAD&lt;/a&gt;, MS-Office, &lt;a href="http://blog.muhimbi.com/2010/08/converting-infopath-forms-including-all.html"&gt;InfoPath&lt;/a&gt;, &lt;a href="http://blog.muhimbi.com/2011/03/converting-tiff-files-to-pdf-using.html"&gt;TIFF&lt;/a&gt;, &lt;a href="http://blog.muhimbi.com/2011/11/blog-post.html"&gt;MSG&lt;/a&gt;) or merge existing PDF files. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2010/06/using-pdf-watermarking-features-from.html"&gt;Apply different watermarks&lt;/a&gt; on each individual file as well as on the entire merged file (e.g. page numbering). &lt;/li&gt;    &lt;li class="li_spacing"&gt;Apply PDF Security settings and restrictions on the merged file. &lt;/li&gt;    &lt;li class="li_spacing"&gt;Optionally skip (and report) corrupt / unsupported files. &lt;/li&gt;    &lt;li class="li_spacing"&gt;Add PDF Bookmarks for each converted file. &lt;/li&gt;    &lt;li class="li_spacing"&gt;Apply any &lt;em&gt;ConversionSetting&lt;/em&gt; supported by the &lt;a href="http://blog.muhimbi.com/2010/04/convert-office-files-to-pdf-format-from.html"&gt;regular conversion process&lt;/a&gt;. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;strong&gt;&amp;#160;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Object Model&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The object model is relatively straight forward. The classes related to PDF Merging are displayed below. A number of enumerations are used as well by the various classes, these can be found in our &lt;a href="http://blog.muhimbi.com/2009/12/converting-office-files-to-pdf-format.html"&gt;original post about Converting files using the Web Services interface&lt;/a&gt;. A detailed Developer Guide &lt;a href="http://www.muhimbi.com/support/documentation/PDF-Converter-Services/User---Developer-Guide.aspx"&gt;is available here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-YRCSND0Uw6c/TtkOWXVjMoI/AAAAAAAAAQY/HzfHRPCnGAs/s1600-h/ClassDiagram-Merging_thumb13%25255B2%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px 10px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="ClassDiagram-Merging_thumb13" border="0" alt="ClassDiagram-Merging_thumb13" src="http://lh4.ggpht.com/-fAizX7nOE5M/TtkOXv7g6iI/AAAAAAAAAQg/LIzoKZBYZ34/ClassDiagram-Merging_thumb13_thumb.png?imgmax=800" width="670" height="581" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;The Web Service method that controls merging of files is called &lt;em&gt;ProcessBatch&lt;/em&gt; (highlighted in the screenshot above). It accepts a &lt;em&gt;ProcessingOptions&lt;/em&gt; object that holds all information about the source files to convert and the &lt;em&gt;MergeSettings&lt;/em&gt; to apply, which may optionally include security and watermarking related settings. A &lt;em&gt;Results&lt;/em&gt; object is returned that, when it comes to merging of files, always contains a single file in element 0 that holds the byte array for the merged PDF file.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Sample code&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The following sample merges all files specified on the command line into a single PDF. If the source files are not already in PDF format then it automatically converts them in the process. A PDF bookmark is automatically generated for each merged file as well. &lt;/p&gt;  &lt;p&gt;The example described below assumes the following:&lt;/p&gt;  &lt;ol&gt;   &lt;li class="li_spacing"&gt;The JDK has been installed and configured. &lt;/li&gt;    &lt;li class="li_spacing"&gt;The Conversion Service and all prerequisites have been installed in line with the &lt;a href="http://www.muhimbi.com/support/documentation/PDF-Converter-Services/Administration-Guide.aspx"&gt;Administration Guide&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;The Conversion Service is running in the default &lt;i&gt;anonymous mode&lt;/i&gt;. This is not an absolute requirement, but it makes initial experimentation much easier. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The first step is to generate proxy classes for the web service by executing the following command:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;&amp;#160;&amp;#160;&amp;#160; wsimport http://localhost:41734/Muhimbi.DocumentConverter.WebService/?wsdl      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; -d src -Xnocompile -p com.muhimbi.ws&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Feel free to change the package name and destination directory to something more suitable for your organisation.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Wsimport&lt;/em&gt; automatically generates the Java class names. Unfortunately some of the generated names are rather long and ugly so you may want to consider renaming some, particularly the Exception classes, to something friendlier. This, however, means that if you ever run &lt;em&gt;wsimport&lt;/em&gt; again you will need to re-apply those changes. For more information have a look at the &lt;a href="http://blog.muhimbi.com/2009/12/converting-office-files-to-pdf-format.html"&gt;high level overview of the Object Model exposed by the web service&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Once the proxy classes have been created add the following sample code to your project. Run the code and make sure the files to merge are specified on the command line. &lt;/p&gt;  &lt;p&gt;As of version 5.2 this sample code is automatically installed alongside the product. The source code, including pre-generated proxy classes for the web service, &lt;a href="http://www.muhimbi.com/Images---Files/Blog/Convert-and-Merge.aspx"&gt;can be downloaded here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div class="java" align="left"&gt;   &lt;table border="0" cellspacing="0" cellpadding="3" bgcolor="#ffffff"&gt;&lt;tbody&gt;       &lt;tr&gt;&lt;!-- start source code --&gt;         &lt;td valign="top" nowrap="nowrap" align="left"&gt;&lt;code&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;package &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;com.muhimbi.app;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;              &lt;br /&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;import &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;com.muhimbi.ws.*;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;import &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;java.io.*;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;import &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;java.net.URL;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;import &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;javax.xml.bind.JAXBElement;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;import &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;javax.xml.namespace.QName;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;              &lt;br /&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;public class &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;WsClient &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;private final static &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;String DOCUMENTCONVERTERSERVICE_WSDL_LOCATION = &lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2a00ff"&gt;&amp;quot;http://localhost:41734/Muhimbi.DocumentConverter.WebService/?wsdl&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;private static &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;ObjectFactory _objectFactory = &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;ObjectFactory&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;public static &lt;/b&gt;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;void &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;main&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;String&lt;/font&gt;&lt;font color="#000000"&gt;[] &lt;/font&gt;&lt;font color="#000000"&gt;args&lt;/font&gt;&lt;font color="#000000"&gt;) {&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;try &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;if &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;args.length == &lt;/font&gt;&lt;font color="#990000"&gt;0&lt;/font&gt;&lt;font color="#000000"&gt;) {&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;System.out&lt;/font&gt;&lt;font color="#000000"&gt;.println&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#2a00ff"&gt;&amp;quot;Please specify one or more file names to convert and merge.&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;} &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;else &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;System.out.println&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#2a00ff"&gt;&amp;quot;Merging files&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#3f7f5f"&gt;// ** Initialise Web Service&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;DocumentConverterService_Service dcss = &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;DocumentConverterService_Service&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;URL&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;DOCUMENTCONVERTERSERVICE_WSDL_LOCATION&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;, &lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;QName&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#2a00ff"&gt;&amp;quot;http://tempuri.org/&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;, &lt;/font&gt;&lt;font color="#2a00ff"&gt;&amp;quot;DocumentConverterService&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;))&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;DocumentConverterService dcs = dcss.getBasicHttpBindingDocumentConverterService&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#3f7f5f"&gt;// ** Get the options for all files that need to be merged&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;ProcessingOptions processingOptions = getProcessingOptions&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;args&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#3f7f5f"&gt;// ** Carry out the merging (and converting if needed)&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;BatchResults results = dcs.processBatch&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;processingOptions&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#3f7f5f"&gt;// ** Get the content of the first file, which holds the merged file in the byte array&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;byte&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;[] &lt;/font&gt;&lt;font color="#000000"&gt;convertedFile = results.getResults&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;.getValue&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;.getBatchResult&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;.get&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#990000"&gt;0&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;.getFile&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;.getValue&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#3f7f5f"&gt;// ** Write converted file to file system&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;writeFile&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;convertedFile, &lt;/font&gt;&lt;font color="#2a00ff"&gt;&amp;quot;merged.pdf&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;System.out.println&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#2a00ff"&gt;&amp;quot;Files merged into 'merged.pdf'&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;} &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;catch &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;IOException e&lt;/font&gt;&lt;font color="#000000"&gt;) {&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;System.out.println&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;e.getMessage&lt;/font&gt;&lt;font color="#000000"&gt;())&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;} &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;catch &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;DocumentConverterServiceProcessBatchWebServiceFaultExceptionFaultFaultMessage e&lt;/font&gt;&lt;font color="#000000"&gt;) {&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;printException&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;e.getFaultInfo&lt;/font&gt;&lt;font color="#000000"&gt;())&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;public static &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;ProcessingOptions getProcessingOptions&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;String&lt;/font&gt;&lt;font color="#000000"&gt;[] &lt;/font&gt;&lt;font color="#000000"&gt;sourceFileNames&lt;/font&gt;&lt;font color="#000000"&gt;) &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;throws &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;IOException&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#3f7f5f"&gt;// ** Options and all settings for batch conversion&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;ProcessingOptions processingOptions = &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;ProcessingOptions&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#3f7f5f"&gt;// ** Specify the minimum level of merge settings, you can optionally add watermarks and security settings&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;MergeSettings mergeSettings = &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;MergeSettings&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;mergeSettings.setBreakOnError&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;false&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;processingOptions.setMergeSettings&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;_objectFactory.createProcessingOptionsMergeSettings&lt;/font&gt;&lt;font color="#000000"&gt;( &lt;/font&gt;&lt;font color="#000000"&gt;mergeSettings &lt;/font&gt;&lt;font color="#000000"&gt;))&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#3f7f5f"&gt;// ** Create an array of files to merge&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;ArrayOfSourceFile sourceFiles = &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;ArrayOfSourceFile&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;for&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;int &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;i =&lt;/font&gt;&lt;font color="#990000"&gt;0&lt;/font&gt;&lt;font color="#000000"&gt;; i&amp;lt;sourceFileNames.length; i++&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;SourceFile sourceFile = getSourceFile&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;sourceFileNames&lt;/font&gt;&lt;font color="#000000"&gt;[&lt;/font&gt;&lt;font color="#000000"&gt;i&lt;/font&gt;&lt;font color="#000000"&gt;])&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;sourceFiles.getSourceFile&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;.add&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;sourceFile&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;processingOptions.setSourceFiles&lt;/font&gt;&lt;font color="#000000"&gt;( &lt;/font&gt;&lt;font color="#000000"&gt;_objectFactory.createProcessingOptionsSourceFiles&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;sourceFiles&lt;/font&gt;&lt;font color="#000000"&gt;))&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;return &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;processingOptions;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;public static &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;SourceFile getSourceFile&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;String fileName&lt;/font&gt;&lt;font color="#000000"&gt;) &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;throws &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;IOException&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;File file = &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;File&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;fileName&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#3f7f5f"&gt;// ** Read the contents of the file&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;System.out.println&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#2a00ff"&gt;&amp;quot;- Reading: &amp;quot; &lt;/font&gt;&lt;font color="#000000"&gt;+ fileName&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;byte&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;[] &lt;/font&gt;&lt;font color="#000000"&gt;sourceFileContent = readFile&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;fileName&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#3f7f5f"&gt;// ** Set the absolute minimum open options&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;OpenOptions openOptions = getOpenOptions&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;getFileName&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;file&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;, getFileExtension&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;file&lt;/font&gt;&lt;font color="#000000"&gt;) )&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#3f7f5f"&gt;// ** Set the absolute minimum conversion settings.&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;ConversionSettings conversionSettings = getConversionSettings&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#3f7f5f"&gt;// ** Create merge settings for each file and set the name for the PDF bookmark&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;FileMergeSettings fileMergeSettings = &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;FileMergeSettings&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;                &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160; fileMergeSettings.setTopLevelBookmark&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;_objectFactory.createFileMergeSettingsTopLevelBookmark&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;file.getName&lt;/font&gt;&lt;font color="#000000"&gt;()))&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#3f7f5f"&gt;// ** Create a source file object and return it&lt;/font&gt;               &lt;br /&gt;&lt;font color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160; SourceFile sourceFile = &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;SourceFile&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160; sourceFile.setOpenOptions&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;_objectFactory.createSourceFileOpenOptions&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;openOptions&lt;/font&gt;&lt;font color="#000000"&gt;))&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160; sourceFile.setConversionSettings&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;_objectFactory.createSourceFileConversionSettings&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;conversionSettings&lt;/font&gt;&lt;font color="#000000"&gt;))&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160; sourceFile.setMergeSettings&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;_objectFactory.createSourceFileMergeSettings&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;fileMergeSettings&lt;/font&gt;&lt;font color="#000000"&gt;))&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160; sourceFile.setFile&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;_objectFactory.createSourceFileFile&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;sourceFileContent&lt;/font&gt;&lt;font color="#000000"&gt;))&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;return &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;sourceFile;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;br /&gt;&lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;public static &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;OpenOptions getOpenOptions&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;String fileName, String fileExtension&lt;/font&gt;&lt;font color="#000000"&gt;) {&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;OpenOptions openOptions = &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;OpenOptions&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#3f7f5f"&gt;// ** Set the minimum required open options. Additional options are available&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;openOptions.setOriginalFileName&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;_objectFactory.createOpenOptionsOriginalFileName&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;fileName&lt;/font&gt;&lt;font color="#000000"&gt;))&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;openOptions.setFileExtension&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;_objectFactory.createOpenOptionsFileExtension&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;fileExtension&lt;/font&gt;&lt;font color="#000000"&gt;))&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;return &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;openOptions;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;              &lt;br /&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;public static &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;ConversionSettings getConversionSettings&lt;/font&gt;&lt;font color="#000000"&gt;() {&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;ConversionSettings conversionSettings = &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;ConversionSettings&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#3f7f5f"&gt;// ** Set the minimum required conversion settings. Additional settings are available&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;conversionSettings.setQuality&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;ConversionQuality.OPTIMIZE_FOR_PRINT&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;conversionSettings.setRange&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;ConversionRange.ALL_DOCUMENTS&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;conversionSettings.getFidelity&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;.add&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#2a00ff"&gt;&amp;quot;Full&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;conversionSettings.setFormat&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;OutputFormat.PDF&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;return &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;conversionSettings;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;br /&gt;&lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;public static &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;String getFileName&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;File file&lt;/font&gt;&lt;font color="#000000"&gt;) {&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;String fileName = file.getName&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;return &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;fileName&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;              &lt;br /&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;public static &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;String getFileExtension&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;File file&lt;/font&gt;&lt;font color="#000000"&gt;) {&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;String fileName = file.getName&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;return &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;fileName.substring&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;fileName.lastIndexOf&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#990000"&gt;'.'&lt;/font&gt;&lt;font color="#000000"&gt;) &lt;/font&gt;&lt;font color="#000000"&gt;+ &lt;/font&gt;&lt;font color="#990000"&gt;1&lt;/font&gt;&lt;font color="#000000"&gt;, fileName.length&lt;/font&gt;&lt;font color="#000000"&gt;())&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;              &lt;br /&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;public static &lt;/b&gt;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;byte&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;[] &lt;/font&gt;&lt;font color="#000000"&gt;readFile&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;String filepath&lt;/font&gt;&lt;font color="#000000"&gt;) &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;throws &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;IOException &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;File file = &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;File&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;filepath&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;InputStream is = &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;FileInputStream&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;file&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;long &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;length = file.length&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;byte&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;[] &lt;/font&gt;&lt;font color="#000000"&gt;bytes = &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;byte&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;[(&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;int&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;) &lt;/font&gt;&lt;font color="#000000"&gt;length&lt;/font&gt;&lt;font color="#000000"&gt;]&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;int &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;offset = &lt;/font&gt;&lt;font color="#990000"&gt;0&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;int &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;numRead;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;while &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;offset &amp;lt; bytes.length&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;&amp;amp;&amp;amp; &lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;numRead = is.read&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;bytes, offset, bytes.length - offset&lt;/font&gt;&lt;font color="#000000"&gt;)) &lt;/font&gt;&lt;font color="#000000"&gt;&amp;gt;= &lt;/font&gt;&lt;font color="#990000"&gt;0&lt;/font&gt;&lt;font color="#000000"&gt;) {&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;offset += numRead;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;if &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;offset &amp;lt; bytes.length&lt;/font&gt;&lt;font color="#000000"&gt;) {&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;throw new &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;IOException&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#2a00ff"&gt;&amp;quot;Could not completely read file &amp;quot; &lt;/font&gt;&lt;font color="#000000"&gt;+ file.getName&lt;/font&gt;&lt;font color="#000000"&gt;())&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;is.close&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;return &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;bytes;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;              &lt;br /&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;public static &lt;/b&gt;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;void &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;writeFile&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;byte&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;[] &lt;/font&gt;&lt;font color="#000000"&gt;fileContent, String filepath&lt;/font&gt;&lt;font color="#000000"&gt;) &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;throws &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;IOException &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;OutputStream os = &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;FileOutputStream&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;filepath&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;os.write&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;fileContent&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;os.close&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;               &lt;br /&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;public static &lt;/b&gt;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;void &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;printException&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;WebServiceFaultException serviceFaultException&lt;/font&gt;&lt;font color="#000000"&gt;) {&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;System.out.println&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;serviceFaultException.getExceptionType&lt;/font&gt;&lt;font color="#000000"&gt;())&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;JAXBElement&amp;lt;ArrayOfstring&amp;gt; element = serviceFaultException.getExceptionDetails&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;ArrayOfstring value = element.getValue&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;for &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;String msg : value.getString&lt;/font&gt;&lt;font color="#000000"&gt;()) {&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;System.out.println&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;msg&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;              &lt;br /&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;/code&gt; &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p&gt;&lt;font color="#ffffff"&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5787751540548761056-5908155244976219271?l=blog.muhimbi.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.muhimbi.com/feeds/5908155244976219271/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.muhimbi.com/2011/12/converting-and-merging-multiple-files.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/5908155244976219271" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/5908155244976219271" /><link rel="alternate" type="text/html" href="http://blog.muhimbi.com/2011/12/converting-and-merging-multiple-files.html" title="Converting and merging multiple files using Java and the PDF Converter Services" /><author><name>Muhimbi</name><uri>http://www.blogger.com/profile/00157302110307291964</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_bUq2JqpCltk/S40YDzxMdQI/AAAAAAAAAAM/MUnKJrXBLxA/S220/Muhimbi48x48.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/-VZ6Uog6uVBU/TtkRDnS1LNI/AAAAAAAAAQo/PcpSBZUQgW8/s72-c/Java-Logo%25255B5%25255D.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5787751540548761056.post-7590824879334011770</id><published>2011-11-25T18:16:00.001Z</published><updated>2011-11-25T18:26:50.721Z</updated><category scheme="http://www.blogger.com/atom/ns#" term="Watermarking" /><category scheme="http://www.blogger.com/atom/ns#" term="MuSH" /><category scheme="http://www.blogger.com/atom/ns#" term="News" /><category scheme="http://www.blogger.com/atom/ns#" term="SP2010" /><category scheme="http://www.blogger.com/atom/ns#" term="pdf" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter" /><category scheme="http://www.blogger.com/atom/ns#" term="Workflow" /><category scheme="http://www.blogger.com/atom/ns#" term="Articles" /><title type="text">Embedding SharePoint Document IDs in PDF files and generating Short URLs</title><content type="html">&lt;style&gt;



&lt;!-- .li_spacing {padding-bottom:3pt}--&gt;&lt;/style&gt;  &lt;p&gt;&lt;img style="margin: 5px 10px 5px 0px; display: inline; float: right" title="Can I see your ID please?" alt="" align="right" src="http://www.spainsmart.com/wp-content/uploads/2011/05/passport_icon.jpg" /&gt;Some time ago we wrote about some new functionality in the &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint/summary.aspx"&gt;PDF Converter for SharePoint&lt;/a&gt; that allows &lt;a href="http://blog.muhimbi.com/2011/04/applying-user-specific-watermarks-when.html"&gt;‘real-time’ and ‘user specific’ watermarks to be added to PDF files&lt;/a&gt; as soon these files are opened / downloaded / copied. This has proven a real hit with our customers and one of the questions that recently came up is how to use this functionality in combination with the &lt;a href="http://msdn.microsoft.com/en-us/library/ee559302.aspx"&gt;SharePoint 2010’s Document ID Service&lt;/a&gt;. (Hint, the internal field names are called &lt;em&gt;_dlc_DocId&lt;/em&gt;, &lt;em&gt;_dlc_DocIdUrl&lt;/em&gt; and &lt;em&gt;_dlc_DocIdPersistId)&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;In this post we’ll show how to automatically apply a watermark containing the Document ID to PDF files and then generate a Short URL based on this Document ID. Rather than using our &lt;em&gt;watermark on open&lt;/em&gt; facility, we’ll create a SharePoint Designer workflow that carries out the work. Once a Document ID has been created it never changes so although real-time watermarking will work, it is not necessary and a waste of valuable processing resources.&lt;/p&gt;  &lt;p&gt;Please note that the example in this post uses both the Muhimbi PDF Converter for SharePoint and the &lt;a href="http://www.muhimbi.com/Products/SharePoint-URL-Shortener/summary.aspx"&gt;Muhimbi URL Shortener for SharePoint&lt;/a&gt;. If you are only interested in URL Shortening or just in Watermarking then you can change the sample accordingly. Also in this example we are not carrying out any PDF Conversion. Examples for PDF Conversion are available on our site for &lt;a href="http://blog.muhimbi.com/2009/04/using-pdf-converter-from-sharepoint.html"&gt;SharePoint Designer&lt;/a&gt; as well as &lt;a href="http://blog.muhimbi.com/2010/12/converting-multiple-files-to-pdf-format.html"&gt;Nintex Workflow&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;OK, let’s get all the prerequisites in place first.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Download and install the &lt;a href="http://muhimbi.com/Products/PDF-Converter-for-SharePoint/Free-Trial.aspx"&gt;PDF Converter for SharePoint&lt;/a&gt; and install it as described in Chapter 2 of the included Administration Guide.       &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;Download and install the &lt;a href="http://www.muhimbi.com/Products/SharePoint-URL-Shortener/Free-Trial.aspx"&gt;URL Shortener for SharePoint&lt;/a&gt; and configure it to accept short URLs on a web application of your choice as described in the included Administration Guide.       &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;If not already installed, download and install the &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=16573"&gt;free SharePoint Designer&lt;/a&gt; for your environment.&amp;#160; &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;Make sure you have the appropriate privileges to create workflows on a site collection.      &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.sharepointbriefing.com/spcode/article.php/3898501/Use-SharePoint-2010-Document-ID-to-Avoid-Broken-Links.htm"&gt;Enable and configure SharePoint 2010’s Document ID Service&lt;/a&gt; &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p align="center"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-TPk-79y5F-c/Ts_bj48TAZI/AAAAAAAAAP4/f5ji1OGAR90/image%25255B24%25255D.png?imgmax=800" width="468" height="284" /&gt;     &lt;br /&gt;&lt;em&gt;&lt;font size="1"&gt;Item with Document ID Populated&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160; &lt;br /&gt;With the prerequisites in place, let’s build our custom solution.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;On a Document Library of your choice, modify the View to include the &lt;em&gt;Document ID&lt;/em&gt; field. (This is just for reference, you don’t need it in the real world.)       &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;On this same document library create a new field named &lt;em&gt;Short URL&lt;/em&gt; of type &lt;em&gt;Hyperlink&lt;/em&gt;. (This is just to see the name of the short URL after the workflow has executed, it is not needed in the real world).       &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;Create a new SharePoint Designer Workflow using a method of your choice. In this example we’ll do this by navigating to the &lt;em&gt;Library Tab&lt;/em&gt; and then selecting &lt;em&gt;Settings / Workflow Settings / Create a Workflow in SharePoint Designer&lt;/em&gt;.       &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;Give the workflow a sensible name, e.g. &lt;em&gt;Document ID Processing &lt;/em&gt;and change the workflow settings to automatically start when an item is created.       &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;Switch to &lt;em&gt;Edit Workflow&lt;/em&gt; and insert a &lt;em&gt;Create Short URL&lt;/em&gt; workflow Action.       &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;Click &lt;u&gt;optional short name&lt;/u&gt;, followed by the &lt;em&gt;fx&lt;/em&gt; button.       &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;From the 'lookup string' dialog, select &lt;em&gt;Document ID Value&lt;/em&gt; from the &lt;em&gt;Field from source&lt;/em&gt; drop down and close the dialog.       &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;Click &lt;u&gt;this ID / address&lt;/u&gt;, followed by the '...' button.       &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;Enter the Document ID URL for your site, you can copy it from the &lt;em&gt;Document ID&lt;/em&gt; of an existing item. Generally it is something like &lt;em&gt;http://&amp;lt;path to your site collection&amp;gt;/_layouts/DocIdRedir.aspx?ID=&lt;/em&gt; .      &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;Position the cursor after the '=', click the &lt;em&gt;Add or Change Lookup&lt;/em&gt; button and select the &lt;em&gt;Document ID Value&lt;/em&gt; again. Close the String Builder.&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/li&gt;    &lt;li&gt;From &lt;u&gt;Document / Display Form&lt;/u&gt; select &lt;em&gt;Document.&lt;/em&gt;&amp;#160; &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;From &lt;u&gt;Overwrite / Return null&lt;/u&gt; select &lt;em&gt;Overwrite&lt;/em&gt;.      &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;When the workflow executes it will write the shortened URL to a workflow variable named &lt;em&gt;this variable&lt;/em&gt;. The variable name can be changed, but we accept the default.       &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;Insert a &lt;em&gt;set field in current item&lt;/em&gt; workflow action, select &lt;em&gt;Short URL&lt;/em&gt; as the &lt;u&gt;field&lt;/u&gt;.       &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;Click &lt;u&gt;value&lt;/u&gt;, followed by the &lt;em&gt;fx&lt;/em&gt; button. From the &lt;em&gt;Data Source&lt;/em&gt; select &lt;em&gt;Workflow Variables and Parameters&lt;/em&gt; and from &lt;em&gt;Field from source&lt;/em&gt; select &lt;em&gt;this variable&lt;/em&gt;. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ol&gt;   &lt;p&gt;The URL Shortening part of the example is now ready. Publish the workflow, upload a file to your document library and after a few seconds the &lt;em&gt;Short URL&lt;/em&gt; field will be populated. Click the &lt;em&gt;Short URL&lt;/em&gt; to verify it works.       &lt;br /&gt;&amp;#160; &lt;br /&gt;&amp;#160; &lt;br /&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;a href="http://lh3.ggpht.com/-WbOrb8jVbUw/Ts_bkQEu7UI/AAAAAAAAAP8/KxCVbSVUgxA/s1600-h/WM-and-Short-URL%25255B7%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="WM-and-Short-URL" border="0" alt="WM-and-Short-URL" src="http://lh5.ggpht.com/-wsCRT3HgwFc/Ts_blf4cGgI/AAAAAAAAAQI/dSHZUeMbsLU/WM-and-Short-URL_thumb%25255B5%25255D.png?imgmax=800" width="694" height="127" /&gt;&lt;/a&gt;       &lt;br /&gt;&lt;em&gt;&lt;font size="1"&gt;This is what the final workflow will look like after the Watermarking is added as well&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&amp;#160; &lt;br /&gt;You can do whatever you like with this Short URL. Send it by email, tell someone on the phone, or.... embed it in a watermark, something we'll do next.&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt;    &lt;p&gt;Return to the Workflow editor and add the following steps:&lt;/p&gt;    &lt;li&gt;Position the cursor &lt;strong&gt;JUST ABOVE&lt;/strong&gt; the previously added &lt;em&gt;Set field&lt;/em&gt; action and add the &lt;em&gt;If current item field matches condition&lt;/em&gt;.       &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;Click &lt;u&gt;field&lt;/u&gt; and select &lt;em&gt;File Type.&lt;/em&gt;&amp;#160; &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;In &lt;u&gt;value&lt;/u&gt; enter &lt;em&gt;pdf&lt;/em&gt; (lower case, no '.' prefixed) .      &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;Position the cursor inside the condition and add the &lt;em&gt;Add Text Watermark&lt;/em&gt; activity (other watermark types are also available).      &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;Fill out the fields for the watermark      &lt;br /&gt;&amp;#160; &lt;br /&gt;- &lt;u&gt;this document&lt;/u&gt;: Set to &lt;em&gt;Current Item&lt;/em&gt;.      &lt;br /&gt;- &lt;u&gt;this file&lt;/u&gt;: Leave the default to overwrite the existing file.      &lt;br /&gt;- &lt;u&gt;content&lt;/u&gt;: Add the &lt;em&gt;this variable&lt;/em&gt; Workflow Variable to insert the previously generated URL. Other content can be added as well.      &lt;br /&gt;- &lt;u&gt;position&lt;/u&gt;: Bottom Center.      &lt;br /&gt;- &lt;u&gt;width&lt;/u&gt; x &lt;u&gt;height&lt;/u&gt;: 600 x 30 &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;That should take care of the watermarking. Publish the workflow and upload a PDF file. You should now see the Short URL being created and when the document is opened you should see the Short URL at the bottom of the document.&lt;/p&gt;  &lt;p&gt;If you find this useful, or have any questions, then feel free to leave a comment below.&lt;/p&gt;  &lt;p&gt;&lt;font color="#ffffff"&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5787751540548761056-7590824879334011770?l=blog.muhimbi.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.muhimbi.com/feeds/7590824879334011770/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.muhimbi.com/2011/11/embedding-sharepoint-document-ids-in.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/7590824879334011770" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/7590824879334011770" /><link rel="alternate" type="text/html" href="http://blog.muhimbi.com/2011/11/embedding-sharepoint-document-ids-in.html" title="Embedding SharePoint Document IDs in PDF files and generating Short URLs" /><author><name>Muhimbi</name><uri>http://www.blogger.com/profile/00157302110307291964</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_bUq2JqpCltk/S40YDzxMdQI/AAAAAAAAAAM/MUnKJrXBLxA/S220/Muhimbi48x48.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-TPk-79y5F-c/Ts_bj48TAZI/AAAAAAAAAP4/f5ji1OGAR90/s72-c/image%25255B24%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5787751540548761056.post-6695730134653969046</id><published>2011-11-23T10:13:00.001Z</published><updated>2012-01-25T17:51:46.978Z</updated><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter" /><category scheme="http://www.blogger.com/atom/ns#" term="Workflow" /><category scheme="http://www.blogger.com/atom/ns#" term="Articles" /><title type="text">Specifying paths and file names when using the PDF Converter for SharePoint</title><content type="html">&lt;style&gt;


&lt;!-- .li_spacing {padding-bottom:3pt}--&gt;&lt;/style&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px 0px 5px 10px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="File-Paths" border="0" alt="File-Paths" align="right" src="http://lh4.ggpht.com/-l3aTxlp03BU/TszHQpzNRcI/AAAAAAAAAPg/f3KzpgiLIIo/File-Paths%25255B4%25255D.png?imgmax=800" width="130" height="136" /&gt;The &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint/summary.aspx"&gt;Muhimbi PDF Converter for SharePoint&lt;/a&gt; has grown over the last few years from a relatively modest SharePoint GUI application to a sophisticated framework that can be used from &lt;a href="http://blog.muhimbi.com/2010/12/converting-multiple-files-to-pdf-format.html"&gt;Nintex&lt;/a&gt;, &lt;a href="http://blog.muhimbi.com/2009/04/using-pdf-converter-from-sharepoint.html"&gt;SharePoint Designer&lt;/a&gt; and &lt;a href="http://blog.muhimbi.com/2009/12/converting-office-files-to-pdf-format.html"&gt;Visual Studio workflows&lt;/a&gt; to carry out all kind of PDF processing, including &lt;a href="http://blog.muhimbi.com/2010/12/securing-pdf-files-using-sharepoint.html"&gt;securing&lt;/a&gt;, &lt;a href="http://blog.muhimbi.com/2010/10/watermarking-features-of-muhimbi-pdf.html"&gt;watermarking&lt;/a&gt;, &lt;a href="http://blog.muhimbi.com/2011/10/splitting-pdf-files-using-sharepoint.html"&gt;splitting&lt;/a&gt; and &lt;a href="http://blog.muhimbi.com/2011/08/converting-and-merging-multiple-pdf.html"&gt;merging&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Regardless of the operation that is carried out, input and / or output file names, including paths, need to be specified. Although we have tried to make this as&amp;#160; intuitive as possible, and we continue to make improvements, according to our statistics the most common support call we receive is related to how to specify these paths. We hope to clarify the situation in this post.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Targeting the same directory / using the same file name as the source file&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;If you wish to read from or write to the same location as the source file that is being processed, e.g. you are using a SharePoint Designer workflow to automatically &lt;a href="http://blog.muhimbi.com/2009/04/using-pdf-converter-from-sharepoint.html"&gt;convert files to PDF&lt;/a&gt;, then leave the path empty. This works for all situations with the exception of the &lt;a href="http://blog.muhimbi.com/2010/08/converting-sharepoint-lists-to-pdf.html"&gt;HTML to PDF Conversion&lt;/a&gt; as that is not necessarily associated with a source file (it can convert URLs as well).&lt;/p&gt;  &lt;p&gt;If you wish to use the same name for the target file as the source file then there is no need to specify a file name, the system will generate the name for you. When converting files to PDF the files’ extension will automatically be updated to ‘PDF’, however when the source file is a PDF (e.g. when applying PDF Security) then omitting the file name and path will overwrite the source file. This may be desired, but keep it in mind. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Targeting a (sub) folder in the current Document Library&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;If you wish to specify a (sub) folder in the same Document Library as the source file then you must specify the Document Library name as well as the path to the folder. Just specifying the folder name will not work. For example to convert a file to the ‘&lt;em&gt;Archives/PDFs&lt;/em&gt;’ folder in the &lt;em&gt;Shared Documents&lt;/em&gt; library, specify:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Shared Documents/Archives/PDFs/&amp;#160; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Make sure you use a trailing slash as that is used in some cases to resolve potentially conflicting file and folder names. Please do not start the path with a slash in this particular case.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Targeting a different Document Library&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;To specify a location in a different Document Library in the current Site, specify the name of the Document Library followed by any folders. E.g. if your workflow activity is operating on a file in the &lt;em&gt;Shared Documents&lt;/em&gt; library, but you want to write the generated file to the &lt;em&gt;PDF&lt;/em&gt; folder in the &lt;em&gt;Archive&lt;/em&gt; Document Library then specify the following as the path:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Archive/PDF/&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Make sure you use a trailing slash when specifying folders as that is used in some cases to resolve potentially conflicting file and folder names.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Targeting a Sub Site&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;SharePoint Site Collections can contain multiple Sub Sites. To write a file to a location in a Sub Site specify the name of that Sub Site followed by the name of the Document Library followed by any folder names. For example if the current workflow is acting on a file in the root web of a Site Collection and you wish to write it to the &lt;em&gt;PDFs&lt;/em&gt; folder in the &lt;em&gt;Paid&lt;/em&gt; Document Library in the &lt;em&gt;Invoices&lt;/em&gt; Sub Site specify the following path:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Invoices/Paid/PDFs/&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Make sure you use a trailing slash when specifying folders as that is used in some cases to resolve potentially conflicting file and folder names.&lt;/p&gt;  &lt;p&gt;To target a Sub Site ‘next’ to the current site, use an absolute path. For details see &lt;em&gt;Targeting a different Site Collection&lt;/em&gt; below. Please note that ‘traditional’ relative path notation such as ‘../../’ is not supported.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Targeting a different Site Collection&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;In order to read from or write to a file in a different site collection you have to use an absolute path starting with ‘/’. For example if a PDF Conversion workflow is running in the &lt;em&gt;Accounting&lt;/em&gt; Site collection and the generated PDF file should be written to the &lt;em&gt;Archiving&lt;/em&gt; site collection in the &lt;em&gt;PDFs&lt;/em&gt; folder in the &lt;em&gt;Accounting&lt;/em&gt; Document Library, use the following path&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /Archiving/Accounting/PDFs/&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;If all your Site Collections live under ‘/sites/’ then this will need to be reflected in the path, e.g.&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /sites/Archiving/Accounting/PDFs/&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Please do not start absolute paths with &lt;em&gt;http://YourWebApplication/&lt;/em&gt;, always start absolute paths with a slash.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Targeting a different Web Application&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;As there are clear security boundaries between SharePoint Web Applications it is not possible to exchange files between them. If this is required then you will need to use a third party Workflow Activity, use Nintex Workflow or write a little bit of custom code using the &lt;a href="http://www.muhimbi.com/Products/Workflow-Power-Pack-for-SharePoint/summary.aspx"&gt;Muhimbi Workflow Power Pack&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Creating dynamic paths / file names&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;All of Muhimbi’s SharePoint Designer and Nintex Workflow activities allow lookup variables to be used in order to generate dynamic paths. For example, in order to make a workflow generic, the name of a source or target File / Library / Folder can&amp;#160; be determined at run-time.    &lt;br /&gt;&amp;#160;&lt;/p&gt;  &lt;p align="center"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="PDF-Merge-2010" border="0" alt="PDF-Merge-2010" src="http://lh3.ggpht.com/-sr_J03xaRKA/TszHRE-ilBI/AAAAAAAAAPk/ByXzedToCdw/PDF-Merge-2010%25255B12%25255D.png?imgmax=800" width="366" height="146" /&gt;&lt;em&gt;For Nintex Workflow use the ‘Insert Reference’ button      &lt;br /&gt;&amp;#160; &lt;/em&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="workflow variables" border="0" alt="workflow variables" src="http://lh4.ggpht.com/-0DsfMcSG0uo/TszHRmWdhcI/AAAAAAAAAPw/p1Yc0ktWFMM/workflow%252520variables%25255B5%25255D.png?imgmax=800" width="520" height="196" /&gt;&lt;em&gt;In SharePoint Designer use the ‘Add Lookup’ button&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Some final, generic, hints and tips:&lt;/p&gt;  &lt;ul&gt;   &lt;li class="li_spacing"&gt;Never start a path with &lt;em&gt;http://YourWebApplication/&lt;/em&gt;. Start absolute paths with a ‘/’. &lt;/li&gt;    &lt;li class="li_spacing"&gt;Some activities support templates in the output file name, e.g. to automatically generate file names &lt;a href="http://blog.muhimbi.com/2011/10/splitting-pdf-files-using-sharepoint.html"&gt;when splitting PDFs&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;Although you can use forward (/) as well as back (\) slashes, make it a habit to use forward slashes as SharePoint Designer 2010 workflows &lt;a href="http://support.microsoft.com/?id=2529610"&gt;do not always deal well with back slashes&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;No matter where you read from or write to, your user must have access to the location that is being specified. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;font color="#ffffff"&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5787751540548761056-6695730134653969046?l=blog.muhimbi.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.muhimbi.com/feeds/6695730134653969046/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.muhimbi.com/2011/11/specifying-paths-and-file-names-when.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/6695730134653969046" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/6695730134653969046" /><link rel="alternate" type="text/html" href="http://blog.muhimbi.com/2011/11/specifying-paths-and-file-names-when.html" title="Specifying paths and file names when using the PDF Converter for SharePoint" /><author><name>Muhimbi</name><uri>http://www.blogger.com/profile/00157302110307291964</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_bUq2JqpCltk/S40YDzxMdQI/AAAAAAAAAAM/MUnKJrXBLxA/S220/Muhimbi48x48.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/-l3aTxlp03BU/TszHQpzNRcI/AAAAAAAAAPg/f3KzpgiLIIo/s72-c/File-Paths%25255B4%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5787751540548761056.post-8786456482466441098</id><published>2011-11-16T14:48:00.001Z</published><updated>2011-11-16T17:05:48.967Z</updated><category scheme="http://www.blogger.com/atom/ns#" term="News" /><category scheme="http://www.blogger.com/atom/ns#" term="MSG" /><category scheme="http://www.blogger.com/atom/ns#" term="pdf" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter Services" /><category scheme="http://www.blogger.com/atom/ns#" term="Articles" /><title type="text">Convert Outlook MSG files to PDF, with attachments, using the Muhimbi PDF Converter</title><content type="html">&lt;style&gt;


&lt;!-- .li_spacing {padding-bottom:3pt}--&gt;&lt;/style&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px 10px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Email-Icon" border="0" alt="Email-Icon" align="right" src="http://lh6.ggpht.com/-ZbuMT5SkIIk/TsPNVBd6HpI/AAAAAAAAAPQ/stnRA8MMIjc/Email-Icon%25255B8%25255D.jpg?imgmax=800" width="147" height="116" /&gt;&lt;/p&gt;  &lt;p&gt;In our eternal quest to add support for as many file formats as possible we have arrived at the ‘&lt;em&gt;MSG&lt;/em&gt;’ file format. Many people don’t realise that this is probably the most popular file format in the world as each individual message in your Outlook client is an MSG file. As a result I personally have more than 50.000 of these ‘files’ on my machine.&lt;/p&gt;  &lt;p&gt;Official support for the MSG file type is available starting with version 5.2 of the &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint/summary.aspx"&gt;Muhimbi PDF Converter for SharePoint&lt;/a&gt; as well the &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-Services/summary.aspx"&gt;PDF Converter Services&lt;/a&gt;. The key features are as follows:&lt;/p&gt;  &lt;ol&gt;   &lt;li class="li_spacing"&gt;Support for all common MSG content types, including HTML, RTF and plain text. &lt;/li&gt;    &lt;li class="li_spacing"&gt;Conversion of rich content including in-line images. &lt;/li&gt;    &lt;li class="li_spacing"&gt;Conversion of attachments. &lt;/li&gt;    &lt;li class="li_spacing"&gt;No need for external dependencies on the server, e.g. Outlook.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160; &lt;br /&gt;Like proud parents we ‘love all our features equally’, but our favourite &lt;strike&gt;child&lt;/strike&gt; feature is the automatic conversion of attachments. Many of our customers are sitting on massive heaps of emails that need to go through a long term archiving process to make sure that 30-40 years down the line this information can still be retrieved. Using the new MSG to PDF facility of our products it is now possible to convert each email, including all attachments, to a single PDF file. In combination with our &lt;a href="http://blog.muhimbi.com/search/label/PDF%2FA"&gt;PDF/A post-processing facility&lt;/a&gt; this is the perfect solution for long time archiving.&lt;/p&gt;  &lt;p&gt;As the converter is part of our highly scalable PDF Conversion platform, it automatically benefits from all its features including reliability, scalability, &lt;a href="http://blog.muhimbi.com/2010/10/watermarking-features-of-muhimbi-pdf.html"&gt;watermarking engine&lt;/a&gt;, cross platform support, &lt;a href="http://blog.muhimbi.com/2009/12/converting-office-files-to-pdf-format.html"&gt;web services based API&lt;/a&gt;, &lt;a href="http://blog.muhimbi.com/2010/12/securing-pdf-files-using-sharepoint.html"&gt;PDF security&lt;/a&gt;, &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint/summary.aspx"&gt;SharePoint integration&lt;/a&gt;, &lt;a href="http://blog.muhimbi.com/2010/12/converting-multiple-files-to-pdf-format.html"&gt;Nintex Workflow integration&lt;/a&gt;, &lt;a href="http://blog.muhimbi.com/2010/04/convert-office-files-to-pdf-format-from.html"&gt;Java support&lt;/a&gt;, &lt;a href="http://blog.muhimbi.com/2010/08/converting-infopath-forms-including-all.html"&gt;InfoPath attachments&lt;/a&gt;, &lt;a href="http://blog.muhimbi.com/2011/02/using-windows-azure-to-convert.html"&gt;Windows Azure&lt;/a&gt; etc.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p align="center"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px 10px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Sample-Conversions" border="0" alt="Sample-Conversions" src="http://lh5.ggpht.com/-UfrTX4K3--A/TsPNVvfjvRI/AAAAAAAAAPY/b5Qn2qzLzME/Sample-Conversions%25255B5%25255D.png?imgmax=800" width="690" height="486" /&gt;     &lt;br /&gt;&lt;em&gt;Example output of a regular email conversation as well as part of a web based newsletter&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ffffff"&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5787751540548761056-8786456482466441098?l=blog.muhimbi.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.muhimbi.com/feeds/8786456482466441098/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.muhimbi.com/2011/11/blog-post.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/8786456482466441098" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/8786456482466441098" /><link rel="alternate" type="text/html" href="http://blog.muhimbi.com/2011/11/blog-post.html" title="Convert Outlook MSG files to PDF, with attachments, using the Muhimbi PDF Converter" /><author><name>Muhimbi</name><uri>http://www.blogger.com/profile/00157302110307291964</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_bUq2JqpCltk/S40YDzxMdQI/AAAAAAAAAAM/MUnKJrXBLxA/S220/Muhimbi48x48.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-ZbuMT5SkIIk/TsPNVBd6HpI/AAAAAAAAAPQ/stnRA8MMIjc/s72-c/Email-Icon%25255B8%25255D.jpg?imgmax=800" height="72" width="72" /><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5787751540548761056.post-5390605700007081603</id><published>2011-10-27T17:02:00.001+01:00</published><updated>2011-10-28T10:07:07.939+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="News" /><category scheme="http://www.blogger.com/atom/ns#" term="Products" /><category scheme="http://www.blogger.com/atom/ns#" term="Splitting" /><category scheme="http://www.blogger.com/atom/ns#" term="pdf" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter Services" /><category scheme="http://www.blogger.com/atom/ns#" term="Articles" /><title type="text">Splitting PDF Files using the PDF Converter Web Service and .NET / C#</title><content type="html">&lt;style&gt;



&lt;!-- .li_spacing {padding-bottom:3pt}
.li_spacing_indent {padding-bottom:3pt; position:relative; left: 14pt; width:95%} --&gt;&lt;/style&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px 0px 5px 10px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Split Icon" border="0" alt="Split Icon" align="right" src="http://lh3.ggpht.com/-Ql8BFgIjZAw/TqmAjhLzR1I/AAAAAAAAAO0/7n2I5aosC9M/Split%252520Icon%25255B4%25255D.png?imgmax=800" width="144" height="144" /&gt;To facilitate the &lt;a href="http://blog.muhimbi.com/2011/10/splitting-pdf-files-using-sharepoint.html"&gt;new PDF Splitting facility in our PDF Converter for SharePoint&lt;/a&gt; we have added the ability to &lt;em&gt;split a single file into multiple ones&lt;/em&gt; to our core PDF Conversion engine, which our SharePoint product shares with our generic Java / .NET oriented &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-Services/summary.aspx"&gt;PDF Converter Services&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;In this post we’ll describe in detail how to invoke this new splitting facility from your own code. This demo uses C# and .NET, but the web services based interface is identical when used from Java (&lt;a href="http://blog.muhimbi.com/2010/04/convert-office-files-to-pdf-format-from.html"&gt;See this generic PDF Conversion sample&lt;/a&gt;).     &lt;br /&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This post is part of the following series related to manipulating PDF files using web services.&lt;/p&gt;  &lt;ul&gt;   &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2009/12/converting-office-files-to-pdf-format.html"&gt;Converting Office files to PDF Format using a Web Services based interface (C# / .NET)&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2010/04/convert-office-files-to-pdf-format-from.html"&gt;Converting Office files to PDF Format using a Web Services based interface (Java)&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2011/01/invoking-pdf-converter-web-service-from.html"&gt;Invoking the PDF Converter Web Service from Visual Studio 2005 using VB.net&lt;/a&gt; &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2011/02/using-windows-azure-to-convert.html"&gt;Using Windows Azure to convert documents to PDF format&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2010/06/using-awesome-new-watermarking-features.html"&gt;Using the awesome new watermarking features of the Muhimbi PDF Converter Services (C# / .NET)&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2010/06/using-pdf-watermarking-features-from.html"&gt;Using the PDF Watermarking features from Java based environments&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2011/05/converting-and-merging-multiple-pdf.html"&gt;Converting and merging multiple files using the PDF Converter Services and .NET / C#&lt;/a&gt;. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;     &lt;br /&gt;Key Features&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The key features of the new splitting facility are as follows:&lt;/p&gt;  &lt;ol&gt;   &lt;li class="li_spacing"&gt;Split a single PDF file into one or more individual PDF files. &lt;/li&gt;    &lt;li class="li_spacing"&gt;Split based on number of pages or bookmarks. &lt;/li&gt;    &lt;li class="li_spacing"&gt;Automatically generate numbered file names using .NET’s formatting syntax, e.g. 'split-{0:3D}.pdf' will use 3 digits for the sequential numbers starting at ‘split-001.pdf’. When splitting by bookmark then an optional {1} parameter can be inserted in the file name to include the name of the bookmark as well. &lt;/li&gt;    &lt;li class="li_spacing"&gt;Can be combined in combination with other actions, e.g. convert &amp;amp; merge.&lt;/li&gt; &lt;/ol&gt;  &lt;p class="li_spacing"&gt;. &lt;/p&gt;  &lt;p&gt;&lt;em&gt;A note about splitting based on bookmark levels&lt;/em&gt;: PDFs store bookmarks at the page level, so it is not clear on what part of the page a heading starts or ends. As a result an extra page will always be exported for each file split based on bookmark levels.&lt;/p&gt;  &lt;p&gt;For example let’s assume the following document:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Page 1:&lt;/strong&gt; Contains chapter 1 and sections 1.1. and 1.2. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Page 2:&lt;/strong&gt; Contains the last paragraph of 1.2 and all of chapter 2. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Page 3:&lt;/strong&gt; Contains Chapter 3. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;When splitting this document based on bookmarks using ‘1’ as the batch size then the following files will be created:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;File 1:&lt;/strong&gt; Contains page 1 and 2 as expected. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;File 2:&lt;/strong&gt; Contains pages 2 and 3 even though Chapter 2 is only really part of page 2. This is because there is no way to know if Chapter 2 runs over into page 3 or not. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;File 3:&lt;/strong&gt; Contains Chapter 3. &lt;/li&gt; &lt;/ul&gt;  &lt;p class="li_spacing"&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Object Model&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The object model is relatively straight forward. The classes related to PDF Splitting are displayed below. A number of enumerations are used as well by the various classes, these can be found in our &lt;a href="http://blog.muhimbi.com/2009/12/converting-office-files-to-pdf-format.html"&gt;original post about Converting files using the Web Services interface&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-3lun7eBxmLI/TqmAke-gFcI/AAAAAAAAAO8/uCpzWYya3fQ/s1600-h/ClassDiagram-Splitting%25255B7%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="ClassDiagram-Splitting" border="0" alt="ClassDiagram-Splitting" src="http://lh4.ggpht.com/-OoknZu6lS9w/TqmAkwYnLSI/AAAAAAAAAPA/eroj5D08rXo/ClassDiagram-Splitting_thumb%25255B5%25255D.png?imgmax=800" width="670" height="574" /&gt;&lt;/a&gt;&amp;#160; &lt;br /&gt;The Web Service method that controls splitting (as well as merging) of files is called &lt;em&gt;ProcessBatch&lt;/em&gt;. It accepts a &lt;em&gt;ProcessingOptions&lt;/em&gt; object that holds all information about the files to process and the operations to apply. A &lt;em&gt;Results&lt;/em&gt; object is returned that, when it comes to splitting of files, contains one or more results that hold the contents of the file as well as the suggested output file name, which you may us to save the file locally.&lt;/p&gt;  &lt;p&gt;As the &lt;em&gt;ProcessingOptions&lt;/em&gt; class accepts both &lt;em&gt;MergeSettings&lt;/em&gt; and &lt;em&gt;SplitOptions&lt;/em&gt; it is possible to &lt;a href="http://blog.muhimbi.com/2011/05/converting-and-merging-multiple-pdf.html"&gt;convert and merge&lt;/a&gt; a set of input files and then split up the results, all in a single web service call. Just populate the various properties and the system will take care of the rest.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Example code&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The following sample describes the steps needed to split up a single PDF file based on the number of pages. We are using Visual Studio and C#, but any environment that can invoke web services should be able to access this functionality. Note that the WSDL can be found at &lt;em&gt;http://localhost:41734/Muhimbi.DocumentConverter.WebService/?wsdl&lt;/em&gt;. &lt;/p&gt;  &lt;p&gt;A &lt;a href="http://blog.muhimbi.com/2010/04/convert-office-files-to-pdf-format-from.html"&gt;generic PDF Conversion Java based example&lt;/a&gt; is installed alongside the product and discussed in the &lt;a href="http://www.muhimbi.com/support/documentation/PDF-Converter-Services/User---Developer-Guide.aspx"&gt;User &amp;amp; Developer Guide&lt;/a&gt;. The source code for this example can be found in the folder the Muhimbi Conversion service has been installed to.&lt;/p&gt;  &lt;ol&gt;   &lt;li class="li_spacing"&gt;Start a new Visual Studio project and create the project type of your choice. In this example we are using a standard &lt;em&gt;.net 3.0 &lt;/em&gt;project of type &lt;em&gt;Console Application&lt;/em&gt;. Name it ‘Split PDF’. &lt;/li&gt;    &lt;li class="li_spacing"&gt;In the &lt;em&gt;Solution Explorer&lt;/em&gt; window, right-click &lt;em&gt;References&lt;/em&gt; and select &lt;em&gt;Add Service Reference&lt;/em&gt;. (Do not use web references!) &lt;/li&gt;    &lt;li class="li_spacing"&gt;In the &lt;em&gt;Address&lt;/em&gt; box enter the WSDL address listed in the introduction of this section. If the Conversion Service is located on a different machine then substitute &lt;em&gt;localhost&lt;/em&gt; with the server’s name. &lt;/li&gt;    &lt;li class="li_spacing"&gt;Accept the default Namespace of &lt;em&gt;ServiceReference1&lt;/em&gt; and click the &lt;em&gt;OK&lt;/em&gt; button to generate the proxy classes. &lt;/li&gt;    &lt;li class="li_spacing"&gt;Optionally add a PDF file to the solution, set the &lt;em&gt;Build Action&lt;/em&gt; to &lt;em&gt;None&lt;/em&gt; and &lt;em&gt;Copy to Output Directory&lt;/em&gt; to &lt;em&gt;Copy if newer&lt;/em&gt;. By doing this there will always be a valid test file in the same directory as the compiled executable. &lt;/li&gt;    &lt;li class="li_spacing"&gt;Copy and paste the following code and replace the contents of &lt;em&gt;Program.cs&lt;/em&gt;. &lt;/li&gt; &lt;/ol&gt;  &lt;p class="li_spacing"&gt;&amp;#160;&lt;/p&gt;  &lt;div style="padding-bottom: 4px; padding-left: 4px; padding-right: 4px; font-family: consolas; background: black; color: white; font-size: 8pt; font-weight: bold; padding-top: 4px"&gt;   &lt;pre style="margin: 0px"&gt;&lt;span style="color: #cc7832"&gt;using&lt;/span&gt; System;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&lt;span style="color: #cc7832"&gt;using&lt;/span&gt; System.IO;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&lt;span style="color: #cc7832"&gt;using&lt;/span&gt; System.ServiceModel;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&lt;span style="color: #cc7832"&gt;using&lt;/span&gt; Split_PDF.ServiceReference1;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&lt;span style="color: #cc7832"&gt;namespace&lt;/span&gt; Split_PDF&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;{&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;class&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;Program&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** The URL where the Web Service is located. Amend host name if needed.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;static&lt;/span&gt; &lt;span style="color: #cc7832"&gt;string&lt;/span&gt; SERVICE_URL = &lt;span style="color: #a5c25c"&gt;&amp;quot;http://localhost:41734/Muhimbi.DocumentConverter.WebService/&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;static&lt;/span&gt; &lt;span style="color: #cc7832"&gt;void&lt;/span&gt; Main(&lt;span style="color: #cc7832"&gt;string&lt;/span&gt;[] args)&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;DocumentConverterServiceClient&lt;/span&gt; client = &lt;span style="color: #cc7832"&gt;null&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;try&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Determine the source file and read it into a byte array.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;string&lt;/span&gt; sourceFileName = &lt;span style="color: #cc7832"&gt;null&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;if&lt;/span&gt; (args.Length == &lt;span style="color: #6897bb"&gt;0&lt;/span&gt;)&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;//** Delete any split files from a previous test run.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;foreach&lt;/span&gt; (&lt;span style="color: #cc7832"&gt;string&lt;/span&gt; file &lt;span style="color: #cc7832"&gt;in&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;Directory&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.GetFiles(&lt;/span&gt;&lt;span style="color: #ffc66d"&gt;Directory&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.GetCurrentDirectory(), &lt;br /&gt;                                                               &lt;/span&gt;&lt;span style="color: #a5c25c"&gt;&amp;quot;spf-*.pdf&amp;quot;&lt;/span&gt;))&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;File&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.Delete(file);&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** If nothing is specified then read the first PDF file.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;string&lt;/span&gt;[] sourceFiles = &lt;span style="color: #ffc66d"&gt;Directory&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.GetFiles(&lt;/span&gt;&lt;span style="color: #ffc66d"&gt;Directory&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.GetCurrentDirectory(), &lt;br /&gt;                                                               &lt;/span&gt;&lt;span style="color: #a5c25c"&gt;&amp;quot;*.pdf&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;if&lt;/span&gt; (sourceFiles.Length &amp;gt; &lt;span style="color: #6897bb"&gt;0&lt;/span&gt;)&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; sourceFileName = sourceFiles[&lt;span style="color: #6897bb"&gt;0&lt;/span&gt;];&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;else&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;Console&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.WriteLine(&lt;/span&gt;&lt;span style="color: #a5c25c"&gt;&amp;quot;Please specify a document to split.&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;Console&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.ReadKey();&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;return&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;else&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; sourceFileName = args[&lt;span style="color: #6897bb"&gt;0&lt;/span&gt;];&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;byte&lt;/span&gt;[] sourceFile = &lt;span style="color: #ffc66d"&gt;File&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.ReadAllBytes(sourceFileName);&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Open the service and configure the bindings&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; client = OpenService(SERVICE_URL);&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;//** Set the absolute minimum open options&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;OpenOptions&lt;/span&gt; openOptions = &lt;span style="color: #cc7832"&gt;new&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;OpenOptions&lt;/span&gt;();&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; openOptions.OriginalFileName = &lt;span style="color: #ffc66d"&gt;Path&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.GetFileName(sourceFileName);&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; openOptions.FileExtension = &lt;span style="color: #a5c25c"&gt;&amp;quot;pdf&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Set the absolute minimum conversion settings.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;ConversionSettings&lt;/span&gt; conversionSettings = &lt;span style="color: #cc7832"&gt;new&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;ConversionSettings&lt;/span&gt;();&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Create the ProcessingOptions for the splitting task.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;ProcessingOptions&lt;/span&gt; processingOptions = &lt;span style="color: #cc7832"&gt;new&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;ProcessingOptions&lt;/span&gt;()&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; MergeSettings = &lt;span style="color: #cc7832"&gt;null&lt;/span&gt;,&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SplitOptions = &lt;span style="color: #cc7832"&gt;new&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;FileSplitOptions&lt;/span&gt;()&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FileNameTemplate = &lt;span style="color: #a5c25c"&gt;&amp;quot;spf-{0:D3}&amp;quot;&lt;/span&gt;,&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FileSplitType = &lt;span style="color: #6897bb"&gt;FileSplitType&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.ByNumberOfPages,&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; BatchSize = &lt;span style="color: #6897bb"&gt;5&lt;/span&gt;,&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; BookmarkLevel = &lt;span style="color: #6897bb"&gt;0&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; },&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SourceFiles = &lt;span style="color: #cc7832"&gt;new&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;SourceFile&lt;/span&gt;[&lt;span style="color: #6897bb"&gt;1&lt;/span&gt;]&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;new&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;SourceFile&lt;/span&gt;()&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; MergeSettings = &lt;span style="color: #cc7832"&gt;null&lt;/span&gt;,&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; OpenOptions = openOptions,&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ConversionSettings = conversionSettings,&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; File = sourceFile&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; };&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Carry out the splittng.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;Console&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.WriteLine(&lt;/span&gt;&lt;span style="color: #a5c25c"&gt;&amp;quot;Splitting file &amp;quot;&lt;/span&gt; + sourceFileName);&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;BatchResults&lt;/span&gt; batchResults = client.ProcessBatch(processingOptions);&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Process the returned files&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;foreach&lt;/span&gt; (&lt;span style="color: #ffc66d"&gt;BatchResult&lt;/span&gt; result &lt;span style="color: #cc7832"&gt;in&lt;/span&gt; batchResults.Results)&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;Console&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.WriteLine(&lt;/span&gt;&lt;span style="color: #a5c25c"&gt;&amp;quot;Writing split file &amp;quot;&lt;/span&gt; + result.FileName);&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;File&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.WriteAllBytes(result.FileName, result.File);&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;Console&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.WriteLine(&lt;/span&gt;&lt;span style="color: #a5c25c"&gt;&amp;quot;Finished.&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;catch&lt;/span&gt; (&lt;span style="color: #ffc66d"&gt;FaultException&lt;/span&gt;&lt;span style="font-weight: normal"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #ffc66d"&gt;WebServiceFaultException&lt;/span&gt;&lt;span style="font-weight: normal"&gt;&amp;gt; ex)&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;Console&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.WriteLine(&lt;/span&gt;&lt;span style="color: #a5c25c"&gt;&amp;quot;FaultException occurred: ExceptionType: &amp;quot;&lt;/span&gt; +&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ex.Detail.ExceptionType.ToString());&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;catch&lt;/span&gt; (&lt;span style="color: #ffc66d"&gt;Exception&lt;/span&gt; ex)&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;Console&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.WriteLine(ex.ToString());&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;finally&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; CloseService(client);&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;Console&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.ReadKey();&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; Configure the Bindings, endpoints and open the service using the specified address.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style="color: green"&gt;An instance of the Web Service.&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;public&lt;/span&gt; &lt;span style="color: #cc7832"&gt;static&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;DocumentConverterServiceClient&lt;/span&gt; OpenService(&lt;span style="color: #cc7832"&gt;string&lt;/span&gt; address)&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;DocumentConverterServiceClient&lt;/span&gt; client = &lt;span style="color: #cc7832"&gt;null&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;try&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;BasicHttpBinding&lt;/span&gt; binding = &lt;span style="color: #cc7832"&gt;new&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;BasicHttpBinding&lt;/span&gt;();&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Use standard Windows Security.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; binding.Security.Mode = &lt;span style="color: #6897bb"&gt;BasicHttpSecurityMode&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.TransportCredentialOnly;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; binding.Security.Transport.ClientCredentialType =&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #6897bb"&gt;HttpClientCredentialType&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.Windows;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Increase the client Timeout to deal with (very) long running requests.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; binding.SendTimeout = &lt;span style="color: #6897bb"&gt;TimeSpan&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.FromMinutes(&lt;/span&gt;&lt;span style="color: #6897bb"&gt;30&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; binding.ReceiveTimeout = &lt;span style="color: #6897bb"&gt;TimeSpan&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.FromMinutes(&lt;/span&gt;&lt;span style="color: #6897bb"&gt;30&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Set the maximum document size to 50MB&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; binding.MaxReceivedMessageSize = &lt;span style="color: #6897bb"&gt;50&lt;/span&gt; * &lt;span style="color: #6897bb"&gt;1024&lt;/span&gt; * &lt;span style="color: #6897bb"&gt;1024&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; binding.ReaderQuotas.MaxArrayLength = &lt;span style="color: #6897bb"&gt;50&lt;/span&gt; * &lt;span style="color: #6897bb"&gt;1024&lt;/span&gt; * &lt;span style="color: #6897bb"&gt;1024&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; binding.ReaderQuotas.MaxStringContentLength = &lt;span style="color: #6897bb"&gt;50&lt;/span&gt; * &lt;span style="color: #6897bb"&gt;1024&lt;/span&gt; * &lt;span style="color: #6897bb"&gt;1024&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Specify an identity (any identity) in order to get it past .net3.5 sp1&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;EndpointIdentity&lt;/span&gt; epi = &lt;span style="color: #ffc66d"&gt;EndpointIdentity&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.CreateUpnIdentity(&lt;/span&gt;&lt;span style="color: #a5c25c"&gt;&amp;quot;unknown&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;EndpointAddress&lt;/span&gt; epa = &lt;span style="color: #cc7832"&gt;new&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;EndpointAddress&lt;/span&gt;(&lt;span style="color: #cc7832"&gt;new&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;Uri&lt;/span&gt;(address), epi);&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; client = &lt;span style="color: #cc7832"&gt;new&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;DocumentConverterServiceClient&lt;/span&gt;(binding, epa);&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; client.Open();&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;return&lt;/span&gt; client;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;catch&lt;/span&gt; (&lt;span style="color: #ffc66d"&gt;Exception&lt;/span&gt;)&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; CloseService(client);&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;throw&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; Check if the client is open and then close it.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;param name=&amp;quot;client&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color: green"&gt;The client to close&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;public&lt;/span&gt; &lt;span style="color: #cc7832"&gt;static&lt;/span&gt; &lt;span style="color: #cc7832"&gt;void&lt;/span&gt; CloseService(&lt;span style="color: #ffc66d"&gt;DocumentConverterServiceClient&lt;/span&gt; client)&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;if&lt;/span&gt; (client != &lt;span style="color: #cc7832"&gt;null&lt;/span&gt; &amp;amp;&amp;amp; client.State == &lt;span style="color: #6897bb"&gt;CommunicationState&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.Opened)&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; client.Close();&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;}&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Compile the application and run it either from the command prompt, with a path to the PDF file to split on the command line, or – if a PDF file is present in the executable’s folder – just run it.&lt;/p&gt;

&lt;p&gt;Note that In this example we are programmatically configuring the WCF Bindings and End Points. If you wish you can use the declarative approach using the config file as well.&lt;/p&gt;

&lt;p&gt;This new functionality is available as of version 5.2 of our software.&lt;/p&gt;

&lt;p&gt;&lt;font color="#ffffff"&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5787751540548761056-5390605700007081603?l=blog.muhimbi.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.muhimbi.com/feeds/5390605700007081603/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.muhimbi.com/2011/10/splitting-pdf-files-using-pdf-converter.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/5390605700007081603" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/5390605700007081603" /><link rel="alternate" type="text/html" href="http://blog.muhimbi.com/2011/10/splitting-pdf-files-using-pdf-converter.html" title="Splitting PDF Files using the PDF Converter Web Service and .NET / C#" /><author><name>Muhimbi</name><uri>http://www.blogger.com/profile/00157302110307291964</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_bUq2JqpCltk/S40YDzxMdQI/AAAAAAAAAAM/MUnKJrXBLxA/S220/Muhimbi48x48.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-Ql8BFgIjZAw/TqmAjhLzR1I/AAAAAAAAAO0/7n2I5aosC9M/s72-c/Split%252520Icon%25255B4%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5787751540548761056.post-9125381259642020195</id><published>2011-10-27T11:59:00.001+01:00</published><updated>2011-10-27T13:20:04.577+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="News" /><category scheme="http://www.blogger.com/atom/ns#" term="Splitting" /><category scheme="http://www.blogger.com/atom/ns#" term="pdf" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter" /><category scheme="http://www.blogger.com/atom/ns#" term="Workflow" /><category scheme="http://www.blogger.com/atom/ns#" term="Articles" /><title type="text">Splitting PDF Files using a SharePoint workflow and the Muhimbi PDF Converter</title><content type="html">&lt;style&gt;

&lt;!-- .li_spacing {padding-bottom:3pt}
.li_spacing_indent {padding-bottom:3pt; position:relative; left: 14pt; width:95%} --&gt;&lt;/style&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px 0px 5px 10px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="&amp;#39;Banana split&amp;#39;.... get it?" border="0" alt="&amp;#39;Banana split&amp;#39;.... get it?" align="right" src="http://lh3.ggpht.com/-EfBkcJ1F-dQ/Tqk5i1a6a8I/AAAAAAAAAOc/L6jjPvwrtVU/Split%252520Icon%25255B4%25255D.png?imgmax=800" width="144" height="144" /&gt;Some time ago we introduced a facility in the &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint/summary.aspx"&gt;Muhimbi PDF Converter for SharePoint&lt;/a&gt; to merge files using the &lt;a href="http://blog.muhimbi.com/2011/05/converting-and-merging-multiple-files.html"&gt;User Interface&lt;/a&gt;, &lt;a href="http://blog.muhimbi.com/2011/08/converting-and-merging-multiple-pdf.html"&gt;Workflow&lt;/a&gt; and &lt;a href="http://blog.muhimbi.com/2011/05/converting-and-merging-multiple-pdf.html"&gt;Web Service calls&lt;/a&gt;. Naturally we have to support the ‘other side of the equation’ as well, resulting in the new &lt;em&gt;PDF Split&lt;/em&gt; functionality described in this article.&lt;/p&gt;  &lt;p&gt;This post shows how to use a SharePoint Designer Workflow to automatically split up an existing PDF file into multiple files containing 10 pages each. This is quite a common scenario for organisations that deal with massive documents who frequently split up these kind of files in batches of 100 pages to keep the files manageable. If your document is using a format other than PDF then make sure your use our &lt;a href="http://blog.muhimbi.com/2009/04/using-pdf-converter-from-sharepoint.html"&gt;Convert to PDF Workflow Activity&lt;/a&gt; first.&lt;/p&gt;  &lt;p&gt;The SharePoint Designer Workflow Activity is named &lt;em&gt;Split PDF&lt;/em&gt;. After adding it to your workflow you will see the following &lt;em&gt;Workflow Sentence&lt;/em&gt;.     &lt;br /&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Split-Sentence" border="0" alt="Split-Sentence" src="http://lh3.ggpht.com/-25k4rB1tLPc/Tqk5jB51BCI/AAAAAAAAAOg/-68wwlQwBeY/Split-Sentence%25255B5%25255D.png?imgmax=800" width="554" height="72" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160; &lt;br /&gt;The workflow sentence is consistent with our other Workflow Activities (e.g. &lt;a href="http://blog.muhimbi.com/2009/04/using-pdf-converter-from-sharepoint.html"&gt;Converting&lt;/a&gt; / &lt;a href="http://blog.muhimbi.com/2010/10/watermarking-pdf-documents-using.html"&gt;watermarking&lt;/a&gt;), and is largely self-describing. The following fields are available:&lt;/p&gt;  &lt;ul&gt;   &lt;li class="li_spacing"&gt;&lt;strong&gt;This document:&lt;/strong&gt; The document to split up. For most workflows selecting &lt;i&gt;Current Item&lt;/i&gt; will suffice, but some custom scenarios may require the look up of a different item. You may also want to check that the &lt;i&gt;file type&lt;/i&gt; of the document is ‘&lt;i&gt;pdf’&lt;/i&gt; before trying to split it up. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;This file:&lt;/strong&gt; The name and location of the split files are stored in here. Leave this field empty to use the same folder and file name as the source file, but with sequential numbers added. However, you can optionally specify a path and / or filename template. &lt;/li&gt;    &lt;li class="li_spacing_indent"&gt;&lt;strong&gt;Path&lt;/strong&gt;: Enter a path, including the Document Library and any folder names, to write the split files to. E.g. “&lt;i&gt;shared documents/split files/&lt;/i&gt;”. You can even specify a different site collection by starting the path with a '/' (never start with 'http:'). When just specifying a path, without the file name, then make sure to use a trailing ‘/’.&lt;/li&gt;    &lt;li class="li_spacing_indent"&gt;&lt;strong&gt;File Name:&lt;/strong&gt; The file name can be anything and allows the standard .NET string formatting facilities for numbering, e.g. 'split-{0:3D}' will use 3 digits for the sequential numbers starting at ‘split-001.pdf’. When splitting by bookmark then an optional {1} parameter can be inserted in the file name to include the name of the bookmark as well. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Number of pages / bookmark level:&lt;/strong&gt; Specify if you wish to split based on the &lt;em&gt;number of pages&lt;/em&gt; or the &lt;em&gt;level of the bookmark&lt;/em&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Batch size:&lt;/strong&gt; When splitting based on the number of pages then this parameter must be set to the maximum number of pages to include in each split file. When splitting based on the bookmark level then this parameter should contain the ‘depth’ at which to split. E.g. specify ‘1’ to split on top level chapters (Chapter 1, chapter 2, etc.) or a higher number to split at a deeper level (e.g. ‘2’ splits on Chapter 1, 1.1, 1.2, 2, 2.1 etc.)&amp;#160;&amp;#160; &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Parameter ‘List ID’:&lt;/strong&gt; The ID of the list the split files were written to. This can later in the workflow be used to perform additional tasks on the file such as performing a check-in or out. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Parameter ‘List Item IDs’:&lt;/strong&gt; Unlike our other workflow activities, this parameter will return a string with ‘;’ separated values of the generated item IDs. This list can then be used by other (custom) activities, e.g. the ones created by our &lt;a href="http://www.muhimbi.com/Products/Workflow-Power-Pack-for-SharePoint/summary.aspx"&gt;Workflow Power Pack&lt;/a&gt;, to process the individual files further. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160; &lt;br /&gt;&lt;em&gt;A note about splitting based on bookmark levels&lt;/em&gt;: PDFs store bookmarks at the page level, so it is not clear on what part of the page a heading starts or ends. As a result an extra page will always be exported for each file split based on bookmark levels. &lt;/p&gt;  &lt;p&gt;For example let’s assume the following document:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Page 1:&lt;/strong&gt; Contains chapter 1 and sections 1.1. and 1.2. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Page 2:&lt;/strong&gt; Contains the last paragraph of 1.2 and all of chapter 2. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Page 3:&lt;/strong&gt; Contains Chapter 3. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;When splitting this document based on bookmarks using ‘1’ as the batch size then the following files will be created:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;File 1:&lt;/strong&gt; Contains page 1 and 2 as expected. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;File 2:&lt;/strong&gt; Contains pages 2 and 3 even though Chapter 2 is only really part of page 2. This is because there is no way to know if Chapter 2 runs over into page 3 or not. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;File 3:&lt;/strong&gt; Contains Chapter 3. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;With all the theory out of the way, let’s create a simple example to split up PDF files in batches of 10 pages. .&lt;/p&gt;  &lt;ol&gt;   &lt;li class="li_spacing"&gt;&lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint.aspx"&gt;Download and install the Muhimbi PDF Converter for SharePoint&lt;/a&gt;.&amp;#160; Version 5.2 or newer is required. &lt;/li&gt;    &lt;li class="li_spacing"&gt;Make sure you have the appropriate privileges to create workflows on a site collection. &lt;/li&gt;    &lt;li class="li_spacing"&gt;Create a new workflow using SharePoint Designer. &lt;/li&gt;    &lt;li class="li_spacing"&gt;Associate the workflow with the library of your choice. Do not tick any of the boxes next to the ‘&lt;em&gt;Automatically start….&lt;/em&gt;’ options, we want to start this workflow manually. If you wish to run this workflow automatically then you may want to add an extra column to determine if a file has been split before, similar to the technique used &lt;a href="http://blog.muhimbi.com/2010/12/securing-pdf-files-using-sharepoint.html"&gt;in this post&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;Design the workflow as per the following screen. In summary it does the following:      &lt;br /&gt;&amp;#160; &lt;ul&gt;       &lt;li class="li_spacing"&gt;Check if the file is in PDF format. Otherwise it cannot be split. &lt;/li&gt;        &lt;li class="li_spacing"&gt;The ‘split’ files are written to a folder named ‘Split Files’ so make sure this folder exists. e.g. &amp;quot;&lt;em&gt;Shared Documents/Split Files/spf-{0:D5}.pdf”&lt;/em&gt;. You can leave our sample file name or merge the file’s name in using workflow lookups. &lt;/li&gt;        &lt;li class="li_spacing"&gt;Log the generated list of Item IDs to the workflow history. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Split-Worfklow" border="0" alt="Split-Worfklow" src="http://lh4.ggpht.com/-j71dKf7xBN0/Tqk5jkj4oNI/AAAAAAAAAOs/WPgbFt_V_C4/Split-Worfklow%25255B5%25255D.png?imgmax=800" width="611" height="117" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160; &lt;br /&gt;Publish the workflow and create / convert / upload a PDF file in the document library. From the file's context menu select 'Workflows' and run your workflow. Depending on the size of the document the split files will be generated in a matter of seconds.&lt;/p&gt;  &lt;p&gt;&lt;font color="#ffffff"&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5787751540548761056-9125381259642020195?l=blog.muhimbi.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.muhimbi.com/feeds/9125381259642020195/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.muhimbi.com/2011/10/splitting-pdf-files-using-sharepoint.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/9125381259642020195" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/9125381259642020195" /><link rel="alternate" type="text/html" href="http://blog.muhimbi.com/2011/10/splitting-pdf-files-using-sharepoint.html" title="Splitting PDF Files using a SharePoint workflow and the Muhimbi PDF Converter" /><author><name>Muhimbi</name><uri>http://www.blogger.com/profile/00157302110307291964</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_bUq2JqpCltk/S40YDzxMdQI/AAAAAAAAAAM/MUnKJrXBLxA/S220/Muhimbi48x48.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-EfBkcJ1F-dQ/Tqk5i1a6a8I/AAAAAAAAAOc/L6jjPvwrtVU/s72-c/Split%252520Icon%25255B4%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5787751540548761056.post-8501696575042576798</id><published>2011-10-03T13:00:00.001+01:00</published><updated>2011-10-03T13:00:08.252+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="News" /><category scheme="http://www.blogger.com/atom/ns#" term="Products" /><category scheme="http://www.blogger.com/atom/ns#" term="Audit" /><title type="text">Announcement: Acquisition of SharePoint Audit Product Line by Idera</title><content type="html">&lt;p&gt;Today is a very exciting day as we are announcing the acquisition of the entire Muhimbi SharePoint Audit product line by Idera. This is great news for all existing users of this product as Idera has an enormous amount of experience in the field of Audit and Security software. Muhimbi will continue to focus on the popular SharePoint PDF Conversion and Manipulation line of products.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="padding-left: 30pt; padding-right: 30pt"&gt;   &lt;p align="center"&gt;&lt;a name="OLE_LINK6"&gt;&lt;/a&gt;&lt;strong&gt;&lt;font size="3"&gt;Idera Announces New SharePoint Auditing Solution         &lt;br /&gt;&lt;/font&gt;&lt;/strong&gt;&lt;em&gt;&lt;font size="3"&gt;Idera SharePoint audit Joins SharePoint enterprise manager to Provide          &lt;br /&gt;Comprehensive SharePoint Security, Compliance Solution&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;    &lt;p align="justify"&gt;&lt;strong&gt;       &lt;br /&gt;ANAHEIM, CALIF. – OCTOBER 3, 2011&lt;/strong&gt; – In booth #617 at the Microsoft SharePoint Conference 2011, Idera, a leading provider of &lt;a href="http://www.idera.com/Products/SharePoint/"&gt;Microsoft SharePoint management and administration tools&lt;/a&gt;, today announced Idera SharePoint audit™. Idera SharePoint audit is a comprehensive &lt;a href="http://www.idera.com/Products/SharePoint/SharePoint-audit/"&gt;SharePoint auditing&lt;/a&gt; solution that captures and records all audit events, manages the audit data captured in a central repository and provides comprehensive reporting and analytics regarding who is doing what, when and where in a SharePoint environment. &lt;/p&gt;    &lt;p align="justify"&gt;Idera SharePoint audit and Idera SharePoint enterprise manager™ work hand-in-hand to provide an overall SharePoint security and compliance solution. Idera SharePoint audit enables administrators to simplify audit administration, automatically turning on auditing for new SharePoint site collections and configuring specialized auditing at the web application or site collection level. Leveraging proven technology acquired from Muhimbi, it collects the data needed to comply with regulations and data security requirements such as Sarbanes Oxley (SOX) and HIPAA. Idera SharePoint enterprise manager then ensures security standards are properly applied in SharePoint by remediating potential security or compliance issues. &lt;/p&gt;    &lt;p align="justify"&gt;“As we started to research what functionality we would add to our SharePoint product portfolio, a powerful SharePoint auditing solution that can audit activity across all versions of SharePoint with minimal performance impact rose to the top of the list,” said Wayne Washburn, Director of SharePoint Products at Idera. “We invite all SharePoint professionals to try SharePoint audit.”&lt;/p&gt;    &lt;p align="justify"&gt;In related news, Idera also announced SharePoint backup™ 3.1 and SharePoint diagnostic manager™ 2.6 today. To learn more go to &lt;a href="http://www.idera.com/News/Press-Releases/"&gt;http://www.idera.com/News/Press-Releases/&lt;/a&gt; or visit Idera in booth #617 at the Microsoft SharePoint Conference where the company will be doing informative product demonstrations and hosting giveaways. &lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Pricing and Availability       &lt;br /&gt;&lt;/strong&gt;Idera SharePoint audit is currently in Public Beta. To download a Beta copy, please visit &lt;a href="http://www.idera.com/Products/SharePoint/SharePoint-audit/"&gt;www.idera.com/Products/SharePoint/SharePoint-audit/&lt;/a&gt;.&lt;/p&gt;    &lt;p&gt;The product will be generally available in November and will be priced at $9,995 per web front end.&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;About Idera       &lt;br /&gt;&lt;/strong&gt;Idera provides tools for Microsoft SQL Server, SharePoint and PowerShell management and administration. Our products provide solutions for performance monitoring, backup and recovery, security and auditing and PowerShell scripting. Headquartered in Houston, Texas, Idera is a Microsoft Gold Partner and has over 9,000 customers worldwide. To learn more, please contact Idera at +1-713.523.4433 or visit &lt;a href="http://www.idera.com"&gt;www.idera.com&lt;/a&gt;. &lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;About Muhimbi       &lt;br /&gt;&lt;/strong&gt;Muhimbi Ltd is the market leader for SharePoint based PDF Conversion, watermarking and security products with full support for InfoPath, AutoCAD, MS-Office, SharePoint Designer and Nintex workflows. Operating from St. Albans, United Kingdom, Muhimbi is working with hundreds of customers around the world to deploy their products in large as well as small SharePoint environments. To learn more, please contact Muhimbi at jritmeijer@muhimbi.com or visit &lt;a href="http://www.muhimbi.com"&gt;www.muhimbi.com&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt;    &lt;p align="justify"&gt;&lt;em&gt;&lt;font size="1"&gt;Idera is a division of BBS Technologies, Inc. Idera, SharePoint audit, SharePoint backup, SharePoint diagnostic manager and SharePoint enterprise manager are trademarks or registered trademarks of BBS Technologies, Inc. or its subsidiaries in the United States and other jurisdictions. All other company and product names may be trademarks or registered trademarks of their respective companies.&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;    &lt;p align="center"&gt;###&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Press and Analyst contact:       &lt;br /&gt;&lt;/strong&gt;Carrie Ward, PR for Idera, 832-407-5347, &lt;a href="mailto:carrie.ward@idera.com"&gt;carrie.ward@idera.com&lt;/a&gt;&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;&lt;font color="#ffffff"&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5787751540548761056-8501696575042576798?l=blog.muhimbi.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.muhimbi.com/feeds/8501696575042576798/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.muhimbi.com/2011/10/announcement-acquisition-of-sharepoint.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/8501696575042576798" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/8501696575042576798" /><link rel="alternate" type="text/html" href="http://blog.muhimbi.com/2011/10/announcement-acquisition-of-sharepoint.html" title="Announcement: Acquisition of SharePoint Audit Product Line by Idera" /><author><name>Muhimbi</name><uri>http://www.blogger.com/profile/00157302110307291964</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_bUq2JqpCltk/S40YDzxMdQI/AAAAAAAAAAM/MUnKJrXBLxA/S220/Muhimbi48x48.jpg" /></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5787751540548761056.post-1757703649699866760</id><published>2011-09-27T15:20:00.001+01:00</published><updated>2011-11-16T10:11:35.939Z</updated><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter Professional" /><category scheme="http://www.blogger.com/atom/ns#" term="pdf" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter Services" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF/A" /><category scheme="http://www.blogger.com/atom/ns#" term="Articles" /><title type="text">Converting PDF document to PDF/A1b using the Muhimbi PDF Converter Web Service</title><content type="html">&lt;style&gt;



&lt;!-- .li_spacing {padding-bottom:3pt}--&gt;&lt;/style&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px 10px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="PDFAlogo" border="0" alt="PDFAlogo" align="right" src="http://lh3.ggpht.com/-MYKyTybzhf4/ToHbskfvt5I/AAAAAAAAAOU/iuPJEtl_aFo/PDFAlogo%25255B6%25255D.jpg?imgmax=800" width="130" height="127" /&gt;As Muhimbi’s range of PDF Conversion products, including the &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint/summary.aspx"&gt;PDF Converter for SharePoint&lt;/a&gt; and the &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-Services/summary.aspx"&gt;PDF Converter Services&lt;/a&gt;, now provide the ability to post process any converted document &lt;a href="http://blog.muhimbi.com/2011/09/pdfa-support-in-muhimbi-pdf-converter.html"&gt;for output in PDF/A format&lt;/a&gt;, one obvious use for this brilliant new functionality is to convert regular PDF files to PDF/A format. &lt;/p&gt;  &lt;p&gt;In this post we’ll provide a simple .NET sample that invokes our &lt;a href="http://www.muhimbi.com/support/documentation/PDF-Converter-Services/User---Developer-Guide.aspx"&gt;Web Services interface&lt;/a&gt; to carry out the conversion from PDF to PDF/A1b. The code is nearly identical to the code to &lt;a href="http://blog.muhimbi.com/2010/06/using-awesome-new-watermarking-features.html"&gt;convert and watermark a simple MS-Word file&lt;/a&gt; with the following exceptions. You can apply the same changes to the &lt;a href="http://blog.muhimbi.com/2010/06/using-pdf-watermarking-features-from.html"&gt;Java sample&lt;/a&gt; to make it do the same using that language.&lt;/p&gt;  &lt;ol&gt;   &lt;li class="li_spacing"&gt;&lt;em&gt;openOptions.FileExtension&lt;/em&gt; is set to &lt;em&gt;pdf&lt;/em&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;em&gt;conversionSettings.PDFProfile&lt;/em&gt; is set to &lt;em&gt;PDFProfile.PDF_A1B&lt;/em&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;The &lt;em&gt;client.ProcessChanges()&lt;/em&gt; method is invoked rather than &lt;em&gt;client.Convert().&lt;/em&gt; &lt;/li&gt;    &lt;li class="li_spacing"&gt;All references to watermarks have been removed as they are not part of this sample.      &lt;br /&gt;&amp;#160; &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Some minor clean-up has been carried out as well to make the code even shorter. After running the example the resulting file validates perfectly according to Acrobat X Pro.    &lt;br /&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="PDFA Check" border="0" alt="PDFA Check" src="http://lh6.ggpht.com/-5wjrKOqAYV4/ToHbtNtIlmI/AAAAAAAAAOY/q5rlw-Szs0o/PDFA%252520Check%25255B4%25255D.png?imgmax=800" width="556" height="409" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Sample Code&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Listed below is sample code to convert PDF to PDF/A. You can either copy the code from this blog post, &lt;a href="http://www.muhimbi.com/Images---Files/Blog/Process-PDF-Sample-Code.aspx"&gt;download the Visual Studio Project&lt;/a&gt; or open the project from the &lt;em&gt;Sample Code&lt;/em&gt; folder in the &lt;em&gt;Windows Start Menu&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;The sample code expects the path of the PDF file on the command line. If the path is omitted then the first PDF file found in the current directory will be used. &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Download and install version 5.2 of the &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-Services/Free-Trial.aspx"&gt;Muhimbi PDF Converter Services&lt;/a&gt; or &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint/Free-Trial.aspx"&gt;PDF Converter for SharePoint&lt;/a&gt;.       &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;&lt;font color="#ff0000"&gt;Install the prerequisites and enable PDF/A post processing in the service’s configuration file &lt;/font&gt;&lt;a href="http://blog.muhimbi.com/2011/09/pdfa-support-in-muhimbi-pdf-converter.html"&gt;&lt;font color="#ff0000"&gt;as described here&lt;/font&gt;&lt;/a&gt;.       &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;Create a new Visual Studio C# Console application named &lt;em&gt;PDFA_Conversion&lt;/em&gt;.       &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;Add a Service Reference to the following URL and specify &lt;em&gt;ConversionService&lt;/em&gt; as the namespace       &lt;br /&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; http://localhost:41734/Muhimbi.DocumentConverter.WebService/?wsdl       &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;Paste the following code into &lt;em&gt;Program.cs&lt;/em&gt;.&amp;#160; &lt;br /&gt;&amp;#160; &lt;div style="padding-bottom: 4px; padding-left: 4px; padding-right: 4px; font-family: consolas; margin-bottom: 20px; background: black; color: white; font-size: 8pt; font-weight: bold; padding-top: 4px"&gt;       &lt;pre style="margin: 0px"&gt;&lt;span style="color: #cc7832"&gt;using&lt;/span&gt; System;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&lt;span style="color: #cc7832"&gt;using&lt;/span&gt; System.Diagnostics;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&lt;span style="color: #cc7832"&gt;using&lt;/span&gt; System.IO;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&lt;span style="color: #cc7832"&gt;using&lt;/span&gt; System.ServiceModel;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&lt;span style="color: #cc7832"&gt;using&lt;/span&gt; Watermarking.ConversionService;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&lt;span style="color: #cc7832"&gt;namespace&lt;/span&gt; PDFA_Conversion&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;{&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;class&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;Program&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** The URL where the Web Service is located. Amend host name if needed.&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;static&lt;/span&gt; &lt;span style="color: #cc7832"&gt;string&lt;/span&gt; SERVICE_URL = &lt;span style="color: #a5c25c"&gt;&amp;quot;http://localhost:41734/Muhimbi.DocumentConverter.WebService/&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;static&lt;/span&gt; &lt;span style="color: #cc7832"&gt;void&lt;/span&gt; Main(&lt;span style="color: #cc7832"&gt;string&lt;/span&gt;[] args)&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;DocumentConverterServiceClient&lt;/span&gt; client = &lt;span style="color: #cc7832"&gt;null&lt;/span&gt;;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;try&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Determine the source file and read it into a byte array.&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;string&lt;/span&gt; sourceFileName = &lt;span style="color: #cc7832"&gt;null&lt;/span&gt;;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;if&lt;/span&gt; (args.Length == &lt;span style="color: #6897bb"&gt;0&lt;/span&gt;)&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** If nothing is specified then read the first PDF file from the folder.&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;string&lt;/span&gt;[] sourceFiles = &lt;span style="color: #ffc66d"&gt;Directory&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.GetFiles(&lt;br /&gt;                                                     &lt;/span&gt;&lt;span style="color: #ffc66d"&gt;Directory&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.GetCurrentDirectory(), &lt;/span&gt;&lt;span style="color: #a5c25c"&gt;&amp;quot;*.pdf&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;if&lt;/span&gt; (sourceFiles.Length &amp;gt; &lt;span style="color: #6897bb"&gt;0&lt;/span&gt;)&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; sourceFileName = sourceFiles[&lt;span style="color: #6897bb"&gt;0&lt;/span&gt;];&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;else&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;Console&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.WriteLine(&lt;/span&gt;&lt;span style="color: #a5c25c"&gt;&amp;quot;Please specify a document to convert to PDF/A.&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;Console&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.ReadKey();&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;return&lt;/span&gt;;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;else&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; sourceFileName = args[&lt;span style="color: #6897bb"&gt;0&lt;/span&gt;];&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;byte&lt;/span&gt;[] sourceFile = &lt;span style="color: #ffc66d"&gt;File&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.ReadAllBytes(sourceFileName);&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Open the service and configure the bindings&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; client = OpenService(SERVICE_URL);&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;//** Set the absolute minimum open options&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;OpenOptions&lt;/span&gt; openOptions = &lt;span style="color: #cc7832"&gt;new&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;OpenOptions&lt;/span&gt;();&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; openOptions.OriginalFileName = &lt;span style="color: #ffc66d"&gt;Path&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.GetFileName(sourceFileName);&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; openOptions.FileExtension = &lt;span style="color: #a5c25c"&gt;&amp;quot;pdf&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Set the absolute minimum conversion settings.&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;ConversionSettings&lt;/span&gt; conversionSettings = &lt;span style="color: #cc7832"&gt;new&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;ConversionSettings&lt;/span&gt;();&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; conversionSettings.PDFProfile = &lt;span style="color: #6897bb"&gt;PDFProfile&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.PDF_A1B;&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Carry out the conversion.&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;Console&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.WriteLine(&lt;/span&gt;&lt;span style="color: #a5c25c"&gt;&amp;quot;Converting file &amp;quot;&lt;/span&gt; + sourceFileName + &lt;span style="color: #a5c25c"&gt;&amp;quot; to PDF/A.&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;byte&lt;/span&gt;[] convFile = client.ProcessChanges(sourceFile, openOptions, &lt;br /&gt;                                                        conversionSettings);&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Write the converted file back to the file system using the same name.&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;string&lt;/span&gt; destinationFileName = &lt;span style="color: #ffc66d"&gt;Path&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.GetFileName(sourceFileName);&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;using&lt;/span&gt; (&lt;span style="color: #ffc66d"&gt;FileStream&lt;/span&gt; fs = &lt;span style="color: #ffc66d"&gt;File&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.Create(destinationFileName))&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; fs.Write(convFile, &lt;span style="color: #6897bb"&gt;0&lt;/span&gt;, convFile.Length);&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; fs.Close();&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;Console&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.WriteLine(&lt;/span&gt;&lt;span style="color: #a5c25c"&gt;&amp;quot;File converted to &amp;quot;&lt;/span&gt; + destinationFileName);&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Open the generated PDF/A file in a PDF Reader&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;Console&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.WriteLine(&lt;/span&gt;&lt;span style="color: #a5c25c"&gt;&amp;quot;Launching file in PDF Reader&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;Process&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.Start(destinationFileName);&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;catch&lt;/span&gt; (&lt;span style="color: #ffc66d"&gt;FaultException&lt;/span&gt;&lt;span style="font-weight: normal"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #ffc66d"&gt;WebServiceFaultException&lt;/span&gt;&lt;span style="font-weight: normal"&gt;&amp;gt; ex)&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;Console&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.WriteLine(&lt;/span&gt;&lt;span style="color: #a5c25c"&gt;&amp;quot;FaultException occurred: ExceptionType: &amp;quot;&lt;/span&gt; +&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ex.Detail.ExceptionType.ToString());&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;catch&lt;/span&gt; (&lt;span style="color: #ffc66d"&gt;Exception&lt;/span&gt; ex)&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;Console&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.WriteLine(ex.ToString());&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;finally&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; CloseService(client);&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;Console&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.ReadKey();&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; Configure the Bindings, endpoints and open the service using the specified address.&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style="color: green"&gt;An instance of the Web Service.&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;public&lt;/span&gt; &lt;span style="color: #cc7832"&gt;static&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;DocumentConverterServiceClient&lt;/span&gt; OpenService(&lt;span style="color: #cc7832"&gt;string&lt;/span&gt; address)&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;DocumentConverterServiceClient&lt;/span&gt; client = &lt;span style="color: #cc7832"&gt;null&lt;/span&gt;;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;try&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;BasicHttpBinding&lt;/span&gt; binding = &lt;span style="color: #cc7832"&gt;new&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;BasicHttpBinding&lt;/span&gt;();&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Use standard Windows Security.&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; binding.Security.Mode = &lt;span style="color: #6897bb"&gt;BasicHttpSecurityMode&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.TransportCredentialOnly;&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; binding.Security.Transport.ClientCredentialType =&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #6897bb"&gt;HttpClientCredentialType&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.Windows;&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Increase the client Timeout to deal with (very) long running requests.&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; binding.SendTimeout = &lt;span style="color: #6897bb"&gt;TimeSpan&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.FromMinutes(&lt;/span&gt;&lt;span style="color: #6897bb"&gt;30&lt;/span&gt;);&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; binding.ReceiveTimeout = &lt;span style="color: #6897bb"&gt;TimeSpan&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.FromMinutes(&lt;/span&gt;&lt;span style="color: #6897bb"&gt;30&lt;/span&gt;);&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Set the maximum document size to 50MB&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; binding.MaxReceivedMessageSize = &lt;span style="color: #6897bb"&gt;50&lt;/span&gt; * &lt;span style="color: #6897bb"&gt;1024&lt;/span&gt; * &lt;span style="color: #6897bb"&gt;1024&lt;/span&gt;;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; binding.ReaderQuotas.MaxArrayLength = &lt;span style="color: #6897bb"&gt;50&lt;/span&gt; * &lt;span style="color: #6897bb"&gt;1024&lt;/span&gt; * &lt;span style="color: #6897bb"&gt;1024&lt;/span&gt;;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; binding.ReaderQuotas.MaxStringContentLength = &lt;span style="color: #6897bb"&gt;50&lt;/span&gt; * &lt;span style="color: #6897bb"&gt;1024&lt;/span&gt; * &lt;span style="color: #6897bb"&gt;1024&lt;/span&gt;;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Specify an identity (any identity) in order to get it past .net3.5 sp1&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;EndpointIdentity&lt;/span&gt; epi = &lt;span style="color: #ffc66d"&gt;EndpointIdentity&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.CreateUpnIdentity(&lt;/span&gt;&lt;span style="color: #a5c25c"&gt;&amp;quot;unknown&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;EndpointAddress&lt;/span&gt; epa = &lt;span style="color: #cc7832"&gt;new&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;EndpointAddress&lt;/span&gt;(&lt;span style="color: #cc7832"&gt;new&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;Uri&lt;/span&gt;(address), epi);&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; client = &lt;span style="color: #cc7832"&gt;new&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;DocumentConverterServiceClient&lt;/span&gt;(binding, epa);&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; client.Open();&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;return&lt;/span&gt; client;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;catch&lt;/span&gt; (&lt;span style="color: #ffc66d"&gt;Exception&lt;/span&gt;)&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; CloseService(client);&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;throw&lt;/span&gt;;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; Check if the client is open and then close it.&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;param name=&amp;quot;client&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color: green"&gt;The client to close&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;public&lt;/span&gt; &lt;span style="color: #cc7832"&gt;static&lt;/span&gt; &lt;span style="color: #cc7832"&gt;void&lt;/span&gt; CloseService(&lt;span style="color: #ffc66d"&gt;DocumentConverterServiceClient&lt;/span&gt; client)&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;if&lt;/span&gt; (client != &lt;span style="color: #cc7832"&gt;null&lt;/span&gt; &amp;amp;&amp;amp; client.State == &lt;span style="color: #6897bb"&gt;CommunicationState&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.Opened)&lt;/span&gt;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; client.Close();&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

      &lt;pre style="margin: 0px"&gt;}&lt;/pre&gt;
    &lt;/div&gt;
  &lt;/li&gt;

  &lt;li&gt;Make sure the output folder contains a PDF file. 
    &lt;br /&gt;&amp;#160; &lt;/li&gt;

  &lt;li&gt;Compile and execute the application. The converted PDF/A file will automatically be opened in your system’s PDF reader. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;As all this functionality is exposed via a Web Services interface, it works equally well from Java and other web services enabled environments. Please note that you need the &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-Professional.aspx"&gt;PDF Converter Professional&lt;/a&gt; add-on license in addition to a valid PDF &lt;em&gt;Converter for SharePoint&lt;/em&gt; or &lt;em&gt;PDF Converter Services&lt;/em&gt; License in order to use this functionality.&lt;/p&gt;

&lt;p&gt;This code is merely an example of what is possible, feel free to adapt it to you own needs. The possibilities are endless.&lt;/p&gt;

&lt;p&gt;&lt;font color="#ffffff"&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5787751540548761056-1757703649699866760?l=blog.muhimbi.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.muhimbi.com/feeds/1757703649699866760/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.muhimbi.com/2011/09/converting-pdf-document-to-pdfa1b-using.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/1757703649699866760" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/1757703649699866760" /><link rel="alternate" type="text/html" href="http://blog.muhimbi.com/2011/09/converting-pdf-document-to-pdfa1b-using.html" title="Converting PDF document to PDF/A1b using the Muhimbi PDF Converter Web Service" /><author><name>Muhimbi</name><uri>http://www.blogger.com/profile/00157302110307291964</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_bUq2JqpCltk/S40YDzxMdQI/AAAAAAAAAAM/MUnKJrXBLxA/S220/Muhimbi48x48.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-MYKyTybzhf4/ToHbskfvt5I/AAAAAAAAAOU/iuPJEtl_aFo/s72-c/PDFAlogo%25255B6%25255D.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5787751540548761056.post-4914071109992192774</id><published>2011-09-26T12:29:00.001+01:00</published><updated>2011-11-16T10:51:37.154Z</updated><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter Professional" /><category scheme="http://www.blogger.com/atom/ns#" term="pdf" /><category scheme="http://www.blogger.com/atom/ns#" term="InfoPath" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter Services" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF/A" /><title type="text">PDF/A Support in the Muhimbi PDF Converter Services &amp; SharePoint</title><content type="html">&lt;style&gt;









&lt;!-- .li_spacing {padding-bottom:3pt}--&gt;&lt;/style&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px 10px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="PDFAlogo" border="0" alt="PDFAlogo" align="right" src="http://lh5.ggpht.com/-J4qyGqOdMJs/ToBiEyGBMYI/AAAAAAAAAOI/y6fPTUWTJJE/PDFAlogo9.jpg?imgmax=800" width="130" height="127" /&gt;&lt;/p&gt;  &lt;p&gt;Muhimbi’s range of PDF Conversion products, including the &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint/summary.aspx"&gt;PDF Converter for SharePoint&lt;/a&gt; and the &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-Services/summary.aspx"&gt;PDF Converter Services&lt;/a&gt;, has provided some level of &lt;a href="http://en.wikipedia.org/wiki/PDF/A"&gt;PDF/A&lt;/a&gt; support since the very beginning. We knew this was going to be important so we even built it into our &lt;a href="http://www.muhimbi.com/support/documentation/PDF-Converter-Services/User---Developer-Guide.aspx"&gt;web service’s object model&lt;/a&gt;. However, up until now (version 5.1), any request to output the file in PDF/A format was passed on directly to the underlying converter, which may, or may not, do a good job of sticking to the PDF/A standard (more on this subject below). &lt;/p&gt;  &lt;p&gt;The converters that support this kind of output natively are:&lt;/p&gt;  &lt;ul&gt;   &lt;li class="li_spacing"&gt;MS-Word &lt;/li&gt;    &lt;li class="li_spacing"&gt;PowerPoint &lt;/li&gt;    &lt;li class="li_spacing"&gt;MS-Publisher &lt;/li&gt;    &lt;li class="li_spacing"&gt;Viso &lt;/li&gt;    &lt;li class="li_spacing"&gt;TIFF &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;This all all changes with version 5.2 of our software, which allows any PDF file to be post processed and converted to PDF/A-1b. More about this later, let’s have a look at the history, and reasons, behind the PDF/A standard first. &lt;/p&gt;  &lt;p&gt;Over the last 20 years the PDF document format has grown from a relatively basic file type that displays information on screen as if it were printed on paper, to an all singing and dancing 3D, Audio / Video digital printing format. Although at the moment it is easy and free to download a viewer that can display the latest and greatest content, what about the computers used 50 years from now? Who knows, perhaps the holographic &lt;em&gt;AppleMicroGoogle&lt;/em&gt;™ quantum computers we’ll be using by then won’t even understand the concept of embedded JavaScript, or no one could be bothered to implement it in the version of Acrobat Reader that was rewritten from the ground up after the &lt;a href="http://en.wikipedia.org/wiki/Year_2038_problem"&gt;Great Computer Failure of 2038&lt;/a&gt;. All kidding aside, the PDF/A standard was created to go ‘back to basics’ and use PDF for what it was originally intended for and give future computers and operating systems a remote chance of displaying a file’s content similar to how it was originally intended to look.&lt;/p&gt;  &lt;p&gt;A good summary of the main aims and rules with regards to PDF/A &lt;a href="http://www.pdfa.org/2011/08/pdfa-%E2%80%93-a-look-at-the-technical-side/"&gt;can be found on the pdfa.org website&lt;/a&gt;.&amp;#160; &lt;/p&gt;  &lt;p style="padding-left: 4em; padding-right: 4em" align="justify"&gt;&lt;em&gt;What does PDF/A aim to achieve? PDF/A aims to produce files with static content that can therefore be visually reproduced completely precisely today and in many years time. Files that are subject to long-term archiving should work regardless of the device or operating system used. The future usability of PDF/A files must also be guaranteed in a manufacturer-independent manner – and this includes Adobe. PDF/A is a ‘complete’ format. This means that PDF files that comply with the PDF/A standard are complete in themselves and use no external references or non-PDF data. The PDF/A-1 standard is based on PDF/A specification 1.4, which means that it works within the technical scope of the functions available in Acrobat 5.&lt;/em&gt;&lt;/p&gt;  &lt;p style="padding-left: 4em; padding-right: 4em" align="justify"&gt;&lt;em&gt;A range of rules must be observed when generating PDF/A files in order to meet the goals named above. For example, when generating PDF/A, it is important to embed all fonts and clearly specify all colors. Forms, comments, and notes are only permitted to a limited extent. Compression is allowed as a general rule, but LZW and JPEG2000 are excluded. Transparent objects and layers (Optional Content Groups) are not permitted. PDF/A uses rules for metadata that are based on XMP (Extensible Metadata Platform). Finally, a PDF/A file must identify itself as such.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Please note that you need the &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-Professional.aspx"&gt;PDF Converter Professional&lt;/a&gt; add-on license in addition to a valid PDF &lt;em&gt;Converter for SharePoint&lt;/em&gt; or &lt;em&gt;PDF Converter Services&lt;/em&gt; License in order to use this functionality.    &lt;br /&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Muhimbi’s interpretation of the PDF/A-1b standard&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;As is generally the case with these kinds of standards, there are as many PDF/A validators as there are interpretations of the specification. The validator we use internally for testing purposes is the one that comes with Adobe Acrobat Pro X. I am sure there are stricter validators, but if Acrobat Pro says a document validates fine then I am sure there is a pretty good chance it can be opened 50 years from now.&lt;/p&gt;  &lt;p&gt;In the screenshot below you can see the validation results of a PowerPoint file that was converted to PDF by the Muhimbi PDF Converter and subsequently post processed for output as PDF/A. As you can see it validates perfectly well.    &lt;br /&gt;&amp;#160;&lt;/p&gt;  &lt;p align="center"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="PDFA Check" border="0" alt="PDFA Check" src="http://lh6.ggpht.com/-fy8OJToteR4/ToBiFUmEXpI/AAAAAAAAAOM/gDGBNgIlymI/PDFA-Check20.png?imgmax=800" width="556" height="409" /&gt; &lt;em&gt;&lt;font size="1"&gt;PDF/A File generated by the Muhimbi PDF Converter&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;As you can see in the screenshot below, the same document saved by PowerPoint itself in PDF/A format does not validate successfully.&amp;#160; &lt;br /&gt;&amp;#160; &lt;br /&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="PDFA Check - Non-compliant" border="0" alt="PDFA Check - Non-compliant" src="http://lh6.ggpht.com/-WcBSNpSCLEU/ToBiF3zio_I/AAAAAAAAAOQ/KPM54J3QCNs/PDFA-Check---Non-compliant4.png?imgmax=800" width="556" height="409" /&gt; &lt;em&gt;&lt;font size="1"&gt;PDF/A File generated by PowerPoint&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; &lt;br /&gt;Clearly the file post-processed by the Muhimbi PDF Converter validates better, but that doesn’t mean that the one generated by PowerPoint cannot be displayed 50 years from now. The validator checks many rules including important ones such as font embedding, but also rules that are perhaps not so important like the fact that the &lt;em&gt;Modification Date&lt;/em&gt; stored in the PDF is exactly the same as the one stored in the XMP meta-data.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Configuring the Muhimbi PDF Converter to use PDF/A&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The Muhimbi PDF Converter relies on 3rd party software to carry out the PDF/A post processing step. Fortunately this software is free to download and install for both individuals and organisations. The actual use of the software is less than trivial, but our software takes care of all the complexities.&lt;/p&gt;  &lt;p&gt;Installation of this software is optional and only required if you intend to carry out any PDF/A post processing. The steps are as follows:&lt;/p&gt;  &lt;ol&gt;   &lt;li class="li_spacing"&gt;If not already installed, install the &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint/Free-Trial.aspx"&gt;Muhimbi PDF Converter for SharePoint&lt;/a&gt; version 5.2 or newer. &lt;/li&gt;    &lt;li class="li_spacing"&gt;Download the latest &lt;em&gt;GPL Release&lt;/em&gt; &lt;a href="http://www.ghostscript.com/download/gsdnld.html"&gt;from the Ghostscript website&lt;/a&gt;. Depending on your hardware and operating system you will need to download either the 32 or 64 bit version. Muhimbi has tested the PDF/A post processing with version 9.04. &lt;/li&gt;    &lt;li class="li_spacing"&gt;Install Ghostscript in a location of your choice on every server that runs the Muhimbi Conversion Service. If you accept the default location, or the default location on a different drive, then the Muhimbi PDF Converter will automatically detect Ghostscript’s file path. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Once Ghostscript has been installed you are ready to go, providing you access &lt;a href="http://blog.muhimbi.com/2009/12/converting-office-files-to-pdf-format.html"&gt;our Web Services based interface&lt;/a&gt; from your own software and the &lt;em&gt;PDFA.PostProcessing&lt;/em&gt; configuration value discussed below is set appropriately (details for use with SharePoint can be found further below). Just set the web service’s &lt;em&gt;ConversionSettings.PDProfile&lt;/em&gt; property to &lt;em&gt;PDF_A1B&lt;/em&gt; and any converter that doesn’t natively support PDF/A output will automatically send the generated PDF file to the post processor. However, depending on your exact needs you may want to update a number of settings in the Muhimbi Conversion Service’s config file.&lt;/p&gt;  &lt;ol&gt;   &lt;li class="li_spacing"&gt;Open ‘&lt;em&gt;Muhimbi.DocumentConverter.Service.exe.config&lt;/em&gt;’ in your favourite text editor. The file is stored in the same directory where the Muhimbi Conversion Service has been installed in. You can find a shortcut to this folder in the ‘&lt;em&gt;Muhimbi Document Converter&lt;/em&gt;’ group in your start menu. &lt;/li&gt;    &lt;li style="padding-bottom: 0px; margin-bottom: 0px"&gt;Change the following settings if needed:      &lt;ul&gt;       &lt;li style="padding-top: 3pt" class="li_spacing"&gt;&lt;strong&gt;Ghostscript.Path:&lt;/strong&gt; Leave the path empty to auto detect the path. When manually specifying the path include the executable as well, e.g. &amp;quot;E:\Program Files\gs\gs9.04\bin\gswin64c.exe&amp;quot; &lt;/li&gt;        &lt;li class="li_spacing"&gt;&lt;strong&gt;PDFA.PostProcessing:&lt;/strong&gt;&amp;#160; Not all converters are able to provide native PDF/A output. Use this setting to post process any generated PDF file. Valid values are '&lt;em&gt;All&lt;/em&gt;' (Post Process files generated by all converters, including the ones that are supposed to already support PDF/A), '&lt;em&gt;WhenNeeded&lt;/em&gt;' (Post process files for only those converters that do not support native PDF/A output) or '&lt;em&gt;None&lt;/em&gt;' (Do not post process files generated by any converters. This is the default option). Please note that these values will only be used if the output format is set to &lt;em&gt;PDF_A1B&lt;/em&gt;, either in the web service call or via the global '&lt;em&gt;ConversionSettings.ForcePDFProfile&lt;/em&gt;' config value. &lt;/li&gt;        &lt;li class="li_spacing"&gt;&lt;strong&gt;PDFA.RasterizeTransparentContent:&lt;/strong&gt; Define how transparent content is dealt with during conversion to PDF/A. The default setting (False) removes all transparency. If you wish to retain transparent objects then set this value to &lt;em&gt;True&lt;/em&gt;, which will result in pages being rasterized resulting in considerably larger and slower PDF files. &lt;/li&gt;        &lt;li class="li_spacing"&gt;&lt;strong&gt;ConversionSettings.ForcePDFProfile:&lt;/strong&gt; Override the web service’s &lt;em&gt;ConversionSettings.PDFProfile&lt;/em&gt; value during conversion.&amp;#160; Leave empty to use the setting specified in the web service call. Accepted values are members of the &lt;em&gt;Muhimbi.DocumentConverter.WebService.Data.PDFProfile&lt;/em&gt; enumeration or an empty string. For example: 'PDF_1_5' (Use PDF Version 1.5) or 'PDF_A1B' (Use the PDF/A standard for long term archiving). &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li class="li_spacing"&gt;Restart the &lt;em&gt;Muhimbi Conversion Service&lt;/em&gt; from the &lt;em&gt;Windows Services Management Console&lt;/em&gt;. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;If you don’t directly interact with Muhimbi’s Web Services interface, but rather use the SharePoint Front End functionality that comes with the PDF Converter for SharePoint, e.g. workflow activities or manual PDF Conversion, then you MUST set the &lt;em&gt;ForcePDFProfile&lt;/em&gt; configuration value to &lt;em&gt;PDF_A1B&lt;/em&gt;. Please note that that this is a global switch that forces all functionality provided by our product to output in PDF/A format. This may have side effects when applying PDF Security. In the future we will provide more granular support for those customers who rely on the SharePoint facilities that come with our products.&lt;/p&gt;  &lt;p&gt;Sample code to convert PDF Documents to PDF/A using our web services interface &lt;a href="http://blog.muhimbi.com/2011/09/converting-pdf-document-to-pdfa1b-using.html"&gt;can be found here&lt;/a&gt;. If you don’t wish to use Ghostscript, or if your organisation already uses a different PDF to PDF/A converter that you wish to integrate with, then please &lt;a href="http://www.muhimbi.com/contact.aspx"&gt;contact us&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Issues and limitations&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;At Muhimbi we like to &lt;em&gt;under promise&lt;/em&gt; and &lt;em&gt;over deliver&lt;/em&gt;, so interpret the following in that light. We prefer to be upfront about any issues you may encounter to prevent unexpected surprises at a later date.&lt;/p&gt;  &lt;p&gt;At this moment in time we are aware of the following issues:&lt;/p&gt;  &lt;ol&gt;   &lt;li class="li_spacing"&gt;&lt;strong&gt;64 bit only: &lt;/strong&gt;At this moment the 32 bit version of Ghostscript (9.04) contains a bug that may interfere with PDF/A output. As a result you will need to install the 64 bit version. In other words you can only run the entire solution successfully on a 64 bit machine running a 64 bit Operating System. It is expected that this bug will be fixed in the ‘post 9.04 version’ expected at the beginning of 2012. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Merged Documents: &lt;/strong&gt;When documents are merged using the Muhimbi PDF Converter, and subsequently post processed for PDF/A output, then Acrobat’s validator shows the ‘&lt;em&gt;CIDSystemInfo and CMap dict not compatible&lt;/em&gt;' validation error. It doesn’t happen for all document types and we are confident this message does not have any significant side effects. &lt;/li&gt; &lt;/ol&gt;  &lt;p class="li_spacing"&gt;&amp;#160; &lt;br /&gt;There are other side effects inherent to the PDF/A standard that we can’t do anything about. For example, as transparency is not supported, any documents that use (semi) transparent objects may not look the same as the source document. Similarly, because fonts MUST be embedded in PDF/A-1b compliant documents, the resulting PDF file may be larger than expected, although in many cases you will find them to be smaller than the source file.&lt;/p&gt;  &lt;p&gt;We love working with our customers and we’ll do our very best to solve any problems you may experience, so please &lt;a href="http://www.muhimbi.com/contact.aspx"&gt;drop us a line&lt;/a&gt; if you have any questions or require assistance.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Interestingly the various committees have already started work on PDF/A2, which aims to put everything back in that was stripped out of PDF/A-1b (3D Graphics, Audio, Video etc). &lt;em&gt;To be continued….&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ffffff"&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5787751540548761056-4914071109992192774?l=blog.muhimbi.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.muhimbi.com/feeds/4914071109992192774/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.muhimbi.com/2011/09/pdfa-support-in-muhimbi-pdf-converter.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/4914071109992192774" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/4914071109992192774" /><link rel="alternate" type="text/html" href="http://blog.muhimbi.com/2011/09/pdfa-support-in-muhimbi-pdf-converter.html" title="PDF/A Support in the Muhimbi PDF Converter Services &amp;amp; SharePoint" /><author><name>Muhimbi</name><uri>http://www.blogger.com/profile/00157302110307291964</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_bUq2JqpCltk/S40YDzxMdQI/AAAAAAAAAAM/MUnKJrXBLxA/S220/Muhimbi48x48.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/-J4qyGqOdMJs/ToBiEyGBMYI/AAAAAAAAAOI/y6fPTUWTJJE/s72-c/PDFAlogo9.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5787751540548761056.post-1161123963971308534</id><published>2011-09-13T13:27:00.001+01:00</published><updated>2011-09-13T13:27:22.393+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Watermarking" /><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="News" /><category scheme="http://www.blogger.com/atom/ns#" term="Products" /><category scheme="http://www.blogger.com/atom/ns#" term="pdf" /><category scheme="http://www.blogger.com/atom/ns#" term="InfoPath" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter" /><title type="text">PDF Converter Services 5.1 – Maintenance release</title><content type="html">&lt;style&gt;
&lt;!-- .li_spacing {padding-bottom:3pt}--&gt;&lt;/style&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-wgJO7uS1i08/Tm9MJ2dKBxI/AAAAAAAAAOA/8c8iV-SYXtE/s1600-h/PDFConverterServicesBox4%25255B2%25255D.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="PDFConverterServicesBox4" border="0" alt="PDFConverterServicesBox4" align="right" src="http://lh6.ggpht.com/-cNfrsZupoN0/Tm9MKfSJBcI/AAAAAAAAAOE/Q5eNvBGlxfI/PDFConverterServicesBox4_thumb.jpg?imgmax=800" width="200" height="183" /&gt;&lt;/a&gt;Earlier this week we released &lt;a href="http://blog.muhimbi.com/2011/09/pdf-converter-for-sharepoint-51-pdf.html"&gt;version 5.1 of the PDF Converter for SharePoint&lt;/a&gt;, which ships with an improved version of our popular PDF Conversion engine. Today we are releasing an update to the standalone version of the &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-Services/summary.aspx"&gt;&lt;em&gt;Muhimbi PDF Converter Services&lt;/em&gt;&lt;/a&gt; that includes all new functionality and fixes including the ability to convert InfoPath 2010 forms that include external data connections.&lt;/p&gt;  &lt;p&gt;A quick introduction for those not familiar with the product: &lt;em&gt;The Muhimbi PDF Converter Services is an ‘on premises’ server based SDK that allows software developers to convert typical Office files to PDF format using a robust, scalable but friendly Web Services interface from Java and .NET based solutions. It supports a large number of file types including MS-Office and ODF file formats as well as HTML, AutoCAD and Image based files and is used by some of the largest organisations in the world for mission critical document conversions. In addition to converting documents the product ships with a sophisticated watermarking engine, PDF Merging facilities and the ability to secure PDF files. A separate &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint/summary.aspx"&gt;SharePoint specific version&lt;/a&gt; is available as well.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;/em&gt;    &lt;br /&gt;Some of the main changes in the new version are as follows:&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="700"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1304&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;New - InfoPath: Allow external data sources during PDF Conversion in InfoPath 2010&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1429&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;New - InfoPath: Limit conversion of InfoPath attachments to just the active views&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1359&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;Fix - InfoPath: Attachments are sometimes converted twice&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1444&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;Fix - InfoPath: IP2010 still executes disabled 'Form Load' rule&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1492&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;Fix - InfoPath: 'Busy' during conversion&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1445&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;Fix - InfoPath: forms containing Ink controls do not convert&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1355&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;New - Watermarking: Optimise memory use during watermarking&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1473&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;Fix - Watermarking certain bitmap based PDF Files loses all content&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1400&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;Fix - Watermarking: Special characters in MergeField values are not escaped for RTF watermarks&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1383&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;New - Make automatic stripping of MS-Word templates optional&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1427&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;New - Allow all conversion default values to be globally overridden in config file.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1453&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;Fix - Excel sheets with large OLAP cubes may fail to convert&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1470&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;Fix - Protected MS-Word documents don't convert in Office 2010&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1454&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;Fix - CAD drawing returns empty PDF&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1206&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;Fix - HTML to PDF Conversion hangs on long pages&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1419&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;Fix - PDF Files secured using the PDF Converter may cause problems with searching inside documents&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1420&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;Fix - Image with large dimensions does not convert&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;For more information check out the following resources:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.muhimbi.com/Products/PDF-Converter-Services.aspx"&gt;Product Page&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/Images---Files/PDFConverterServices/PDF-Converter-Services-Brochure.aspx"&gt;Brochure&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/documentation/PDF-Converter-Services/Release-Notes.aspx"&gt;Release Notes&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/documentation/PDF-Converter-Services/Administration-Guide.aspx"&gt;Administration Guide&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/documentation/PDF-Converter-Services/User---Developer-Guide.aspx"&gt;User &amp;amp; Developer Guide&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/faqs.aspx"&gt;FAQ&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/forum.aspx?ForumID=7"&gt;Discussion Forum&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blog.muhimbi.com/search/label/PDF%20Converter%20Services"&gt;All PDF Converter Services related Blog Posts&lt;/a&gt;. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;   &lt;br /&gt;As always, feel free to &lt;a href="http://www.muhimbi.com/contact.aspx"&gt;contact us using Twitter, our Blog, regular email&lt;/a&gt; or &lt;a href="http://eepurl.com/b6A7"&gt;subscribe to our newsletter&lt;/a&gt;. &lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://www.muhimbi.com/Products/PDF-Converter-Services/Free-Trial.aspx"&gt;Download your free trial here&lt;/a&gt; (8MB). &lt;span style="color: #ffffff"&gt;.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ffffff"&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5787751540548761056-1161123963971308534?l=blog.muhimbi.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.muhimbi.com/feeds/1161123963971308534/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.muhimbi.com/2011/09/pdf-converter-services-51-maintenance.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/1161123963971308534" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/1161123963971308534" /><link rel="alternate" type="text/html" href="http://blog.muhimbi.com/2011/09/pdf-converter-services-51-maintenance.html" title="PDF Converter Services 5.1 – Maintenance release" /><author><name>Muhimbi</name><uri>http://www.blogger.com/profile/00157302110307291964</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_bUq2JqpCltk/S40YDzxMdQI/AAAAAAAAAAM/MUnKJrXBLxA/S220/Muhimbi48x48.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-cNfrsZupoN0/Tm9MKfSJBcI/AAAAAAAAAOE/Q5eNvBGlxfI/s72-c/PDFConverterServicesBox4_thumb.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5787751540548761056.post-785630172081126407</id><published>2011-09-12T11:02:00.001+01:00</published><updated>2011-09-12T11:05:17.451+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Watermarking" /><category scheme="http://www.blogger.com/atom/ns#" term="News" /><category scheme="http://www.blogger.com/atom/ns#" term="Products" /><category scheme="http://www.blogger.com/atom/ns#" term="Merging" /><category scheme="http://www.blogger.com/atom/ns#" term="pdf" /><category scheme="http://www.blogger.com/atom/ns#" term="Nintex" /><category scheme="http://www.blogger.com/atom/ns#" term="InfoPath" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter" /><category scheme="http://www.blogger.com/atom/ns#" term="Workflow" /><title type="text">PDF Converter for SharePoint 5.1 – PDF Merging using workflows &amp; Nintex improvements</title><content type="html">&lt;style&gt;




&lt;!-- .li_spacing {padding-bottom:3pt}--&gt;&lt;/style&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px 10px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="PDFBox5" border="0" alt="PDFBox5" align="right" src="http://lh6.ggpht.com/_bUq2JqpCltk/TMGv_rZy4AI/AAAAAAAAADw/kYDQzFupml0/PDFBox5%5B3%5D.jpg?imgmax=800" width="200" height="183" /&gt;   &lt;p&gt;It is difficult to capture all the amazing new functionality of the 5.1 release of our popular &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint/Summary.aspx"&gt;Muhimbi PDF Converter for SharePoint&lt;/a&gt; in a single subject line without exceeding the number of available characters, so I am afraid ‘&lt;em&gt;PDF merging using workflows &amp;amp; Nintex improvements&lt;/em&gt;’ will have to do.&lt;/p&gt;  &lt;p&gt;The list of new features is considerable but the main ones are as follows:&lt;/p&gt;  &lt;ul&gt;   &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2011/08/watermark-pdfs-using-nintex-workflow.html"&gt;Watermark PDFs using Nintex Workflow and the PDF Converter for SharePoint&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2011/08/secure-pdfs-using-nintex-workflow-and.html"&gt;Secure PDFs using Nintex Workflow and the PDF Converter for SharePoint&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2011/08/convert-and-merge-pdfs-using-nintex.html"&gt;Convert and Merge PDFs using Nintex Workflow and the Muhimbi PDF Converter&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2011/08/convert-html-to-pdf-using-nintex.html"&gt;Convert HTML to PDF using Nintex Workflow and the PDF Converter for SharePoint&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2011/08/converting-and-merging-multiple-pdf.html"&gt;Convert and merge multiple PDF files using SharePoint Designer workflows&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;InfoPath 2010 support for converting with external data connections. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;   &lt;br /&gt;&lt;em&gt;For those not familiar with the product, the PDF Converter for SharePoint is a lightweight solution that allows end-users to convert common document types - including InfoPath, AutoCAD, MS-Office, HTML and images - to PDF format from within SharePoint using a friendly user interface, workflows or a web service call without the need to install any client side software or Adobe Acrobat. It integrates at a deep level with SharePoint and leverages facilities such as the Audit log, localisation, security and tracing. It runs on WSS 3, MOSS as well as SharePoint 2010 and is available in English, German, Dutch, French, Traditional Chinese and Japanese. For detailed information check out the &lt;/em&gt;&lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint.aspx"&gt;&lt;em&gt;product page&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;     &lt;br /&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-wIRDN-jsEPY/Tm3YvvVSGUI/AAAAAAAAAN4/2i4L7yLdh9Q/s1600-h/PDF-Merging-Combined%25255B5%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="PDF-Merging-Combined" border="0" alt="PDF-Merging-Combined" src="http://lh3.ggpht.com/-cIYBiokdwLQ/Tm3YwOl1fKI/AAAAAAAAAN8/XxhErnjl8JY/PDF-Merging-Combined_thumb%25255B3%25255D.png?imgmax=800" width="690" height="400" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160; &lt;br /&gt;In addition to the changes listed above, some of the main changes in the new version are as follows:&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="700"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1425&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;New - Nintex: Add Nintex error handling facility to existing Convert Activity&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1200&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;New - Nintex: Create Watermark Activity for Nintex Workflow&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1199&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;New - Nintex: Create PDF Security Activity for Nintex Workflow&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1424&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;New - Nintex: Create PDF Merge Activity for Nintex Workflow&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1423&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;New - Nintex: Create HTML Conversion Activity for Nintex Workflow&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1304&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;New - InfoPath: Allow external data sources during PDF Conversion in InfoPath 2010&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1429&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;New - InfoPath: Limit conversion of InfoPath attachments to just the active views&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1359&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;Fix - InfoPath: Attachments are sometimes converted twice&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1444&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;Fix - InfoPath: IP2010 still executes disabled 'Form Load' rule&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1492&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;Fix - InfoPath: 'Busy' during conversion&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1445&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;Fix - InfoPath: forms containing Ink controls do not convert&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1395&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;Fix - Filtering in SP2010 doesn't take the regional settings of current site into account.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1338&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;New - Filtering: Add support for checking if a user is in a SharePoint group.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1337&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;New - Filtering: New comparison operator 'is in list'.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1339&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;New - Filtering: Add support for filtering for the current user using '[me]'.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1336&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;New - Filtering: Add support for filtering for the current day using '[today]'.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1394&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;New - Watermarking: Move watermark handler to a new and separate SharePoint Feature&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1355&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;New - Watermarking: Optimise memory use during watermarking&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1473&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;Fix - Watermarking certain bitmap based PDF Files loses all content&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1407&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;Fix - Watermarking: On SP2007 opening a PDF File and then cancelling it writes an error to the event log&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1350&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;Fix - Watermarking: Opening PDF Files behaves differently with the Muhimbi handler installed&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1417&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;Fix - Watermarking: Opening large PDF files fails&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1428&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;Fix - Watermarking: Image watermarking&amp;#160; using a variable path does not validate in SharePoint Designer 2010&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1397&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;Fix - Watermarking: When a field code value is empty then the field name is displayed in the watermark&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1400&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;Fix - Watermarking: Special characters in MergeField values are not escaped for RTF watermarks&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1329&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;Fix - Watermarking: Conversion service merge fields are only supported in text watermarks&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1328&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;Fix - Watermarking: Image watermark only supports resources from the current web&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1187&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;New - New SharePoint Designer Workflow activity to allow PDF files to be merged&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1385&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;New - Add limits to the number of files that can be merged&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1383&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;New - Make automatic stripping of MS-Word templates optional&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1371&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;New - PDF Merging - Allow field to be specified for sorting&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1427&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;New - Allow all conversion default values to be globally overridden in config file.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1408&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;New - Add SharePoint auditing for the various PDF Operations.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1016&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;Fix - Update translations for all supported languages&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1453&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;Fix - Excel sheets with large OLAP cubes may fail to convert&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1201&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;Fix - Selecting a destination folder that does not exist will revert to the parent folder&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1470&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;Fix - Protected MS-Word documents don't convert in Office 2010&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1454&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;Fix - CAD drawing returns empty PDF&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1374&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;Fix - PDF Merging - Using Calculated field as source for bookmarks shows the data type&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1206&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;Fix - HTML to PDF Conversion hangs on long pages&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1419&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;Fix - PDF Files secured using the PDF Converter may cause problems with searching inside documents&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1420&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;Fix - Image with large dimensions does not convert&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;1260&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;Fix - Using a hyperlink to 'convert and download' a web page on an anonymous site is not possible&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&amp;#160; &lt;br /&gt;For more information check out the following resources:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint.aspx"&gt;Product Page&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/faqs.aspx"&gt;FAQ&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/documentation/PDF-Converter-for-SharePoint/Release-Notes.aspx"&gt;Release Notes&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/documentation/PDF-Converter-for-SharePoint/Administration-Guide.aspx"&gt;Installation &amp;amp; Administration Guide&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/documentation/PDF-Converter-for-SharePoint/User-Guide.aspx"&gt;User Guide&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/documentation/PDF-Converter-for-SharePoint/Screenshots.aspx"&gt;Screenshots&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/forum.aspx?ForumID=1"&gt;Discussion Forum&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blog.muhimbi.com/search/label/PDF%20Converter"&gt;Related Blog Posts&lt;/a&gt;. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;   &lt;br /&gt;As always, feel free to &lt;a href="http://www.muhimbi.com/contact.aspx"&gt;contact us using Twitter, our Blog, regular email&lt;/a&gt; or &lt;a href="http://eepurl.com/b6A7"&gt;subscribe to our newsletter&lt;/a&gt;.     &lt;br /&gt;    &lt;br /&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint/Free-Trial.aspx"&gt;Download your free trial here&lt;/a&gt; (13MB). &lt;span style="color: #ffffff"&gt;.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ffffff"&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5787751540548761056-785630172081126407?l=blog.muhimbi.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.muhimbi.com/feeds/785630172081126407/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.muhimbi.com/2011/09/pdf-converter-for-sharepoint-51-pdf.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/785630172081126407" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/785630172081126407" /><link rel="alternate" type="text/html" href="http://blog.muhimbi.com/2011/09/pdf-converter-for-sharepoint-51-pdf.html" title="PDF Converter for SharePoint 5.1 – PDF Merging using workflows &amp;amp; Nintex improvements" /><author><name>Muhimbi</name><uri>http://www.blogger.com/profile/00157302110307291964</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_bUq2JqpCltk/S40YDzxMdQI/AAAAAAAAAAM/MUnKJrXBLxA/S220/Muhimbi48x48.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/_bUq2JqpCltk/TMGv_rZy4AI/AAAAAAAAADw/kYDQzFupml0/s72-c/PDFBox5%5B3%5D.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5787751540548761056.post-5559809398263190007</id><published>2011-08-18T16:12:00.001+01:00</published><updated>2012-01-13T11:02:11.124Z</updated><category scheme="http://www.blogger.com/atom/ns#" term="Watermarking" /><category scheme="http://www.blogger.com/atom/ns#" term="News" /><category scheme="http://www.blogger.com/atom/ns#" term="pdf" /><category scheme="http://www.blogger.com/atom/ns#" term="Nintex" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter" /><category scheme="http://www.blogger.com/atom/ns#" term="Workflow" /><category scheme="http://www.blogger.com/atom/ns#" term="Articles" /><title type="text">Watermark PDFs using Nintex Workflow and the Muhimbi PDF Converter for SharePoint</title><content type="html">&lt;style&gt;

&lt;!-- .li_spacing {padding-bottom:3pt}--&gt;&lt;/style&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 15px 7px 14px 10px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Nintex-logo5_thumb1_thumb" border="0" alt="Nintex-logo5_thumb1_thumb" align="right" src="http://lh3.ggpht.com/-fRJmwT0rNdI/Tk0r4qzntyI/AAAAAAAAAN0/TuICw4-3EV8/Nintex-logo5_thumb1_thumb%25255B3%25255D.png?imgmax=800" width="122" height="20" /&gt;Our popular &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint/summary.aspx"&gt;PDF Converter for SharePoint&lt;/a&gt; started off as a a relative straightforward PDF Converter. As we really listen to our customers we have added a lot of functionality over the years resulting in a very complete feature set. One of the more powerful modules of the product is the integrated Watermarking Engine, which allows all kind of watermarks (Text, RTF, PDF, Images, Ellipses, Lines etc.) to be added to PDF files. &lt;/p&gt;  &lt;p&gt;Support for &lt;a href="http://blog.muhimbi.com/2010/10/watermarking-pdf-documents-using.html"&gt;SharePoint Designer&lt;/a&gt;, a &lt;a href="http://blog.muhimbi.com/2010/06/using-awesome-new-watermarking-features.html"&gt;Web Services API&lt;/a&gt; as well as &lt;a href="http://blog.muhimbi.com/2010/10/watermarking-features-of-muhimbi-pdf.html"&gt;a host of other watermarking functionality&lt;/a&gt; has been available for a while, but with the introduction of version 5.1 we are adding support for the popular, and rather brilliant, Nintex Workflow as well. In addition to the new &lt;em&gt;PDF Watermarking&lt;/em&gt; Nintex Workflow Activity, we are also adding activities for &lt;a href="http://blog.muhimbi.com/2011/08/secure-pdfs-using-nintex-workflow-and.html"&gt;PDF Security&lt;/a&gt;, &lt;a href="http://blog.muhimbi.com/2011/08/convert-and-merge-pdfs-using-nintex.html"&gt;PDF Merging&lt;/a&gt; as well as &lt;a href="http://blog.muhimbi.com/2011/08/convert-html-to-pdf-using-nintex.html"&gt;HTML to PDF Conversion&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Similar to all other Nintex Activities provided by Muhimbi, the &lt;em&gt;Watermark PDF&lt;/em&gt; activity integrates with Nintex Workflow at a deep level. It supports SharePoint 2007 as well as 2010, allows errors to be handled and even supports integration with Nintex’ iterators to deal with multiple items and loops. For a comprehensive example and details about how to enable the Nintex Workflow integration see &lt;a href="http://blog.muhimbi.com/2010/12/converting-multiple-files-to-pdf-format.html"&gt;the blog post that discusses our generic Nintex PDF Conversion activity&lt;/a&gt;.     &lt;br /&gt;&amp;#160;&lt;/p&gt;  &lt;p align="center"&gt;&lt;em style="position: relative"&gt;&lt;font size="1"&gt;&lt;a href="http://lh3.ggpht.com/-_MiYPqe-gG8/Tk0r4-Fy7FI/AAAAAAAAANs/bK3Vr6QDjdw/s1600-h/Image-Watermark-Combined%25255B4%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px 10px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Image-Watermark-Combined" border="0" alt="Image-Watermark-Combined" src="http://lh5.ggpht.com/-P1W7TCiZhqo/Tk0r5vydatI/AAAAAAAAANw/Q4hAzpFPeeU/Image-Watermark-Combined_thumb%25255B2%25255D.png?imgmax=800" width="700" height="645" /&gt;&lt;/a&gt;Watermark PDF files using Nintex Workflow 2007 and 2010 (Image watermark shown)&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;Building a full example workflow is out of the scope of this post as it is relatively simple. For details see our &lt;a href="http://blog.muhimbi.com/2010/12/converting-multiple-files-to-pdf-format.html"&gt;generic PDF Conversion for Nintex Workflow example&lt;/a&gt;. The fields supported by this Workflow Activity are as follows:&lt;/p&gt;  &lt;ul&gt;   &lt;li class="li_spacing"&gt;&lt;strong&gt;Destination Path:&lt;/strong&gt; Enter the path to write the watermarked file to, either:       &lt;br /&gt;- Leave it empty to use the same filename (and path) as the file that triggered the workflow.       &lt;br /&gt;- A file name, without the full path, to write a differently named file to the same location as the source file.       &lt;br /&gt;- A relative path to a subsite / document library / folder, e.g. &lt;em&gt;Shared Documents/Some Folder/Some File.pdf.&lt;/em&gt;       &lt;br /&gt;- An absolute path to a different site collection, e.g. &lt;em&gt;/sites/Finance/Shared Documents/Some Folder/Some File.pdf.&lt;/em&gt;       &lt;br /&gt;&lt;em&gt;&lt;font color="#ff0000"&gt;Please make sure the path does not include the host name, e.g. ‘http://your site/…’.&lt;/font&gt;&lt;/em&gt; &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Watermark type:&lt;/strong&gt; A number of different watermark types are supported. Unlike our individual &lt;a href="http://blog.muhimbi.com/2010/10/watermarking-pdf-documents-using.html"&gt;SharePoint Designer workflow activities&lt;/a&gt;, all watermark types have been rolled up into a single Nintex Activity. The functionality is largely the same so &lt;a href="http://blog.muhimbi.com/2010/10/watermarking-pdf-documents-using.html"&gt;have a look here&lt;/a&gt; for more details. The following watermark types are supported.       &lt;ul&gt;       &lt;li class="li_spacing"&gt;&lt;strong&gt;Text:&lt;/strong&gt; Add a text based watermark with full control over the font type, size, style, rotation and &lt;a href="http://blog.muhimbi.com/2011/04/merging-dynamic-data-into-watermarks.html"&gt;field codes&lt;/a&gt; such as {PAGE}. &lt;/li&gt;        &lt;li class="li_spacing"&gt;&lt;strong&gt;PDF:&lt;/strong&gt; Add the first page of another PDF file as the watermark. &lt;/li&gt;        &lt;li class="li_spacing"&gt;&lt;strong&gt;Image:&lt;/strong&gt; Use a BMP, JPG, GIF, PNG, TIFF, WMF or EMF / EMF+ file as a watermark. &lt;/li&gt;        &lt;li class="li_spacing"&gt;&lt;strong&gt;RTF:&lt;/strong&gt; Use RTF based text as a watermark. &lt;/li&gt;        &lt;li class="li_spacing"&gt;&lt;strong&gt;Ellipse:&lt;/strong&gt; Add an ellipse based watermark. &lt;/li&gt;        &lt;li class="li_spacing"&gt;&lt;strong&gt;Line:&lt;/strong&gt; Add a line based watermark. &lt;/li&gt;        &lt;li class="li_spacing"&gt;&lt;strong&gt;Composite:&lt;/strong&gt; For complex watermarks, or watermarks consisting of multiple elements such as line AND text AND images use the Composite Watermark in combination with our &lt;a href="http://blog.muhimbi.com/2010/10/watermarking-pdf-documents-using_25.html"&gt;XML based watermarking syntax&lt;/a&gt;. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;PDF List ID:&lt;/strong&gt; If you wish to carry out further actions on the watermarked PDF file, e.g. send it by email or perform a check-in, then you can optionally write the ID of the List the PDF was written to in a workflow variable of type &lt;em&gt;String&lt;/em&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;PDF List Item ID:&lt;/strong&gt; Similarly to &lt;em&gt;PDF List ID,&lt;/em&gt; the Item ID of the watermarked PDF file can optionally be written to a workflow variable of type &lt;em&gt;Item ID&lt;/em&gt; (in SharePoint 2007) or &lt;em&gt;Integer&lt;/em&gt; (in SharePoint 2010). &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Source List ID &amp;amp; List Item:&lt;/strong&gt; The item that triggered the workflow is watermarked by default. You can optionally specify the ID of a different List and List Item using workflow variables. Please use the same data types as used by &lt;em&gt;PDF List ID&lt;/em&gt; and &lt;em&gt;PDF List Item ID&lt;/em&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Error Handling:&lt;/strong&gt; Similar to the way some of Nintex’ own Workflow Activities allow errors to be captured and evaluated by subsequent actions, all of Muhimbi’s Workflow Activities allow the same. By default this facility is disabled meaning that any error terminates the workflow. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;   &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ffffff"&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5787751540548761056-5559809398263190007?l=blog.muhimbi.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.muhimbi.com/feeds/5559809398263190007/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.muhimbi.com/2011/08/watermark-pdfs-using-nintex-workflow.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/5559809398263190007" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/5559809398263190007" /><link rel="alternate" type="text/html" href="http://blog.muhimbi.com/2011/08/watermark-pdfs-using-nintex-workflow.html" title="Watermark PDFs using Nintex Workflow and the Muhimbi PDF Converter for SharePoint" /><author><name>Muhimbi</name><uri>http://www.blogger.com/profile/00157302110307291964</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_bUq2JqpCltk/S40YDzxMdQI/AAAAAAAAAAM/MUnKJrXBLxA/S220/Muhimbi48x48.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-fRJmwT0rNdI/Tk0r4qzntyI/AAAAAAAAAN0/TuICw4-3EV8/s72-c/Nintex-logo5_thumb1_thumb%25255B3%25255D.png?imgmax=800" height="72" width="72" /><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5787751540548761056.post-581640813473075361</id><published>2011-08-17T16:34:00.001+01:00</published><updated>2012-01-13T11:02:44.569Z</updated><category scheme="http://www.blogger.com/atom/ns#" term="News" /><category scheme="http://www.blogger.com/atom/ns#" term="pdf" /><category scheme="http://www.blogger.com/atom/ns#" term="Nintex" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter" /><category scheme="http://www.blogger.com/atom/ns#" term="Workflow" /><category scheme="http://www.blogger.com/atom/ns#" term="Articles" /><title type="text">Secure PDFs using Nintex Workflow and the Muhimbi PDF Converter for SharePoint</title><content type="html">&lt;style&gt;




&lt;!-- .li_spacing {padding-bottom:3pt}--&gt;&lt;/style&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-zu7kFMEzy6o/TkvfmOCHdyI/AAAAAAAAANU/PdPf7UnY8S4/s1600-h/Nintex-logo5_thumb1%25255B2%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 15px 7px 14px 10px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Nintex-logo5_thumb1" border="0" alt="Nintex-logo5_thumb1" align="right" src="http://lh5.ggpht.com/-k4li4nKHOVs/TkvfmXBccJI/AAAAAAAAANY/p00roNL3sKM/Nintex-logo5_thumb1_thumb.png?imgmax=800" width="122" height="20" /&gt;&lt;/a&gt;One of the many advantages provided by the PDF file format is the ability to password protect files to make sure they cannot be opened by unauthorised users. Even more useful, in my opinion, is the ability to apply restrictions to PDF files to prevent users from copying its content or even sending it to a printer.&lt;/p&gt;  &lt;p&gt;The Muhimbi PDF Converter for SharePoint has supported PDF Security for quite some time using &lt;a href="http://blog.muhimbi.com/2010/12/securing-pdf-files-using-sharepoint.html"&gt;SharePoint Designer Workflows&lt;/a&gt;, our &lt;a href="http://blog.muhimbi.com/2009/12/converting-office-files-to-pdf-format.html"&gt;Web Services based API&lt;/a&gt; as well as using our own &lt;a href="http://blog.muhimbi.com/2010/01/configure-pdf-security-from-sharepoint.html"&gt;Workflow Power Pack&lt;/a&gt;. With the introduction of version 5.1 we are adding support for the popular, and rather brilliant, Nintex Workflow as well. In addition to the new &lt;em&gt;Secure PDF&lt;/em&gt; Nintex Workflow Activity, we are also adding Activities for &lt;a href="http://blog.muhimbi.com/2011/08/convert-and-merge-pdfs-using-nintex.html"&gt;PDF Merging&lt;/a&gt;, applying &lt;a href="http://blog.muhimbi.com/2011/08/watermark-pdfs-using-nintex-workflow.html"&gt;PDF Watermarks&lt;/a&gt; as well as &lt;a href="http://blog.muhimbi.com/2011/08/convert-html-to-pdf-using-nintex.html"&gt;HTML to PDF Conversion&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Similar to all other Nintex Activities provided by Muhimbi, the &lt;em&gt;Secure PDF&lt;/em&gt; activity integrates with Nintex Workflow at a deep level. It supports SharePoint 2007 as well as 2010, allows errors to be handled and even supports integration with Nintex’ iterators to deal with multiple items and loops. For a comprehensive example and details about how to enable the Nintex Workflow integration see &lt;a href="http://blog.muhimbi.com/2010/12/converting-multiple-files-to-pdf-format.html"&gt;the blog post that discusses our generic Nintex PDF Conversion activity&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p align="center"&gt;&lt;em style="position: relative"&gt;&lt;font size="1"&gt;&lt;a href="http://lh3.ggpht.com/-YztJGT5hDRM/TkvfnGV_0pI/AAAAAAAAANc/1zRIVKH2t14/s1600-h/PDF-Secure-Combined%25255B5%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px 10px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="PDF-Secure-Combined" border="0" alt="PDF-Secure-Combined" src="http://lh5.ggpht.com/-wTiIop6d098/TkvfnuoDcfI/AAAAAAAAANg/x3JYR51X_Ps/PDF-Secure-Combined_thumb%25255B3%25255D.png?imgmax=800" width="700" height="563" /&gt;&lt;/a&gt;Secure PDF files using Nintex Workflow 2007 and 2010&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;Building a full example workflow is out of the scope of this post as it is very simple. For details see our &lt;a href="http://blog.muhimbi.com/2010/12/converting-multiple-files-to-pdf-format.html"&gt;generic PDF Conversion for Nintex Workflow example&lt;/a&gt;. The fields supported by this Workflow Activity are as follows:&lt;/p&gt;  &lt;ul&gt;   &lt;li class="li_spacing"&gt;&lt;strong&gt;Destination Path:&lt;/strong&gt; Enter the path to write the secured file to, either:       &lt;br /&gt;- Leave it empty to use the same filename (and path) as the file that triggered the workflow.       &lt;br /&gt;- A file name, without the full path, to write a differently named file to the same location as the source file.       &lt;br /&gt;- A relative path to a subsite / document library / folder, e.g. &lt;em&gt;Shared Documents/Some Folder/Some File.pdf.&lt;/em&gt;       &lt;br /&gt;- An absolute path to a different site collection, e.g. &lt;em&gt;/sites/Finance/Shared Documents/Some Folder/Some File.pdf.&lt;/em&gt;       &lt;br /&gt;&lt;em&gt;&lt;font color="#ff0000"&gt;Please make sure the path does not include the host name, e.g. ‘http://your site/…’.&lt;/font&gt;&lt;/em&gt; &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Open Password:&lt;/strong&gt; An optional password that the user must enter in order to open the document. &lt;em&gt;Please note that any password entered here is displayed in clear text to allow Nintex field references to be added. &lt;/em&gt;&amp;#160; &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Owner Password:&lt;/strong&gt; An optional password that the user must enter in order to change the PDF restrictions. When specifying any PDF Restrictions then this password must be set. &lt;em&gt;Please note that any password entered here is displayed in clear text to allow Nintex field references to be added. &lt;/em&gt;&lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Individual PDF Restrictions:&lt;/strong&gt; Select the individual restrictions such as &lt;em&gt;Disable Printing&lt;/em&gt; or &lt;em&gt;Disable Content Copying&lt;/em&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;PDF List ID:&lt;/strong&gt; If you wish to carry out further actions on the secured PDF file, e.g. send it by email or perform a check-in, then you can optionally write the ID of the List the PDF was written to in a workflow variable of type &lt;em&gt;String&lt;/em&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;PDF List Item ID:&lt;/strong&gt; Similarly to &lt;em&gt;PDF List ID,&lt;/em&gt; the Item ID of the secured PDF file can optionally be written to a workflow variable of type &lt;em&gt;Item ID&lt;/em&gt; (in SharePoint 2007) or &lt;em&gt;Integer&lt;/em&gt; (in SharePoint 2010). &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Source List ID &amp;amp; List Item:&lt;/strong&gt; The item that triggered the workflow is secured by default. You can optionally specify the ID of a different List and List Item using workflow variables. Please use the same data types as used by &lt;em&gt;PDF List ID&lt;/em&gt; and &lt;em&gt;PDF List Item ID&lt;/em&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Error Handling:&lt;/strong&gt; Similar to the way some of Nintex’ own Workflow Activities allow errors to be captured and evaluated by subsequent actions, all of Muhimbi’s Workflow Activities allow the same. By default this facility is disabled meaning that any error terminates the workflow. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;   &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ffffff"&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5787751540548761056-581640813473075361?l=blog.muhimbi.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.muhimbi.com/feeds/581640813473075361/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.muhimbi.com/2011/08/secure-pdfs-using-nintex-workflow-and.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/581640813473075361" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/581640813473075361" /><link rel="alternate" type="text/html" href="http://blog.muhimbi.com/2011/08/secure-pdfs-using-nintex-workflow-and.html" title="Secure PDFs using Nintex Workflow and the Muhimbi PDF Converter for SharePoint" /><author><name>Muhimbi</name><uri>http://www.blogger.com/profile/00157302110307291964</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_bUq2JqpCltk/S40YDzxMdQI/AAAAAAAAAAM/MUnKJrXBLxA/S220/Muhimbi48x48.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/-k4li4nKHOVs/TkvfmXBccJI/AAAAAAAAANY/p00roNL3sKM/s72-c/Nintex-logo5_thumb1_thumb.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5787751540548761056.post-7469729467303137949</id><published>2011-08-17T12:09:00.001+01:00</published><updated>2012-01-13T11:11:04.594Z</updated><category scheme="http://www.blogger.com/atom/ns#" term="News" /><category scheme="http://www.blogger.com/atom/ns#" term="Merging" /><category scheme="http://www.blogger.com/atom/ns#" term="pdf" /><category scheme="http://www.blogger.com/atom/ns#" term="Nintex" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter" /><category scheme="http://www.blogger.com/atom/ns#" term="Workflow" /><category scheme="http://www.blogger.com/atom/ns#" term="Articles" /><title type="text">Convert and Merge PDFs using Nintex Workflow and the PDF Converter for SharePoint</title><content type="html">&lt;style&gt;






&lt;!-- .li_spacing {padding-bottom:3pt}--&gt;&lt;/style&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-jfofLQmKvPw/TkuhYc1sqTI/AAAAAAAAANE/N_CcbGvZDe0/s1600-h/Nintex-logo5%25255B5%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 15px 7px 14px 10px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Nintex-logo5" border="0" alt="Nintex-logo5" align="right" src="http://lh5.ggpht.com/-0GiQEi82JMw/TkuhY5ge19I/AAAAAAAAANI/auv6UvqJnrw/Nintex-logo5_thumb%25255B1%25255D.png?imgmax=800" width="122" height="20" /&gt;&lt;/a&gt;The &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint/summary.aspx"&gt;Muhimbi PDF Converter for SharePoint&lt;/a&gt; has been able to convert and merge multiple files / URLs into a single PDF file for some time, a facility used by many of our customers. Previously it was possible to use the &lt;a href="http://blog.muhimbi.com/2011/05/converting-and-merging-multiple-files.html"&gt;SharePoint User Interface&lt;/a&gt;, &lt;a href="http://blog.muhimbi.com/2011/05/converting-and-merging-multiple-pdf.html"&gt;our API&lt;/a&gt; and the &lt;a href="http://blog.muhimbi.com/2010/05/combining-multiple-pdf-files-using.html"&gt;Muhimbi Workflow Power Pack&lt;/a&gt; to control this merge process, but as of version 5.1 it is also possible to merge files using both &lt;a href="http://blog.muhimbi.com/2011/08/converting-and-merging-multiple-pdf.html"&gt;SharePoint Designer&lt;/a&gt; and Nintex Workflow.&lt;/p&gt;  &lt;p&gt;Version 5.1 of the PDF Converter for SharePoint adds Nintex Workflow versions for all existing SharePoint Designer based Muhimbi PDF Workflow Activities, including PDF Merging, applying &lt;a href="http://blog.muhimbi.com/2011/08/secure-pdfs-using-nintex-workflow-and.html"&gt;PDF Security&lt;/a&gt;, applying &lt;a href="http://blog.muhimbi.com/2011/08/watermark-pdfs-using-nintex-workflow.html"&gt;PDF Watermarks&lt;/a&gt; as well as &lt;a href="http://blog.muhimbi.com/2011/08/convert-html-to-pdf-using-nintex.html"&gt;HTML to PDF Conversion&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Similar to all other Nintex Activities provided by Muhimbi, the &lt;em&gt;Merging files to PDF&lt;/em&gt; activity integrates with Nintex Workflow at a deep level. It supports SharePoint 2007 as well as 2010, allows errors to be handled and even supports integration with Nintex’ iterators to deal with multiple items and loops. For a comprehensive example and details about how to enable the Nintex Workflow integration see &lt;a href="http://blog.muhimbi.com/2010/12/converting-multiple-files-to-pdf-format.html"&gt;the blog post that discusses our generic Nintex PDF Conversion activity&lt;/a&gt;.     &lt;br /&gt;&amp;#160;&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://lh4.ggpht.com/-f6ATCipBy4U/TkuhZZ6_6SI/AAAAAAAAANM/GDy83khpphg/s1600-h/PDF-Merging-Combined%25255B5%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px 10px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="PDF-Merging-Combined" border="0" alt="PDF-Merging-Combined" src="http://lh5.ggpht.com/-rPDUh2RklO0/TkuhcJTBFQI/AAAAAAAAANQ/L2LYsDmSqVQ/PDF-Merging-Combined_thumb%25255B3%25255D.png?imgmax=800" width="700" height="406" /&gt;&lt;/a&gt;&lt;em style="position: relative"&gt;&lt;font size="1"&gt;Merge multiple files into a single PDF using Nintex Workflow 2007 and 2010&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;Building a full example workflow is out of the scope of this post as it is very simple. For details see our &lt;a href="http://blog.muhimbi.com/2010/12/converting-multiple-files-to-pdf-format.html"&gt;generic PDF Conversion for Nintex Workflow example&lt;/a&gt;. The fields supported by this Workflow Activity are as follows:&lt;/p&gt;  &lt;ul&gt;   &lt;li class="li_spacing"&gt;&lt;strong&gt;Destination Path:&lt;/strong&gt; Enter the path to write the merged file to, either:       &lt;br /&gt;- Leave it empty to use the same filename (and path) as the file that triggered the workflow.       &lt;br /&gt;- A relative path to a subsite / document library / folder, e.g. &lt;em&gt;Shared Documents/Some Folder/Some File.pdf.&lt;/em&gt;       &lt;br /&gt;- An absolute path to a different site collection, e.g. &lt;em&gt;/sites/Finance/Shared Documents/Some Folder/Some File.pdf.&lt;/em&gt;       &lt;br /&gt;&lt;em&gt;&lt;font color="#ff0000"&gt;Please make sure the path does not include the host name, e.g. ‘http://your site/…’., See &lt;a href="http://blog.muhimbi.com/2011/11/specifying-paths-and-file-names-when.html"&gt;this post&lt;/a&gt; for details.&lt;/font&gt;&lt;/em&gt;&lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Source Files:&lt;/strong&gt; This field specifies the list of documents to merge (and convert if needed). Each file must be specified on a new line and each line may contains three ‘;’ separated values:       &lt;br /&gt;&amp;#160; &lt;br /&gt;      &lt;ul&gt;       &lt;li class="li_spacing"&gt;&lt;strong&gt;File Path:&lt;/strong&gt; The path to the file, or URL, to merge. This may already be a PDF file, but if not – and the file format is supported by the converter – then it will be converted first. The path can be relative to the current site (e.g. &lt;em&gt;Shared Documents/Some File.docx&lt;/em&gt;) or absolute (e.g. &lt;em&gt;/sites/Finance/Shared Documents/Some Folder/Some file.docx&lt;/em&gt;). Nintex Workflow References are fully supported, which can be used to dynamically generated the path for the current file, e.g. &lt;em&gt;{ItemProperty:FileLeafRef}&lt;/em&gt;. Some string manipulation to generate the exact path to the file may be needed. &lt;em&gt;&lt;font color="#ff0000"&gt;When specifying a file please make &lt;/font&gt;&lt;font color="#ff0000"&gt;sure the path does not include the host name, e.g. ‘http://your site/…’. When converting a web page then the path MUST start with http:// or https://.&lt;/font&gt;&lt;/em&gt;&amp;#160;&lt;/li&gt;        &lt;li class="li_spacing"&gt;&lt;strong&gt;Include Bookmarks:&lt;/strong&gt; The source file may already include PDF Bookmarks, or may be able to generate such bookmarks as part of the conversion process, e.g. an MS-Word file. Specify &lt;em&gt;true&lt;/em&gt; to copy these bookmarks to the merged PDF file, or &lt;em&gt;false &lt;/em&gt;to strip out any bookmarks. This value is optional &lt;/li&gt;        &lt;li class="li_spacing"&gt;&lt;strong&gt;Custom Bookmark value:&lt;/strong&gt; The &lt;em&gt;Bookmark &lt;/em&gt;parameter (see below for details) can be overridden using the third parameter. Specify the content of the ‘top level bookmark’ for the file, specify &amp;quot;&amp;quot; to remove the bookmark for this document or don’t specify anything at all to use the value stored in the content specified in the &lt;em&gt;Bookmark &lt;/em&gt;parameter.&amp;#160; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Bookmark:&lt;/strong&gt; In a way similar to the &lt;a href="http://blog.muhimbi.com/2011/05/converting-and-merging-multiple-files.html"&gt;User Interface for the merge facility&lt;/a&gt;, it is possible to specify a name of the column, or any kind of Nintex Reference, which contents will be used to populate the PDF Bookmark for the merged document. For example, specifying &lt;em&gt;Name&lt;/em&gt; or &lt;em&gt;Title&lt;/em&gt; (using the appropriate Nintex Workflow lookup Syntax) makes it very easy to jump between the various sections of the merged PDF file. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;PDF List ID:&lt;/strong&gt; If you wish to carry out further actions on the generated PDF file, e.g. merge additional documents or perform a check-in, then you can optionally write the ID of the List the PDF was written to in a workflow variable of type &lt;em&gt;String&lt;/em&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;PDF List Item ID:&lt;/strong&gt; Similarly to &lt;em&gt;PDF List ID,&lt;/em&gt; the Item ID of the generated PDF file can optionally be written to a workflow variable of type &lt;em&gt;Item ID&lt;/em&gt; (in SharePoint 2007) or &lt;em&gt;Integer&lt;/em&gt; (in SharePoint 2010). &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Source List ID &amp;amp; List Item:&lt;/strong&gt; The item that triggered the workflow is merged by default. You can optionally specify the ID of a different List and List Item using workflow variables. Please use the same data types as used by &lt;em&gt;PDF List ID&lt;/em&gt; and &lt;em&gt;PDF List Item ID&lt;/em&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Error Handling:&lt;/strong&gt; Similar to the way some of Nintex’ own Workflow Activities allow errors to be captured and evaluated by subsequent actions, all of Muhimbi’s Workflow Activities allow the same. By default this facility is disabled meaning that any error terminates the workflow. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;   &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ffffff"&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5787751540548761056-7469729467303137949?l=blog.muhimbi.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.muhimbi.com/feeds/7469729467303137949/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.muhimbi.com/2011/08/convert-and-merge-pdfs-using-nintex.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/7469729467303137949" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/7469729467303137949" /><link rel="alternate" type="text/html" href="http://blog.muhimbi.com/2011/08/convert-and-merge-pdfs-using-nintex.html" title="Convert and Merge PDFs using Nintex Workflow and the PDF Converter for SharePoint" /><author><name>Muhimbi</name><uri>http://www.blogger.com/profile/00157302110307291964</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_bUq2JqpCltk/S40YDzxMdQI/AAAAAAAAAAM/MUnKJrXBLxA/S220/Muhimbi48x48.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/-0GiQEi82JMw/TkuhY5ge19I/AAAAAAAAANI/auv6UvqJnrw/s72-c/Nintex-logo5_thumb%25255B1%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5787751540548761056.post-2805138670134824444</id><published>2011-08-16T17:15:00.001+01:00</published><updated>2012-01-13T10:54:59.255Z</updated><category scheme="http://www.blogger.com/atom/ns#" term="News" /><category scheme="http://www.blogger.com/atom/ns#" term="Merging" /><category scheme="http://www.blogger.com/atom/ns#" term="pdf" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter" /><category scheme="http://www.blogger.com/atom/ns#" term="Workflow" /><category scheme="http://www.blogger.com/atom/ns#" term="Articles" /><title type="text">Convert and merge multiple PDF files using SharePoint Designer workflows</title><content type="html">&lt;style&gt;













 &lt;!-- .li_spacing {padding-bottom:3pt}--&gt;&lt;/style&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px 10px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="merge" border="0" alt="merge" align="right" src="http://lh6.ggpht.com/-Fc6R7-OU93U/TkqUDoN10yI/AAAAAAAAAMA/J7mkqlLcdr4/merge4.png?imgmax=800" width="150" height="150" /&gt;The &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint/summary.aspx"&gt;Muhimbi PDF Converter for SharePoint&lt;/a&gt; has been able to convert and merge multiple files (including web pages) into a single PDF file for some time, a facility used by many of our customers. Previously it was possible to use the &lt;a href="http://blog.muhimbi.com/2011/05/converting-and-merging-multiple-files.html"&gt;SharePoint User Interface&lt;/a&gt;, &lt;a href="http://blog.muhimbi.com/2011/05/converting-and-merging-multiple-pdf.html"&gt;our API&lt;/a&gt; and the &lt;a href="http://blog.muhimbi.com/2010/05/combining-multiple-pdf-files-using.html"&gt;Muhimbi Workflow Power Pack&lt;/a&gt; to control this merge process, but as of version 5.1 it is also possible to merge files using both SharePoint Designer and &lt;a href="http://blog.muhimbi.com/2011/08/convert-and-merge-pdfs-using-nintex.html"&gt;Nintex Workflow&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;This post shows how to use SharePoint Designer to create a workflow that automatically adds a cover page to a document whenever it is created or updated. If the document is not already in PDF Format it will convert the file as part of the merging process. &lt;/p&gt;  &lt;p&gt;The SharePoint Designer Workflow Activity is named &lt;em&gt;Merge Documents into PDF. &lt;/em&gt;After adding it to your workflow you will see the following &lt;em&gt;Workflow Sentence.      &lt;br /&gt;&amp;#160;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SPD-Sentence" border="0" alt="SPD-Sentence" src="http://lh4.ggpht.com/-m0DX_UpDfpw/TkqW61cqSvI/AAAAAAAAANA/cxXoLWXOl4M/SPD-Sentence%25255B1%25255D.png?imgmax=800" width="485" height="72" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160; &lt;br /&gt;The following fields are available:&lt;/p&gt;  &lt;ul&gt;   &lt;li class="li_spacing"&gt;&lt;strong&gt;These Documents:&lt;/strong&gt; This field specifies the list of documents / URLs to merge (and convert if needed). Each file must be specified on a new line and each line may contains three ‘;’ separated values:       &lt;br /&gt;&amp;#160; &lt;br /&gt;      &lt;ul&gt;       &lt;li class="li_spacing"&gt;&lt;strong&gt;File Path:&lt;/strong&gt; The path to the file to merge or URL of web page to convert. This may already be a PDF file, but if not – and the file format is supported by the converter – then it will be converted first. The path can be relative to the current site (e.g. &lt;em&gt;Shared Documents/Some File.docx&lt;/em&gt;) or absolute (e.g. &lt;em&gt;/sites/Finance/Shared Documents/Some Folder/Some file.docx&lt;/em&gt;). SharePoint Designer Workflow Lookups are fully supported, which can be used to dynamically generate the path for the current file, e.g. &lt;u&gt;[%Current Item:URL Path%]&lt;/u&gt;. &lt;em&gt;&lt;font color="#ff0000"&gt;In SharePoint 2010 always use forward slashes in your file path, see &lt;a href="http://support.microsoft.com/?id=2529610"&gt;KB2529610&lt;/a&gt;&lt;/font&gt;&lt;/em&gt;. &lt;em&gt;&lt;font color="#ff0000"&gt;When specifying a file p&lt;/font&gt;&lt;font color="#ff0000"&gt;lease make sure the path does not include the host name, e.g. ‘http://your site/…’. If you wish to convert web pages then the path MUST start with http:// or https://.&lt;/font&gt;&lt;/em&gt;&lt;/li&gt;        &lt;li class="li_spacing"&gt;&lt;strong&gt;Include Bookmarks:&lt;/strong&gt; The source file may already include PDF Bookmarks, or may be able to generate such bookmarks as part of the conversion process, e.g. an MS-Word file. Specify &lt;em&gt;true&lt;/em&gt; to copy these bookmarks to the merged PDF file, or &lt;em&gt;false &lt;/em&gt;to strip out any bookmarks. This value is optional &lt;/li&gt;        &lt;li class="li_spacing"&gt;&lt;strong&gt;Custom Bookmark value:&lt;/strong&gt; The &lt;u&gt;this field&lt;/u&gt; parameter (see below for details) can be overridden using the third parameter. Specify the name of the ‘top level bookmark’ for the file, specify &amp;quot;&amp;quot; to remove the bookmark for this document or don’t specify anything at all to use the value stored in the column referenced by the &lt;u&gt;this field&lt;/u&gt; parameter. For an example see the exercise below. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;This File:&lt;/strong&gt; An optional filename (and path) to write the merged document to. When not specified, the same name as the document that triggered the workflow will be used with a ‘.pdf’ file extension. &lt;em&gt;&lt;font color="#ff0000"&gt;Please make sure the path does not include the host name, e.g. ‘http://your site/…’., &lt;a href="http://blog.muhimbi.com/2011/11/specifying-paths-and-file-names-when.html"&gt;see this post for details&lt;/a&gt;.&lt;/font&gt;&lt;/em&gt;&lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;This Field:&lt;/strong&gt; In a way similar to the &lt;a href="http://blog.muhimbi.com/2011/05/converting-and-merging-multiple-files.html"&gt;User Interface for the merge facility&lt;/a&gt;, it is possible to specify a name of the column which contents will be used to populate the PDF Bookmark for the merged document. For example, specifying &lt;em&gt;name&lt;/em&gt; or &lt;em&gt;title&lt;/em&gt; makes it very easy to jump between the various sections of the merged PDF file. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Variable:&lt;/strong&gt; List ID: If you wish to carry out further actions on the generated PDF file, e.g. perform a check-in, then you can optionally write the ID of the List the PDF was written to in a workflow variable. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Variable:&lt;/strong&gt; List Item ID: Similarly to &lt;em&gt;List ID,&lt;/em&gt; the Item ID of the generated PDF file can optionally be written to a workflow variable. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;OK, so that is the theory. Let’s create a sample to automatically add a cover page to each document. In this example we will use SharePoint Designer 2010, but the steps for SharePoint Designer 2007 are nearly identical.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Download and install the &lt;a href="http://muhimbi.com/Products/PDF-Converter-for-SharePoint.aspx"&gt;PDF Converter for SharePoint&lt;/a&gt;. You will need version 5.1 or newer.       &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;If not already installed, download and install the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=BAA3AD86-BFC1-4BD4-9812-D9E710D44F42&amp;amp;displaylang=en"&gt;free SharePoint Designer&lt;/a&gt; for your environment (2007 or 2010).       &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;Make sure you have the appropriate privileges to create workflows on a site collection.      &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;Create, or navigate to, the Document Library that will be used for this workflow and add a simple MS-Word file named &lt;em&gt;cover page.docx&lt;/em&gt;. This file can really be in any format and if its content is static it is recommend to use a PDF file for this purpose so it doesn’t need to be converted repeatedly for every merge operation.       &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;Open SharePoint Designer, open the relevant Site, create a new workflow, associate it with the Document Library used in step #4 and enable all &lt;em&gt;Start Options&lt;/em&gt; to make sure the workflow is triggered when an item is created and updated.       &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;Add a condition to check that the &lt;em&gt;type&lt;/em&gt; property of the current item does not equal &lt;em&gt;pdf&lt;/em&gt;. Otherwise the workflow will recursively trigger whenever the merged file is written to the same document library.       &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;Add the &lt;em&gt;Merge Documents into PDF&lt;/em&gt; workflow Action and click the &lt;u&gt;these documents&lt;/u&gt; parameter.       &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;Add a line for the location of the cover page, note that our Document Library is named &lt;em&gt;Automatic Merging. &lt;/em&gt;There is no need to specify the optional &lt;em&gt;Include Bookmark&lt;/em&gt; and &lt;em&gt;Custom Bookmark&lt;/em&gt; values, although you can if you wish to.       &lt;br /&gt;&amp;#160;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SPD-FileSelection" border="0" alt="SPD-FileSelection" src="http://lh5.ggpht.com/-qiTmx7pwuP0/TkqXjXjJTRI/AAAAAAAAAM8/63Hw9oEVZiI/SPD-FileSelection7.png?imgmax=800" width="462" height="156" /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;The second file to merge is the one that triggered the workflow. Position the cursor on the 2nd line of the String Builder and click the &lt;em&gt;Add or Change Lookup&lt;/em&gt; button. Select &lt;em&gt;Current Item&lt;/em&gt; as the &lt;em&gt;Data Source&lt;/em&gt; and &lt;em&gt;URL Path&lt;/em&gt; as the &lt;em&gt;Field from source&lt;/em&gt;. Click &lt;em&gt;OK&lt;/em&gt; to close the &lt;em&gt;Lookup for String&lt;/em&gt; window. We want to include the source document’s bookmarks so enter &lt;em&gt;;true&lt;/em&gt; at the end of the second line.       &lt;br /&gt;&amp;#160; &lt;br /&gt;Your &lt;em&gt;String Builder&lt;/em&gt; should now look similar to the screenshot under step #8. Click &lt;em&gt;OK&lt;/em&gt; to accept the changes.       &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;In this example we want the (merged) output file to use the same name and path as the source file that triggered the workflow, so there is not need to change the &lt;u&gt;this file&lt;/u&gt; parameter.       &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;Click the &lt;u&gt;this field&lt;/u&gt; parameter and select the field you wish to use for the content of the PDF Bookmarks. In this example we’ll select &lt;em&gt;Name&lt;/em&gt;.       &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;We are all done, publish the workflow and add an MS-Word file with the content to merge to the Document Library. After a few seconds a PDF file will be created consisting of the cover page and the content. Open the PDF file and use the Bookmark pane to quickly navigate to the start of the 2 documents. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ffffff"&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5787751540548761056-2805138670134824444?l=blog.muhimbi.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.muhimbi.com/feeds/2805138670134824444/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.muhimbi.com/2011/08/converting-and-merging-multiple-pdf.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/2805138670134824444" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/2805138670134824444" /><link rel="alternate" type="text/html" href="http://blog.muhimbi.com/2011/08/converting-and-merging-multiple-pdf.html" title="Convert and merge multiple PDF files using SharePoint Designer workflows" /><author><name>Muhimbi</name><uri>http://www.blogger.com/profile/00157302110307291964</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_bUq2JqpCltk/S40YDzxMdQI/AAAAAAAAAAM/MUnKJrXBLxA/S220/Muhimbi48x48.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-Fc6R7-OU93U/TkqUDoN10yI/AAAAAAAAAMA/J7mkqlLcdr4/s72-c/merge4.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5787751540548761056.post-5871577586327878828</id><published>2011-08-15T14:48:00.001+01:00</published><updated>2012-01-13T11:03:18.532Z</updated><category scheme="http://www.blogger.com/atom/ns#" term="News" /><category scheme="http://www.blogger.com/atom/ns#" term="Products" /><category scheme="http://www.blogger.com/atom/ns#" term="pdf" /><category scheme="http://www.blogger.com/atom/ns#" term="Nintex" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter" /><category scheme="http://www.blogger.com/atom/ns#" term="Workflow" /><category scheme="http://www.blogger.com/atom/ns#" term="Articles" /><title type="text">Convert HTML to PDF using Nintex Workflow and the PDF Converter for SharePoint</title><content type="html">&lt;style&gt;













&lt;!-- .li_spacing {padding-bottom:3pt}--&gt;&lt;/style&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 15px 7px 5px 10px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Nintex logo" border="0" alt="Nintex logo" align="right" src="http://lh5.ggpht.com/-V5-zAKzf1og/TkkjooyBRVI/AAAAAAAAAL0/cFGnd1BG2Ms/Nintex%252520logo%25255B5%25255D.png?imgmax=800" width="122" height="20" /&gt;One of the more popular features of the &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint/summary.aspx"&gt;Muhimbi PDF Converter for SharePoint&lt;/a&gt; is the ability to convert web pages as well as HTML fragments to PDF format using the &lt;a href="http://blog.muhimbi.com/2010/09/convert-html-pages-to-pdf-format-using.html"&gt;SharePoint User Interface&lt;/a&gt;, from &lt;a href="http://blog.muhimbi.com/2010/08/convert-sharepoint-html-pages-to-pdf.html"&gt;your own code&lt;/a&gt;, or as part of a &lt;a href="http://blog.muhimbi.com/2010/08/converting-sharepoint-lists-to-pdf.html"&gt;SharePoint Designer workflow&lt;/a&gt;. Although we have &lt;a href="http://blog.muhimbi.com/2010/12/converting-multiple-files-to-pdf-format.html"&gt;supported integration with Nintex Workflow&lt;/a&gt; for a while, we did not have a native Nintex Workflow activity to convert HTML to PDF.&lt;/p&gt;  &lt;p&gt;That all changes with the introduction of version 5.1 of the PDF Converter for SharePoint, which adds Nintex Workflow versions for all existing SharePoint Designer based Muhimbi PDF Workflow Activities, including &lt;a href="http://blog.muhimbi.com/2011/08/convert-and-merge-pdfs-using-nintex.html"&gt;PDF Merging&lt;/a&gt;, applying &lt;a href="http://blog.muhimbi.com/2011/08/secure-pdfs-using-nintex-workflow-and.html"&gt;PDF Security&lt;/a&gt;, applying &lt;a href="http://blog.muhimbi.com/2011/08/watermark-pdfs-using-nintex-workflow.html"&gt;PDF Watermarks&lt;/a&gt; as well as HTML to PDF Conversion, which we will discuss in this blog post.&lt;/p&gt;  &lt;p&gt;Similar to all other Nintex Activities provided by Muhimbi, the &lt;em&gt;HTML to PDF Conversion&lt;/em&gt; activity integrates with Nintex Workflow at a deep level. It supports SharePoint 2007 as well as 2010, allows errors to be handled and even supports integration with Nintex’ iterators to deal with multiple items and loops. For a comprehensive example and details about how to enable the Nintex Workflow integration see &lt;a href="http://blog.muhimbi.com/2010/12/converting-multiple-files-to-pdf-format.html"&gt;the blog post that discusses our generic Nintex PDF Conversion activity&lt;/a&gt;.     &lt;br /&gt;&amp;#160;&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://lh6.ggpht.com/-0XQEq0w6Zs0/TkkjpLJo_vI/AAAAAAAAAL4/9Mez-ylqmHQ/s1600-h/HTML-to-PDF-Combined%25255B6%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px 10px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="HTML-to-PDF-Combined" border="0" alt="HTML-to-PDF-Combined" src="http://lh4.ggpht.com/-KGtHeHWlM0k/Tkkjpi7Yt2I/AAAAAAAAAL8/4fcDevyHQzo/HTML-to-PDF-Combined_thumb%25255B4%25255D.png?imgmax=800" width="700" height="362" /&gt;&lt;/a&gt;     &lt;br /&gt;&lt;em style="position: relative"&gt;&lt;font size="1"&gt;Convert HTML to PDF using Nintex Workflow 2007 and 2010&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160; &lt;br /&gt;Building a full example workflow is out of the scope of this post as it is very simple. For details see our &lt;a href="http://blog.muhimbi.com/2010/12/converting-multiple-files-to-pdf-format.html"&gt;generic PDF Conversion for Nintex Workflow example&lt;/a&gt;. The fields supported by this Workflow Activity are as follows:&lt;/p&gt;  &lt;ul&gt;   &lt;li class="li_spacing"&gt;&lt;strong&gt;Destination Path:&lt;/strong&gt; Enter the path to write the converted file to, either:       &lt;br /&gt;- A relative path to a subsite / document library / folder, e.g. &lt;em&gt;Shared Documents/Some Folder/Some File.pdf.&lt;/em&gt;       &lt;br /&gt;- An absolute path to a different site collection, e.g. &lt;em&gt;/sites/Finance/Shared Documents/Some Folder/Some File.pdf.&lt;/em&gt;       &lt;br /&gt;&lt;em&gt;&lt;font color="#ff0000"&gt;Always use forward slashes.&lt;/font&gt;&lt;/em&gt; &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Source URL / HTML:&lt;/strong&gt; Either a fully qualified URL of the page to convert or an HTML fragment. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Page Orientation:&lt;/strong&gt; Specify if you wish to use &lt;em&gt;Portrait&lt;/em&gt; or &lt;em&gt;Landscape&lt;/em&gt; for the generated PDF file. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Username:&lt;/strong&gt; By default all pages are requested by the conversion service using the account the service is running under. If that account has no privileges on the requested URL then specify an alternative user name in this field. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Password:&lt;/strong&gt; The password associated with the optional user name. Please note that any password entered here is displayed in clear text to allow field references to be added.&amp;#160; &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;PDF List ID:&lt;/strong&gt; If you wish to carry out further actions on the generated PDF file, e.g. perform a check-in, then you can optionally write the ID of the List the PDF was written to in a workflow variable of type &lt;em&gt;String&lt;/em&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;PDF List Item ID:&lt;/strong&gt; Similarly to &lt;em&gt;PDF List ID,&lt;/em&gt; the Item ID of the generated PDF file can optionally be written to a workflow variable of type &lt;em&gt;Item ID&lt;/em&gt; (in SharePoint 2007) or &lt;em&gt;Integer&lt;/em&gt; (in SharePoint 2010). &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Error Handling:&lt;/strong&gt; Similar to the way some of Nintex’ own Workflow Activities allow errors to be captured and evaluated by subsequent actions, all of Muhimbi’s Workflow Activities allow the same. By default this facility is disabled meaning that any error terminates the workflow. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160; &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ffffff"&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5787751540548761056-5871577586327878828?l=blog.muhimbi.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.muhimbi.com/feeds/5871577586327878828/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.muhimbi.com/2011/08/convert-html-to-pdf-using-nintex.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/5871577586327878828" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/5871577586327878828" /><link rel="alternate" type="text/html" href="http://blog.muhimbi.com/2011/08/convert-html-to-pdf-using-nintex.html" title="Convert HTML to PDF using Nintex Workflow and the PDF Converter for SharePoint" /><author><name>Muhimbi</name><uri>http://www.blogger.com/profile/00157302110307291964</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_bUq2JqpCltk/S40YDzxMdQI/AAAAAAAAAAM/MUnKJrXBLxA/S220/Muhimbi48x48.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/-V5-zAKzf1og/TkkjooyBRVI/AAAAAAAAAL0/cFGnd1BG2Ms/s72-c/Nintex%252520logo%25255B5%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5787751540548761056.post-7027624782800581400</id><published>2011-06-24T14:01:00.001+01:00</published><updated>2011-06-24T14:22:17.995+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="News" /><category scheme="http://www.blogger.com/atom/ns#" term="Products" /><category scheme="http://www.blogger.com/atom/ns#" term="Audit" /><category scheme="http://www.blogger.com/atom/ns#" term="Articles" /><title type="text">Reporting log-in and log-off events using the SharePoint Audit Suite</title><content type="html">&lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px 10px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="login" border="0" alt="login" align="right" src="http://lh6.ggpht.com/-ZXY8nmIm_dM/TgSKl0gmj3I/AAAAAAAAALg/QPIPJqjAG9Y/login%25255B5%25255D.jpg?imgmax=800" width="146" height="143" /&gt;&lt;/p&gt;  &lt;p&gt;In part 2 of our series about &lt;a href="http://blog.muhimbi.com/2011/02/sharepoint-audit-suite-20-sharepoint.html"&gt;&lt;em&gt;New features in Muhimbi SharePoint Audit 2.0&lt;/em&gt;&lt;/a&gt; we are diving into another unique facility that tracks when users log-in to or log-off from a SharePoint Site collection, also known as &lt;em&gt;Authentication Tracking. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Although this great new functionality&amp;#160; works straight out-of-the-box, you may want to put some thought into configuring it in a manner appropriate to your organisation’s requirements. &lt;/p&gt;  &lt;p&gt;This blog post shows what is involved in configuring and using the &lt;em&gt;Authentication Tracking&lt;/em&gt; facility. Part 1 of this series, &lt;em&gt;tracking and reporting field level changes&lt;/em&gt;, &lt;a href="http://blog.muhimbi.com/2011/03/auditing-field-level-changes-using.html"&gt;is available here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Configuration&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The Authentication Tracking facility doesn’t require much configuration. However, as SharePoint is a browser based solution, there is no such thing as a ‘log-off’ event. Instead the Muhimbi Audit Suite looks at a user’s activity, or rather a lack of activity, to determine if a user has logged-off. The default setting is to record a ‘log-off’ event after 30 minutes of user inactivity, but this can be changed (at the Web Application level) using the &lt;em&gt;Configure Audit Log Crawler&lt;/em&gt; screen in Central Administration.&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Authentication Timeout" border="0" alt="Authentication Timeout" src="http://lh4.ggpht.com/-GETis3_HO8w/TgSKmBwvBfI/AAAAAAAAALk/b9T1q7_wuzQ/Authentication%252520Timeout%25255B5%25255D.png?imgmax=800" width="631" height="193" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;You will also need to enable the tracking of &lt;em&gt;Authentication &lt;/em&gt;events. You can do this at the global Farm, individual Web Application or even at the Site Collection Level (For details about our hierarchical configuration system see the &lt;a href="http://www.muhimbi.com/support/documentation/SharePoint-Audit/Administration-Guide.aspx"&gt;Administration Guide&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Authentication Event" border="0" alt="Authentication Event" src="http://lh6.ggpht.com/-GwTscbZ7c-I/TgSKmrdrVOI/AAAAAAAAALo/FUo_LWH3uH0/Authentication%252520Event%25255B5%25255D.png?imgmax=800" width="631" height="337" /&gt;&lt;/p&gt;  &lt;p&gt;There is one big caveat associated with how we track Authentication events. As mentioned before, we determine these kind of events based on a user’s activity, specifically the audit events logged by the user. As a result you can’t just enable the &lt;em&gt;Authentication&lt;/em&gt; Audit event without enabling at least one other Audit Event Type, otherwise there is no activity to track. The most frequently logged audit type is the &lt;em&gt;View&lt;/em&gt; event so it is recommended to enable that event type alongside the &lt;em&gt;Authentication&lt;/em&gt; Type.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Reporting&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The ability to track Authentication events is great, but naturally you want to be able to report on this data as well. The standard&lt;em&gt; Audit Query&lt;/em&gt; screen that ships with the Muhimbi SharePoint Audit Suite can be used, but if you are just interested in reporting Authentication Audit events then you can also run the stock &lt;em&gt;Log in and Log out&lt;/em&gt; report from the &lt;em&gt;Run Audit Reports&lt;/em&gt; screen.&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Authentication Report" border="0" alt="Authentication Report" src="http://lh3.ggpht.com/-G97i1sRd8jk/TgSKnA7i1xI/AAAAAAAAALs/1wXceCiVZ_w/Authentication%252520Report%25255B5%25255D.png?imgmax=800" width="511" height="85" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;After running a report the results are initially presented in a browser window. To get a better overview it is recommended to click the &lt;em&gt;Export Audit entries to Excel&lt;/em&gt; link. By default this shows a report grouped by &lt;em&gt;Date&lt;/em&gt; and &lt;em&gt;User&lt;/em&gt;. However, it is also possible to change the grouping options, e.g. group just by &lt;em&gt;User&lt;/em&gt; to get a quick overview of a user’s activity over time.&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Authentication Excel Report" border="0" alt="Authentication Excel Report" src="http://lh6.ggpht.com/-jsyRGQhjYpg/TgSKnb3QphI/AAAAAAAAALw/EGqfZNa1Kuw/Authentication%252520Excel%252520Report%25255B7%25255D.png?imgmax=800" width="695" height="484" /&gt;&lt;/p&gt;  &lt;p&gt;Naturally it is also possible to include all other Audit events in the same report to get a full overview of what the user has been doing exactly between logging in and logging out&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This concludes the high level overview of &lt;em&gt;Authentication Events&lt;/em&gt;. If you have any questions then feel free to &lt;a href="http://www.muhimbi.com/contact.aspx"&gt;contact us&lt;/a&gt;. If you wish to learn more then just &lt;a href="http://www.muhimbi.com/Products/SharePoint-Audit/download.aspx"&gt;download the Trial version&lt;/a&gt; or read the &lt;a href="http://www.muhimbi.com/support/documentation/SharePoint-Audit/Administration-Guide.aspx"&gt;Administration Guide&lt;/a&gt;, you don’t even need to register.&lt;/p&gt;  &lt;p&gt;&lt;font color="#ffffff"&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5787751540548761056-7027624782800581400?l=blog.muhimbi.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.muhimbi.com/feeds/7027624782800581400/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.muhimbi.com/2011/06/reporting-site-collection-level-user.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/7027624782800581400" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/7027624782800581400" /><link rel="alternate" type="text/html" href="http://blog.muhimbi.com/2011/06/reporting-site-collection-level-user.html" title="Reporting log-in and log-off events using the SharePoint Audit Suite" /><author><name>Muhimbi</name><uri>http://www.blogger.com/profile/00157302110307291964</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_bUq2JqpCltk/S40YDzxMdQI/AAAAAAAAAAM/MUnKJrXBLxA/S220/Muhimbi48x48.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-ZXY8nmIm_dM/TgSKl0gmj3I/AAAAAAAAALg/QPIPJqjAG9Y/s72-c/login%25255B5%25255D.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5787751540548761056.post-7940067172916180291</id><published>2011-05-27T13:33:00.001+01:00</published><updated>2011-05-27T13:40:42.760+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="TIFF" /><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="News" /><category scheme="http://www.blogger.com/atom/ns#" term="Products" /><category scheme="http://www.blogger.com/atom/ns#" term="Merging" /><category scheme="http://www.blogger.com/atom/ns#" term="AutoCAD" /><category scheme="http://www.blogger.com/atom/ns#" term="pdf" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter Services" /><title type="text">PDF Converter Services 5.0 - New AutoCAD, TIFF and PDF Merging support</title><content type="html">&lt;style&gt;


&lt;!-- .li_spacing {padding-bottom:3pt}--&gt;&lt;/style&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px 10px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="PDFConverterServicesBox" border="0" alt="PDFConverterServicesBox" align="right" src="http://lh4.ggpht.com/-O4RUlTm7j8o/Td-aEEwsY8I/AAAAAAAAALU/R4EksEX07Y4/PDFConverterServicesBox%25255B4%25255D.jpg?imgmax=800" width="200" height="183" /&gt;Earlier this week we released &lt;a href="http://blog.muhimbi.com/2011/05/pdf-converter-for-sharepoint-5-autocad.html"&gt;version 5.0 of the PDF Converter for SharePoint&lt;/a&gt;, which ships with an improved version of our popular PDF Conversion engine. Today we are releasing an update to the standalone version of the &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-Services/summary.aspx"&gt;&lt;em&gt;Muhimbi PDF Converter Services&lt;/em&gt;&lt;/a&gt; that includes all new functionality such as AutoCAD and TIFF conversions as well as the ability to convert and merge multiple files.&lt;/p&gt;  &lt;p&gt;The main new features are as follows:&lt;/p&gt;  &lt;ul&gt;   &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2011/02/converting-autocad-dxf-dwg-files-using.html"&gt;Converting AutoCAD (DXF, DWG) files to PDF&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2011/03/converting-tiff-files-to-pdf-using.html"&gt;Converting TIFF files to PDF&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2011/05/converting-and-merging-multiple-pdf.html"&gt;Converting and merging multiple files programmatically &lt;/a&gt;. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;   &lt;br /&gt;If you can’t wait to give it a go then proceed straight to the download link at the end of this post. Read on for a full list of all changes and improvements. &lt;/p&gt;  &lt;p&gt;&lt;em style="position: relative; top: -8px"&gt;&lt;font size="1"&gt;&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;em style="position: relative; top: -5px"&gt;&lt;font size="1"&gt;&lt;a href="http://lh3.ggpht.com/-Dy4pMnH1rm8/Td-aEyucfaI/AAAAAAAAALY/ek1lgYrLN9Q/s1600-h/ClassDiagram-Merging%25255B4%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px 10px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="ClassDiagram-Merging" border="0" alt="ClassDiagram-Merging" src="http://lh4.ggpht.com/-C04chelev18/Td-aFdlX7-I/AAAAAAAAALc/u_WY7gCv-mE/ClassDiagram-Merging_thumb%25255B2%25255D.png?imgmax=800" width="670" height="581" /&gt;&lt;/a&gt;         &lt;br /&gt;New PDF Merging related classes of the Web Services Interface.&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;A quick introduction for those not familiar with the product: &lt;em&gt;The Muhimbi PDF Converter Services is an ‘on premises’ server based SDK that allows software developers to convert typical Office files to PDF format using a robust, scalable but friendly Web Services interface from Java and .NET based solutions. It supports a large number of file types including MS-Office and ODF file formats as well as HTML, AutoCAD and Image based files and is used by some of the largest organisations in the world for mission critical document conversions. In addition to converting documents the product ships with a sophisticated watermarking engine, PDF Merging facilities and the ability to secure PDF files. A separate &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint/summary.aspx"&gt;SharePoint specific version&lt;/a&gt; is available as well.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;/em&gt;    &lt;br /&gt;In addition to the changes listed above, some of the main changes in the new version are as follows:&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="700"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1325&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;Fix - Improve watermark random positioning.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;891&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;New - Add support for merging of documents to the Web Services Interface.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1014&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;New - Add support for converting TIFF files to PDF.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1051&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;New - Add support for converting AutoCAD files to PDF.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1230&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;New - AutoCAD Conversion - Add Greyscale and automatic recolouring options.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1262&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;New - AutoCAD Conversion - Add Configurable page margins.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1243&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;New - AutoCAD Conversion - Add support for Converter Specific Settings.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1244&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;New - AutoCAD Conversion - Add support for 3D based CAD drawings.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1212&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;Fix - Occasional RPC_E_SERVERCALL_RETRYLATER when converting InfoPath 2010 form.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1303&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;New - Add support for custom page sizes, margins and page orientation to the HTML converter.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;For more information check out the following resources:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.muhimbi.com/Products/PDF-Converter-Services.aspx"&gt;Product Page&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/Images---Files/PDFConverterServices/PDF-Converter-Services-Brochure.aspx"&gt;Brochure&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/documentation/PDF-Converter-Services/Release-Notes.aspx"&gt;Release Notes&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/documentation/PDF-Converter-Services/Administration-Guide.aspx"&gt;Administration Guide&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/documentation/PDF-Converter-Services/User---Developer-Guide.aspx"&gt;User &amp;amp; Developer Guide&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/faqs.aspx"&gt;FAQ&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/forum.aspx?ForumID=7"&gt;Discussion Forum&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blog.muhimbi.com/search/label/PDF%20Converter%20Services"&gt;All PDF Converter Services related Blog Posts&lt;/a&gt;. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;   &lt;br /&gt;As always, feel free to &lt;a href="http://www.muhimbi.com/contact.aspx"&gt;contact us using Twitter, our Blog, regular email&lt;/a&gt; or &lt;a href="http://eepurl.com/b6A7"&gt;subscribe to our newsletter&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://www.muhimbi.com/Products/PDF-Converter-Services/Free-Trial.aspx"&gt;Download your free trial here&lt;/a&gt; (8MB). &lt;span style="color: #ffffff"&gt;.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ffffff"&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5787751540548761056-7940067172916180291?l=blog.muhimbi.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.muhimbi.com/feeds/7940067172916180291/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.muhimbi.com/2011/05/pdf-converter-services-50-new-auticad.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/7940067172916180291" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/7940067172916180291" /><link rel="alternate" type="text/html" href="http://blog.muhimbi.com/2011/05/pdf-converter-services-50-new-auticad.html" title="PDF Converter Services 5.0 - New AutoCAD, TIFF and PDF Merging support" /><author><name>Muhimbi</name><uri>http://www.blogger.com/profile/00157302110307291964</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_bUq2JqpCltk/S40YDzxMdQI/AAAAAAAAAAM/MUnKJrXBLxA/S220/Muhimbi48x48.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/-O4RUlTm7j8o/Td-aEEwsY8I/AAAAAAAAALU/R4EksEX07Y4/s72-c/PDFConverterServicesBox%25255B4%25255D.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5787751540548761056.post-3547098706997208727</id><published>2011-05-25T12:14:00.001+01:00</published><updated>2011-05-25T12:47:16.260+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Watermarking" /><category scheme="http://www.blogger.com/atom/ns#" term="TIFF" /><category scheme="http://www.blogger.com/atom/ns#" term="News" /><category scheme="http://www.blogger.com/atom/ns#" term="Products" /><category scheme="http://www.blogger.com/atom/ns#" term="Merging" /><category scheme="http://www.blogger.com/atom/ns#" term="AutoCAD" /><category scheme="http://www.blogger.com/atom/ns#" term="pdf" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter" /><title type="text">PDF Converter for SharePoint 5 - AutoCAD, TIFF, Merging, Automatic Watermarking</title><content type="html">&lt;style&gt;


&lt;!-- .li_spacing {padding-bottom:3pt}--&gt;&lt;/style&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px 10px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="PDFBox5" border="0" alt="PDFBox5" align="right" src="http://lh6.ggpht.com/_bUq2JqpCltk/TMGv_rZy4AI/AAAAAAAAADw/kYDQzFupml0/PDFBox5%5B3%5D.jpg?imgmax=800" width="200" height="183" /&gt;   &lt;p&gt;It is that beautiful time of the year again where the sun is shining, the birds are singing and new versions of the popular &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint/Summary.aspx"&gt;Muhimbi PDF Converter for SharePoint&lt;/a&gt; are released left right and center. I say ‘&lt;em&gt;versions&lt;/em&gt;’, but it really is only one version, a major milestone, &lt;strong&gt;version 5.0!&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The list of new features is considerable but the main ones are as follows:&lt;/p&gt;  &lt;ul&gt;   &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2011/02/converting-autocad-dxf-dwg-files-using.html"&gt;Converting AutoCAD (DXF, DWG) files to PDF&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2011/03/converting-tiff-files-to-pdf-using.html"&gt;Converting TIFF files to PDF&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2011/04/applying-user-specific-watermarks-when.html"&gt;Applying user specific watermarks when a PDF document is opened in SharePoint&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2011/05/converting-and-merging-multiple-files.html"&gt;Converting and merging multiple files using the PDF Converter for SharePoint&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2011/05/converting-and-merging-multiple-pdf.html"&gt;Converting and merging multiple files using the PDF Converter and .NET / C#&lt;/a&gt;. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160; &lt;br /&gt;Some of this new functionality can be seen in action &lt;a href="http://blog.muhimbi.com/2011/04/pdf-converter-for-sharepoint-recorded.html"&gt;in a webcast we recorded recently&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;&lt;em&gt;For those not familiar with the product, the PDF Converter for SharePoint is a lightweight solution that allows end-users to convert common document types - including InfoPath, AutoCAD, MS-Office, HTML and images - to PDF format from within SharePoint using a friendly user interface, workflows or a web service call without the need to install any client side software or Adobe Acrobat. It integrates at a deep level with SharePoint and leverages facilities such as the Audit log, localisation, security and tracing. It runs on WSS 3, MOSS as well as SharePoint 2010 and is available in English, German, Dutch, French, Traditional Chinese and Japanese. For detailed information check out the &lt;/em&gt;&lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint.aspx"&gt;&lt;em&gt;product page&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;As they say, &lt;em&gt;a picture is worth a thousand words&lt;/em&gt; so here you go. Links to more detailed information as well as a download of the latest version is available at the end of this post.     &lt;br /&gt;&amp;#160;&lt;/p&gt;  &lt;p align="center"&gt;&amp;#160;&lt;img style="margin: 5px 10px 5px 0px" src="http://lh5.ggpht.com/_bUq2JqpCltk/TahPXAIEtTI/AAAAAAAAAKQ/U-bhwNtrI18/image%5B10%5D.png?imgmax=800" /&gt;&lt;em style="position: relative; top: -8px"&gt;&lt;font size="1"&gt;Result of a user specific watermark when opening documents&amp;#160; &lt;br /&gt;&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px 10px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SP2010-MergeScreen" border="0" alt="SP2010-MergeScreen" src="http://lh6.ggpht.com/_bUq2JqpCltk/Tdzkfb2AYRI/AAAAAAAAALQ/B1yTveBOisA/SP2010-MergeScreen%5B6%5D.png?imgmax=800" width="670" height="578" /&gt;&lt;em style="position: relative; top: -5px"&gt;&lt;font size="1"&gt;Converting and merging multiple files using the SharePoint User Interface&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;In addition to the changes listed above, some of the main changes in the new version are as follows:&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="700"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="31"&gt;&lt;font size="2"&gt;988&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top" width="667"&gt;&lt;font size="2"&gt;New - Add support for user specific watermarks when a file is opened / converted.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1222&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;New - Allow watermarks to be applied when items are created / updated without needing workflows.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1257&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;New - Enhance watermarking merge code / field code syntax.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1325&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;Fix&amp;#160; - Improve watermark random positioning.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;891&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;New - Add support for merging of documents to the Web Service and SharePoint User Interface.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1014&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;New - Add support for converting TIFF files to PDF.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1051&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;New - Add support for converting AutoCAD files to PDF.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1230&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;New - AutoCAD Conversion - Add Greyscale and automatic recolouring options.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1262&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;New - AutoCAD Conversion - Add Configurable page margins.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1243&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;New - AutoCAD Conversion - Add support for Converter Specific Settings.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1244&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;New - AutoCAD Conversion - Add support for 3D based CAD drawings.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1212&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;Fix&amp;#160; - Occasional RPC_E_SERVERCALL_RETRYLATER when converting InfoPath 2010 form.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1231&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;Fix&amp;#160; - Add back Utility.GetSPFolder for use in custom scripts.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1303&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;New - Add support for custom page sizes, margins and page orientation to the HTML converter.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;&lt;font size="2"&gt;1307&lt;/font&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;font size="2"&gt;Fix&amp;#160; - Add support for selecting sub sites to SharePoint 2010 TreePickerDialog.&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;For more information check out the following resources:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint.aspx"&gt;Product Page&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/faqs.aspx"&gt;FAQ&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/documentation/PDF-Converter-for-SharePoint/Release-Notes.aspx"&gt;Release Notes&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/documentation/PDF-Converter-for-SharePoint/Administration-Guide.aspx"&gt;Administration Guide&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/documentation/PDF-Converter-for-SharePoint/User-Guide.aspx"&gt;User Guide&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/documentation/PDF-Converter-for-SharePoint/Screenshots.aspx"&gt;Screenshots&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.muhimbi.com/support/forum.aspx?ForumID=1"&gt;Discussion Forum&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blog.muhimbi.com/search/label/PDF%20Converter"&gt;Related Blog Posts&lt;/a&gt;. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160; &lt;br /&gt;As always, feel free to &lt;a href="http://www.muhimbi.com/contact.aspx"&gt;contact us using Twitter, our Blog, regular email&lt;/a&gt; or &lt;a href="http://eepurl.com/b6A7"&gt;subscribe to our newsletter&lt;/a&gt;.     &lt;br /&gt;&amp;#160;&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint/Free-Trial.aspx"&gt;Download your free trial here&lt;/a&gt; (11MB). &lt;span style="color: #ffffff"&gt;.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ffffff"&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5787751540548761056-3547098706997208727?l=blog.muhimbi.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.muhimbi.com/feeds/3547098706997208727/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.muhimbi.com/2011/05/pdf-converter-for-sharepoint-5-autocad.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/3547098706997208727" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/3547098706997208727" /><link rel="alternate" type="text/html" href="http://blog.muhimbi.com/2011/05/pdf-converter-for-sharepoint-5-autocad.html" title="PDF Converter for SharePoint 5 - AutoCAD, TIFF, Merging, Automatic Watermarking" /><author><name>Muhimbi</name><uri>http://www.blogger.com/profile/00157302110307291964</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_bUq2JqpCltk/S40YDzxMdQI/AAAAAAAAAAM/MUnKJrXBLxA/S220/Muhimbi48x48.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/_bUq2JqpCltk/TMGv_rZy4AI/AAAAAAAAADw/kYDQzFupml0/s72-c/PDFBox5%5B3%5D.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5787751540548761056.post-1133741978449115866</id><published>2011-05-16T17:40:00.001+01:00</published><updated>2011-05-25T12:40:50.892+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="News" /><category scheme="http://www.blogger.com/atom/ns#" term="Products" /><category scheme="http://www.blogger.com/atom/ns#" term="Merging" /><category scheme="http://www.blogger.com/atom/ns#" term="pdf" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter Services" /><category scheme="http://www.blogger.com/atom/ns#" term="Articles" /><title type="text">Converting and merging multiple files using the PDF Converter Services and .NET / C#</title><content type="html">&lt;style&gt;






&lt;!-- .li_spacing {padding-bottom:3pt}--&gt;&lt;/style&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px 10px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="merge" border="0" alt="merge" align="right" src="http://lh4.ggpht.com/_bUq2JqpCltk/TdFTYiIk-VI/AAAAAAAAALE/USg1dQCmHEI/merge%5B4%5D.png?imgmax=800" width="150" height="150" /&gt;&lt;/p&gt;  &lt;p&gt;To facilitate the &lt;a href="http://blog.muhimbi.com/2011/05/converting-and-merging-multiple-files.html"&gt;new PDF Merging facility in our PDF Converter for SharePoint&lt;/a&gt; we have added the ability to &lt;em&gt;convert and merge multiple files&lt;/em&gt; to our core PDF Conversion engine, which our SharePoint product shares with our generic Java / .NET oriented &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-Services/summary.aspx"&gt;PDF Converter Services&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;In this post we’ll describe in detail how to invoke this new merging facility from your own code. This demo use C# and .NET, but the web services based interface is identical when used from Java (&lt;a href="http://blog.muhimbi.com/2010/04/convert-office-files-to-pdf-format-from.html"&gt;See this generic PDF Conversion sample&lt;/a&gt;)     &lt;br /&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This post is part of the following series related to manipulating PDF files using web services.&lt;/p&gt;  &lt;ul&gt;   &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2009/12/converting-office-files-to-pdf-format.html"&gt;Converting Office files to PDF Format using a Web Services based interface (C# / .NET)&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2010/04/convert-office-files-to-pdf-format-from.html"&gt;Converting Office files to PDF Format using a Web Services based interface (Java)&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2011/01/invoking-pdf-converter-web-service-from.html"&gt;Invoking the PDF Converter Web Service from Visual Studio 2005 using VB.net&lt;/a&gt; &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2011/02/using-windows-azure-to-convert.html"&gt;Using Windows Azure to convert documents to PDF format&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2010/06/using-awesome-new-watermarking-features.html"&gt;Using the awesome new watermarking features of the Muhimbi PDF Converter Services (C# / .NET)&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2010/06/using-pdf-watermarking-features-from.html"&gt;Using the PDF Watermarking features from Java based environments&lt;/a&gt;. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;&amp;#160; &lt;br /&gt;Key Features&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The key features of the new merging facilities are as follows:&lt;/p&gt;  &lt;ol&gt;   &lt;li class="li_spacing"&gt;Convert and merge any supported file format (inc. &lt;a href="http://blog.muhimbi.com/2010/08/convert-sharepoint-html-pages-to-pdf.html"&gt;HTML&lt;/a&gt;, &lt;a href="http://blog.muhimbi.com/2011/02/converting-autocad-dxf-dwg-files-using.html"&gt;AutoCAD&lt;/a&gt;, MS-Office, &lt;a href="http://blog.muhimbi.com/2010/08/converting-infopath-forms-including-all.html"&gt;InfoPath&lt;/a&gt;, &lt;a href="http://blog.muhimbi.com/2011/03/converting-tiff-files-to-pdf-using.html"&gt;TIFF&lt;/a&gt;) or merge existing PDF files. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2010/06/using-awesome-new-watermarking-features.html"&gt;Apply different watermarks&lt;/a&gt; on each individual file as well as on the entire merged file (e.g. page numbering). &lt;/li&gt;    &lt;li class="li_spacing"&gt;Apply PDF Security settings and restrictions on the merged file. &lt;/li&gt;    &lt;li class="li_spacing"&gt;Optionally skip (and report) corrupt / unsupported files. &lt;/li&gt;    &lt;li class="li_spacing"&gt;Add PDF Bookmarks for each converted file. &lt;/li&gt;    &lt;li class="li_spacing"&gt;Apply any &lt;em&gt;ConversionSetting&lt;/em&gt; supported by the &lt;a href="http://blog.muhimbi.com/2009/12/converting-office-files-to-pdf-format.html"&gt;regular conversion process&lt;/a&gt;. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Object Model&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The object model is relatively straight forward. The classes related to PDF Merging are displayed below. A number of enumerations are used as well by the various classes, these can be found in our &lt;a href="http://blog.muhimbi.com/2009/12/converting-office-files-to-pdf-format.html"&gt;original post about Converting files using the Web Services interface&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_bUq2JqpCltk/TdFTZD2af6I/AAAAAAAAALI/jgxU2epcbtQ/s1600-h/ClassDiagram-Merging%5B19%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="ClassDiagram-Merging" border="0" alt="ClassDiagram-Merging" src="http://lh4.ggpht.com/_bUq2JqpCltk/TdFTZknItaI/AAAAAAAAALM/h6sBE8tLwEo/ClassDiagram-Merging_thumb%5B13%5D.png?imgmax=800" width="670" height="581" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160; &lt;br /&gt;The Web Service method that controls merging of files is called &lt;em&gt;ProcessBatch&lt;/em&gt; (highlighted in the screenshot above). It accepts a &lt;em&gt;ProcessingOptions&lt;/em&gt; object that holds all information about the source files to convert and the &lt;em&gt;MergeSettings&lt;/em&gt; to apply, which may include security and watermarking related settings. A &lt;em&gt;Results&lt;/em&gt; object is returned that, when it comes to merging of files, always contains a single file that holds the byte array for the merged PDF file.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Simple example code&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The following sample&amp;#160; describes the steps needed to convert all files in a directory, merge the results into a single file and apply page numbering to the merged file using the built in &lt;a href="http://blog.muhimbi.com/2010/06/using-awesome-new-watermarking-features.html"&gt;watermarking engine&lt;/a&gt;. We are using Visual Studio and C#, but any environment that can invoke web services should be able to access this functionality. Note that the WSDL can be found at &lt;em&gt;http://localhost:41734/Muhimbi.DocumentConverter.WebService/?wsdl&lt;/em&gt;. A &lt;a href="http://blog.muhimbi.com/2010/04/convert-office-files-to-pdf-format-from.html"&gt;generic PDF Conversion Java based example&lt;/a&gt; is installed alongside the product and discussed in the &lt;a href="http://www.muhimbi.com/support/documentation/PDF-Converter-Services/User---Developer-Guide.aspx"&gt;User &amp;amp; Developer Guide&lt;/a&gt;.&lt;/p&gt;  &lt;ol&gt;   &lt;li class="li_spacing"&gt;Start a new Visual Studio project and create the project type of your choice. In this example we are using a standard &lt;em&gt;.net 3.0 &lt;/em&gt;project of type &lt;em&gt;Windows Forms Application&lt;/em&gt;. Name it ‘Simple PDF Converter Sample’. &lt;/li&gt;    &lt;li class="li_spacing"&gt;Add a &lt;em&gt;TextBox&lt;/em&gt; and &lt;em&gt;Button&lt;/em&gt; control to the form. Accept the default names of &lt;em&gt;textBox1&lt;/em&gt; and &lt;em&gt;button1&lt;/em&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;In the &lt;em&gt;Solution Explorer&lt;/em&gt; window, right-click &lt;em&gt;References&lt;/em&gt; and select &lt;em&gt;Add Service Reference&lt;/em&gt;. (Do not use web references!) &lt;/li&gt;    &lt;li class="li_spacing"&gt;In the &lt;em&gt;Address&lt;/em&gt; box enter the WSDL address listed in the introduction of this section. If the Conversion Service is located on a different machine then substitute &lt;em&gt;localhost&lt;/em&gt; with the server’s name. &lt;/li&gt;    &lt;li class="li_spacing"&gt;Accept the default Namespace of &lt;em&gt;ServiceReference1&lt;/em&gt; and click the &lt;em&gt;OK&lt;/em&gt; button to generate the proxy classes. &lt;/li&gt;    &lt;li class="li_spacing"&gt;Double click &lt;em&gt;Button1&lt;/em&gt; and replace the content of the entire code file with the following: &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="padding-bottom: 4px; padding-left: 4px; padding-right: 4px; font-family: consolas; background: black; color: white; font-size: 8pt; font-weight: bold; padding-top: 4px"&gt;   &lt;pre style="margin: 0px"&gt;&lt;span style="color: #cc7832"&gt;using&lt;/span&gt; System;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&lt;span style="color: #cc7832"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&lt;span style="color: #cc7832"&gt;using&lt;/span&gt; System.IO;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&lt;span style="color: #cc7832"&gt;using&lt;/span&gt; System.ServiceModel;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&lt;span style="color: #cc7832"&gt;using&lt;/span&gt; System.Windows.Forms;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&lt;span style="color: #cc7832"&gt;using&lt;/span&gt; Simple_PDF_Converter_Sample.ServiceReference1;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&lt;span style="color: #cc7832"&gt;namespace&lt;/span&gt; Simple_PDF_Converter_Sample&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;{&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;public&lt;/span&gt; &lt;span style="color: #cc7832"&gt;partial&lt;/span&gt; &lt;span style="color: #cc7832"&gt;class&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;Form1&lt;/span&gt; : &lt;span style="color: #ffc66d"&gt;Form&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** The URL where the Web Service is located. Amend host name if needed.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;string&lt;/span&gt; SERVICE_URL = &lt;span style="color: #a5c25c"&gt;&amp;quot;http://localhost:41734/Muhimbi.DocumentConverter.WebService/&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;public&lt;/span&gt; Form1()&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; InitializeComponent();&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;private&lt;/span&gt; &lt;span style="color: #cc7832"&gt;void&lt;/span&gt; button1_Click(&lt;span style="color: #cc7832"&gt;object&lt;/span&gt; sender, &lt;span style="color: #ffc66d"&gt;EventArgs&lt;/span&gt; e)&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;DocumentConverterServiceClient&lt;/span&gt; client = &lt;span style="color: #cc7832"&gt;null&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;try&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Options and all settings for batch conversion&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;ProcessingOptions&lt;/span&gt; processingOptions = &lt;span style="color: #cc7832"&gt;new&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;ProcessingOptions&lt;/span&gt;();&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Specify the minimum level of merge settings&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;MergeSettings&lt;/span&gt; mergeSettings = &lt;span style="color: #cc7832"&gt;new&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;MergeSettings&lt;/span&gt;();&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; mergeSettings.BreakOnError = &lt;span style="color: #cc7832"&gt;false&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; mergeSettings.Watermarks = CreateWatermarks();&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; processingOptions.MergeSettings = mergeSettings;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Get all files in the folder&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;string&lt;/span&gt; sourceFolder = textBox1.Text;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;string&lt;/span&gt;[] sourceFileNames = &lt;span style="color: #ffc66d"&gt;Directory&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.GetFiles(sourceFolder);&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Iterate over all files and create a list of SourceFile Objects&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;List&lt;/span&gt;&lt;span style="font-weight: normal"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #ffc66d"&gt;SourceFile&lt;/span&gt;&lt;span style="font-weight: normal"&gt;&amp;gt; sourceFiles = &lt;/span&gt;&lt;span style="color: #cc7832"&gt;new&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;List&lt;/span&gt;&lt;span style="font-weight: normal"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #ffc66d"&gt;SourceFile&lt;/span&gt;&lt;span style="font-weight: normal"&gt;&amp;gt;();&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;foreach&lt;/span&gt; (&lt;span style="color: #cc7832"&gt;string&lt;/span&gt; sourceFileName &lt;span style="color: #cc7832"&gt;in&lt;/span&gt; sourceFileNames)&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Read the contents of the file&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;byte&lt;/span&gt;[] sourceFileContent = &lt;span style="color: #ffc66d"&gt;File&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.ReadAllBytes(sourceFileName);&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Set the absolute minimum open options&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;OpenOptions&lt;/span&gt; openOptions = &lt;span style="color: #cc7832"&gt;new&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;OpenOptions&lt;/span&gt;();&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; openOptions.OriginalFileName = &lt;span style="color: #ffc66d"&gt;Path&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.GetFileName(sourceFileName);&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; openOptions.FileExtension = &lt;span style="color: #ffc66d"&gt;Path&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.GetExtension(sourceFileName);&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Set the absolute minimum conversion settings.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;ConversionSettings&lt;/span&gt; conversionSettings = &lt;span style="color: #cc7832"&gt;new&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;ConversionSettings&lt;/span&gt;();&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; conversionSettings.Fidelity = &lt;span style="color: #6897bb"&gt;ConversionFidelities&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.Full;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; conversionSettings.Quality = &lt;span style="color: #6897bb"&gt;ConversionQuality&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.OptimizeForPrint;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Create merge settings for each file and set the name for the PDF bookmark&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;FileMergeSettings&lt;/span&gt; fileMergeSettings = &lt;span style="color: #cc7832"&gt;new&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;FileMergeSettings&lt;/span&gt;();&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; fileMergeSettings.TopLevelBookmark = openOptions.OriginalFileName;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Create a source file object and add it to the list&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;SourceFile&lt;/span&gt; sourceFile = &lt;span style="color: #cc7832"&gt;new&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;SourceFile&lt;/span&gt;();&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; sourceFile.OpenOptions = openOptions;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; sourceFile.ConversionSettings = conversionSettings;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; sourceFile.MergeSettings = fileMergeSettings;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; sourceFile.File = sourceFileContent;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; sourceFiles.Add(sourceFile);&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Assign source files&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; processingOptions.SourceFiles = sourceFiles.ToArray();&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Open the service and configure the bindings&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; client = OpenService(SERVICE_URL);&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Carry out the merge process&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;BatchResults&lt;/span&gt; results = client.ProcessBatch(processingOptions);&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Read the results of the merged file.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;byte&lt;/span&gt;[] mergedFile = results.Results[&lt;span style="color: #6897bb"&gt;0&lt;/span&gt;].File;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Write the converted file back using the name of the folder&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;string&lt;/span&gt; folderName = &lt;span style="color: #cc7832"&gt;new&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;DirectoryInfo&lt;/span&gt;(sourceFolder).Name;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;DirectoryInfo&lt;/span&gt; parentFolder = &lt;span style="color: #ffc66d"&gt;Directory&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.GetParent(sourceFolder);&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;string&lt;/span&gt; destinationFileName = &lt;span style="color: #ffc66d"&gt;Path&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.Combine(parentFolder.FullName, folderName + &lt;/span&gt;&lt;span style="color: #a5c25c"&gt;&amp;quot;.pdf&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;using&lt;/span&gt; (&lt;span style="color: #ffc66d"&gt;FileStream&lt;/span&gt; fs = &lt;span style="color: #ffc66d"&gt;File&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.Create(destinationFileName))&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; fs.Write(mergedFile, &lt;span style="color: #6897bb"&gt;0&lt;/span&gt;, mergedFile.Length);&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; fs.Close();&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;MessageBox&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.Show(&lt;/span&gt;&lt;span style="color: #a5c25c"&gt;&amp;quot;Contents of directory merged to &amp;quot;&lt;/span&gt; + destinationFileName);&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;catch&lt;/span&gt; (&lt;span style="color: #ffc66d"&gt;FaultException&lt;/span&gt;&lt;span style="font-weight: normal"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #ffc66d"&gt;WebServiceFaultException&lt;/span&gt;&lt;span style="font-weight: normal"&gt;&amp;gt; ex)&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;MessageBox&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.Show(&lt;/span&gt;&lt;span style="color: #a5c25c"&gt;&amp;quot;FaultException occurred: ExceptionType: &amp;quot;&lt;/span&gt; +&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ex.Detail.ExceptionType.ToString());&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;catch&lt;/span&gt; (&lt;span style="color: #ffc66d"&gt;Exception&lt;/span&gt; ex)&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;MessageBox&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.Show(ex.ToString());&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;finally&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; CloseService(client);&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; Configure the Bindings, endpoints and open the service using the specified address.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style="color: green"&gt;An instance of the Web Service.&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;public&lt;/span&gt; &lt;span style="color: #cc7832"&gt;static&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;DocumentConverterServiceClient&lt;/span&gt; OpenService(&lt;span style="color: #cc7832"&gt;string&lt;/span&gt; address)&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;DocumentConverterServiceClient&lt;/span&gt; client = &lt;span style="color: #cc7832"&gt;null&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;try&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;BasicHttpBinding&lt;/span&gt; binding = &lt;span style="color: #cc7832"&gt;new&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;BasicHttpBinding&lt;/span&gt;();&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Use standard Windows Security.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; binding.Security.Mode = &lt;span style="color: #6897bb"&gt;BasicHttpSecurityMode&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.TransportCredentialOnly;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; binding.Security.Transport.ClientCredentialType =&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #6897bb"&gt;HttpClientCredentialType&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.Windows;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Increase the Timeout to deal with (very) long running requests.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; binding.SendTimeout = &lt;span style="color: #6897bb"&gt;TimeSpan&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.FromMinutes(&lt;/span&gt;&lt;span style="color: #6897bb"&gt;30&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; binding.ReceiveTimeout = &lt;span style="color: #6897bb"&gt;TimeSpan&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.FromMinutes(&lt;/span&gt;&lt;span style="color: #6897bb"&gt;30&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Set the maximum document size to 40MB&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; binding.MaxReceivedMessageSize = &lt;span style="color: #6897bb"&gt;50&lt;/span&gt; * &lt;span style="color: #6897bb"&gt;1024&lt;/span&gt; * &lt;span style="color: #6897bb"&gt;1024&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; binding.ReaderQuotas.MaxArrayLength = &lt;span style="color: #6897bb"&gt;50&lt;/span&gt; * &lt;span style="color: #6897bb"&gt;1024&lt;/span&gt; * &lt;span style="color: #6897bb"&gt;1024&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; binding.ReaderQuotas.MaxStringContentLength = &lt;span style="color: #6897bb"&gt;50&lt;/span&gt; * &lt;span style="color: #6897bb"&gt;1024&lt;/span&gt; * &lt;span style="color: #6897bb"&gt;1024&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Specify an identity (any identity) in order to get it past .net3.5 sp1&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;EndpointIdentity&lt;/span&gt; epi = &lt;span style="color: #ffc66d"&gt;EndpointIdentity&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.CreateUpnIdentity(&lt;/span&gt;&lt;span style="color: #a5c25c"&gt;&amp;quot;unknown&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;EndpointAddress&lt;/span&gt; epa = &lt;span style="color: #cc7832"&gt;new&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;EndpointAddress&lt;/span&gt;(&lt;span style="color: #cc7832"&gt;new&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;Uri&lt;/span&gt;(address), epi);&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; client = &lt;span style="color: #cc7832"&gt;new&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;DocumentConverterServiceClient&lt;/span&gt;(binding, epa);&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; client.Open();&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;return&lt;/span&gt; client;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;catch&lt;/span&gt; (&lt;span style="color: #ffc66d"&gt;Exception&lt;/span&gt;)&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; CloseService(client);&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;throw&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; Check if the client is open and then close it.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;param name=&amp;quot;client&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color: green"&gt;The client to close&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;public&lt;/span&gt; &lt;span style="color: #cc7832"&gt;static&lt;/span&gt; &lt;span style="color: #cc7832"&gt;void&lt;/span&gt; CloseService(&lt;span style="color: #ffc66d"&gt;DocumentConverterServiceClient&lt;/span&gt; client)&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;if&lt;/span&gt; (client != &lt;span style="color: #cc7832"&gt;null&lt;/span&gt; &amp;amp;&amp;amp; client.State == &lt;span style="color: #6897bb"&gt;CommunicationState&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.Opened)&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; client.Close();&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; This method creates watermarks for applying page numbers&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style="color: green"&gt;Array of watermarks&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;private&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;Watermark&lt;/span&gt;[] CreateWatermarks()&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Create watermark container&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;Watermark&lt;/span&gt; pageWatermark = &lt;span style="color: #cc7832"&gt;new&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;Watermark&lt;/span&gt;();&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Set positioning to the lower right of the page&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; pageWatermark.HPosition = &lt;span style="color: #6897bb"&gt;HPosition&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.Right;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; pageWatermark.VPosition = &lt;span style="color: #6897bb"&gt;VPosition&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.Bottom;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Set size&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; pageWatermark.Width = &lt;span style="color: #a5c25c"&gt;&amp;quot;200&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; pageWatermark.Height = &lt;span style="color: #a5c25c"&gt;&amp;quot;20&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** Create text object for the page numbering &lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;Text&lt;/span&gt; oddPageText = &lt;span style="color: #cc7832"&gt;new&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;Text&lt;/span&gt;();&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** No need to position the element in the watermark container&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; oddPageText.Width = &lt;span style="color: #a5c25c"&gt;&amp;quot;200&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; oddPageText.Height = &lt;span style="color: #a5c25c"&gt;&amp;quot;20&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** set content including field codes&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; oddPageText.Content = &lt;span style="color: #a5c25c"&gt;&amp;quot;Page {PAGE} of {NUMPAGES}&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;// ** set font properties&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; oddPageText.FillColor = &lt;span style="color: #a5c25c"&gt;&amp;quot;#ffff0000&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; oddPageText.FontFamilyName = &lt;span style="color: #a5c25c"&gt;&amp;quot;Verdana&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; oddPageText.FontSize = &lt;span style="color: #a5c25c"&gt;&amp;quot;10&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; oddPageText.FontStyle = &lt;span style="color: #6897bb"&gt;FontStyle&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.Regular;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;//* set text alignment&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; oddPageText.HAlign = &lt;span style="color: #6897bb"&gt;HAlign&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.Right;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; oddPageText.VAlign = &lt;span style="color: #6897bb"&gt;VAlign&lt;/span&gt;&lt;span style="font-weight: normal"&gt;.Top;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;//** create array of watermark elements&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ffc66d"&gt;Element&lt;/span&gt;[] pageWatermarkElements = &lt;span style="color: #cc7832"&gt;new&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;Element&lt;/span&gt;[] { oddPageText };&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;//** set elements of watermark&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; pageWatermark.Elements = pageWatermarkElements;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: gray"&gt;//* return array of watermarks&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #cc7832"&gt;return&lt;/span&gt; &lt;span style="color: #cc7832"&gt;new&lt;/span&gt; &lt;span style="color: #ffc66d"&gt;Watermark&lt;/span&gt;[] { pageWatermark };&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;}&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Providing the project and all controls are named as per the steps above, it should compile without errors. Run it, enter the full path to a folder that holds a couple of text files (PDF, Word, Excel, etc) and click the button to start the convert and merge process. The operation may take a while depending on the number and complexity of files in the folder.&lt;/p&gt;

&lt;p&gt;Note that In this example we are programmatically configuring the WCF Bindings and End Points. If you wish you can use a declarative approach using the config file.&lt;/p&gt;

&lt;p&gt;A more complex and full featured sample application is installed, with full source code, alongside the Conversion Service.&lt;/p&gt;

&lt;p&gt;This new functionality is available as of version 5.0 of our software.&lt;/p&gt;

&lt;p&gt;&lt;font color="#ffffff"&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5787751540548761056-1133741978449115866?l=blog.muhimbi.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.muhimbi.com/feeds/1133741978449115866/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.muhimbi.com/2011/05/converting-and-merging-multiple-pdf.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/1133741978449115866" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/1133741978449115866" /><link rel="alternate" type="text/html" href="http://blog.muhimbi.com/2011/05/converting-and-merging-multiple-pdf.html" title="Converting and merging multiple files using the PDF Converter Services and .NET / C#" /><author><name>Muhimbi</name><uri>http://www.blogger.com/profile/00157302110307291964</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_bUq2JqpCltk/S40YDzxMdQI/AAAAAAAAAAM/MUnKJrXBLxA/S220/Muhimbi48x48.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_bUq2JqpCltk/TdFTYiIk-VI/AAAAAAAAALE/USg1dQCmHEI/s72-c/merge%5B4%5D.png?imgmax=800" height="72" width="72" /><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5787751540548761056.post-2701989447082647543</id><published>2011-05-16T12:22:00.001+01:00</published><updated>2011-05-25T12:38:56.094+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="News" /><category scheme="http://www.blogger.com/atom/ns#" term="Products" /><category scheme="http://www.blogger.com/atom/ns#" term="Merging" /><category scheme="http://www.blogger.com/atom/ns#" term="pdf" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter" /><category scheme="http://www.blogger.com/atom/ns#" term="Articles" /><title type="text">Converting and merging multiple files using the PDF Converter for SharePoint</title><content type="html">&lt;style&gt;




&lt;!-- .li_spacing {padding-bottom:3pt}--&gt;&lt;/style&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px 10px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="merge" border="0" alt="merge" align="right" src="http://lh3.ggpht.com/_bUq2JqpCltk/TdEI2u8bzhI/AAAAAAAAAKw/lK3S6AVfkOQ/merge%5B4%5D.png?imgmax=800" width="150" height="150" /&gt;The &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint/summary.aspx"&gt;Muhimbi PDF Converter for SharePoint&lt;/a&gt; has had the ability to convert multiple files starting with the very first version we released a number of years ago. However, each of these files are converted individually, which is great, but sometimes you want to carry out an extra operation such as merging those files into a single PDF file.&lt;/p&gt;  &lt;p&gt;This functionality has been on our roadmap for a while, but we wanted to do it properly, so we have consulted a cross section of our customers to get a feel for how to implement merging in the best possible way. I think we have come up with a great solution that is easy to use while still providing plenty of options for power users. &lt;/p&gt;  &lt;p&gt;For real power users and developers, merging can also be carried out &lt;a href="http://blog.muhimbi.com/2011/05/converting-and-merging-multiple-pdf.html"&gt;via a web service call&lt;/a&gt;. A future version of the product will also come with native workflow activities to merge files. Until then you can merge PDF files from a workflow &lt;a href="http://blog.muhimbi.com/2010/05/combining-multiple-pdf-files-using.html"&gt;as described here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;OK, so let’s have a look at how PDF Merging works using the SharePoint user interface. Please note that the screenshots in this article have been made using SharePoint 2010, but it works equally well in SharePoint 2007.&lt;/p&gt;  &lt;p&gt;The first step is to select which files to convert and merge. You can select individual files or an entire folder including sub folders. Don’t worry if you are not interested in merging all files, you can fine tune your selection during the merging process.    &lt;br /&gt;&amp;#160; &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_bUq2JqpCltk/TdEI22-ueGI/AAAAAAAAAK0/u4Tgdf6yaL0/s1600-h/SP2010-MergeLib%5B5%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SP2010-MergeLib" border="0" alt="SP2010-MergeLib" src="http://lh6.ggpht.com/_bUq2JqpCltk/TdEI3bkzJuI/AAAAAAAAAK4/4ron4V1STTE/SP2010-MergeLib_thumb%5B3%5D.png?imgmax=800" width="690" height="224" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160; &lt;br /&gt;Once selected click the ‘Convert to PDF’ button to open our standard PDF Conversion screen. The default option is to convert all files individually, but clicking the ‘&lt;em&gt;Merge Files&lt;/em&gt;’ option enables all merging related functionality as per the screenshot below. &lt;/p&gt;  &lt;p&gt;You can specify the following options:&lt;/p&gt;  &lt;ul&gt;   &lt;li class="li_spacing"&gt;&lt;strong&gt;Select the field to use for bookmarks:&lt;/strong&gt; If you wish you can automatically generate a PDF bookmark for each file that is merged. This makes navigating through the PDF file a lot easier. You can select any field defined on the document library or ‘&lt;em&gt;– Empty –&lt;/em&gt; ‘ to skip the bookmarking process. The default field is ‘&lt;em&gt;Title&lt;/em&gt;’, which usually contains the most descriptive data. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Enabled / disable documents:&lt;/strong&gt; For each file you can specify if they should be included in the merged document or not. This can be very useful when selecting an entire folder to convert and merge. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Manually change bookmark text:&lt;/strong&gt; Selecting a field to populate the bookmarks with will automatically generate the text for each file’s bookmark. However, if you wish you can manually change this value to anything you like. Please take into account that any manually entered values will be overwritten if you select a different bookmark field name. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Change sequence of documents:&lt;/strong&gt; By default all documents are ordered by modification date, with the oldest one on top. You can change the sequence using the &lt;em&gt;up&lt;/em&gt; and &lt;em&gt;down&lt;/em&gt; arrows. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Include document bookmarks:&lt;/strong&gt; Each source document may already have its own bookmarks, e.g. existing PDF Files or MS-Word headings. By default these are all stripped out, but if you wish you can select to merge the bookmarks as well. For each document they will automatically be moved to sit underneath any custom bookmark name specified for the file. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Change file name:&lt;/strong&gt; As we are dealing with multiple files we cannot use the name of the source file to generate the destination file name. For the merged file we default the file name to the name of the folder the files are located in. If the files are in the root folder then we use the name of the &lt;em&gt;Document Library&lt;/em&gt;. You can override the default generated name and select a different folder if needed as well.       &lt;br /&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_bUq2JqpCltk/TdEI3g94C3I/AAAAAAAAAK8/owIDjI3kfrQ/s1600-h/SP2010-MergeScreen%5B5%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SP2010-MergeScreen" border="0" alt="SP2010-MergeScreen" src="http://lh5.ggpht.com/_bUq2JqpCltk/TdEI3x3YLrI/AAAAAAAAALA/qt3xilz3tLU/SP2010-MergeScreen_thumb%5B3%5D.png?imgmax=800" width="690" height="595" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160; &lt;br /&gt;Further operations such as applying &lt;a href="http://blog.muhimbi.com/2010/10/watermarking-features-of-muhimbi-pdf.html"&gt;watermarks&lt;/a&gt; and &lt;a href="http://blog.muhimbi.com/2010/12/securing-pdf-files-using-sharepoint.html"&gt;PDF security&lt;/a&gt; can be carried out as a post processing step using simple workflows.&lt;/p&gt;  &lt;p&gt;This new functionality is included in the &lt;a href="http://blog.muhimbi.com/2011/05/pdf-converter-for-sharepoint-5-autocad.html"&gt;5.0 release&lt;/a&gt; of our software.&lt;/p&gt;  &lt;p&gt;&lt;font color="#ffffff"&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5787751540548761056-2701989447082647543?l=blog.muhimbi.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.muhimbi.com/feeds/2701989447082647543/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.muhimbi.com/2011/05/converting-and-merging-multiple-files.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/2701989447082647543" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/2701989447082647543" /><link rel="alternate" type="text/html" href="http://blog.muhimbi.com/2011/05/converting-and-merging-multiple-files.html" title="Converting and merging multiple files using the PDF Converter for SharePoint" /><author><name>Muhimbi</name><uri>http://www.blogger.com/profile/00157302110307291964</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_bUq2JqpCltk/S40YDzxMdQI/AAAAAAAAAAM/MUnKJrXBLxA/S220/Muhimbi48x48.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_bUq2JqpCltk/TdEI2u8bzhI/AAAAAAAAAKw/lK3S6AVfkOQ/s72-c/merge%5B4%5D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5787751540548761056.post-8331016767540211842</id><published>2011-04-22T10:42:00.001+01:00</published><updated>2011-09-05T17:41:54.222+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Watermarking" /><category scheme="http://www.blogger.com/atom/ns#" term="News" /><category scheme="http://www.blogger.com/atom/ns#" term="Products" /><category scheme="http://www.blogger.com/atom/ns#" term="pdf" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Converter" /><title type="text">Specifying filtering criteria when automatically applying watermarks in SharePoint</title><content type="html">&lt;style&gt;




&lt;!-- .li_spacing {padding-bottom:3pt}--&gt;&lt;/style&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px 0px 5px 10px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Filter" border="0" alt="Filter" align="right" src="http://lh4.ggpht.com/_bUq2JqpCltk/TbFNntXAK_I/AAAAAAAAAKk/-RFF110Yyvo/Filter%5B5%5D.jpg?imgmax=800" width="150" height="133" /&gt;In our &lt;a href="http://blog.muhimbi.com/2011/04/applying-user-specific-watermarks-when.html"&gt;previous posts&lt;/a&gt; we established that the new ‘&lt;em&gt;Automatic application of watermarks when a document is opened&lt;/em&gt;’ functionality of the &lt;a href="http://www.muhimbi.com/Products/PDF-Converter-for-SharePoint/summary.aspx"&gt;Muhimbi PDF Converter for SharePoint&lt;/a&gt; is the coolest things since…well…&lt;a href="http://images.google.com/images?hl=en&amp;amp;source=hp&amp;amp;biw=1179&amp;amp;bih=921&amp;amp;q=sliced+bread&amp;amp;gbv=2&amp;amp;aq=f&amp;amp;aqi=g10&amp;amp;oq=&amp;amp;uss=1"&gt;this stuff&lt;/a&gt;. Today’s post goes into more detail and shows how automatic watermarking can be taken to the next level by specifying &lt;em&gt;search filters&lt;/em&gt;.     &lt;br /&gt;&amp;#160; &lt;br /&gt;This is the final post in a three part series:&lt;/p&gt;  &lt;ol&gt;   &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2011/04/applying-user-specific-watermarks-when.html"&gt;Applying user specific watermarks when a PDF document is opened in SharePoint&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;a href="http://blog.muhimbi.com/2011/04/merging-dynamic-data-into-watermarks.html"&gt;Merging dynamic data into watermarks using the PDF Converter for SharePoint&lt;/a&gt;. &lt;/li&gt;    &lt;li class="li_spacing"&gt;Specifying filtering criteria when automatically applying watermarks. (&lt;em&gt;This Post&lt;/em&gt;) &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160; &lt;br /&gt;&amp;#160; &lt;br /&gt;Similar to the way SharePoint views can be filtered to only display certain list items, Muhimbi’s automatic watermarking facility allows filters to be created that determine which documents should be watermarked automatically, and which shouldn’t. The possibilities are endless, but some obvious examples are listed below to whet your appetite:&lt;/p&gt;  &lt;ul&gt;   &lt;li class="li_spacing"&gt;Apply watermarks to draft documents, but not to approved documents. &lt;/li&gt;    &lt;li class="li_spacing"&gt;Always apply watermarks to a document created by a user from a particular domain or authentication provider (e.g. FBA) &lt;/li&gt;    &lt;li class="li_spacing"&gt;Watermark a document, based on the current date, for embargoed documents. &lt;/li&gt;    &lt;li class="li_spacing"&gt;Enable watermarks on all documents with ‘Confidential’ in the Title. &lt;/li&gt;    &lt;li class="li_spacing"&gt;Apply watermarks to &lt;em&gt;minor versions (&lt;/em&gt;e.g. 1.3&lt;em&gt;)&lt;/em&gt; of a document, but not to &lt;em&gt;major versions&lt;/em&gt; (e.g 2.0). &lt;/li&gt;    &lt;li class="li_spacing"&gt;Only apply watermarks to certain content types. &lt;/li&gt; &lt;/ul&gt;  &lt;p align="center"&gt;&amp;#160; &lt;br /&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_bUq2JqpCltk/TbFNoLeNoyI/AAAAAAAAAKo/heViZvlOTCw/image%5B11%5D.png?imgmax=800" width="635" height="181" /&gt;&lt;/p&gt;  &lt;p align="left"&gt;   &lt;br /&gt;Fortunately this powerful new functionality is very easy to use as you can see in the screenshot above. Each watermarking section comes with a separate Filter that contains the following fields:&lt;/p&gt;  &lt;ul&gt;   &lt;li class="li_spacing"&gt;&lt;strong&gt;Apply Filter:&lt;/strong&gt; A simple check box that allows filtering to be enabled or disabled. When disabled, watermarks are automatically added to all documents. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Field List:&lt;/strong&gt; A list of fields that can be used to apply filters on, e.g. &lt;em&gt;Title, Author, Content Type&lt;/em&gt;, etc.. This is a ‘sanitised' list similar to the one displayed in SharePoint’s own View filter. Non sensible ‘for internal use only’ fields are automatically stripped out. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Comparison Type:&lt;/strong&gt; Specify the kind of comparison to use, e.g. ‘&lt;em&gt;is equal to’, ‘is greater than’, ‘contains’, ‘begins with’ &lt;/em&gt;etc. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Comparison Value:&lt;/strong&gt; The value(s) to compare the selected field with. Full details are provided below. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160; &lt;br /&gt;It is in the &lt;em&gt;Comparison Value&lt;/em&gt; field where things become interesting as all comparisons take the underlying type of the column into account. All common data types are supported, specifically:&lt;/p&gt;  &lt;ul&gt;   &lt;li class="li_spacing"&gt;&lt;strong&gt;Boolean:&lt;/strong&gt; Accepts the following for True: &lt;em&gt;True, Yes, -1, 1 &lt;/em&gt;and &lt;em&gt;False, No, 0&lt;/em&gt; as False. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Currency:&lt;/strong&gt; Allows currency comparisons. Please use numbers only, do not specify the currency symbol. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;DateTime:&lt;/strong&gt; Allows date and time fields to be compared. As of version 5.1 you can enter [Today] (including the square brackets) to compare a date field to the current date, e.g. to apply watermarks to documents modified today. Similarly [Now] can be used to compare a field with the current date and time. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Lookup:&lt;/strong&gt; Compare lookup fields, including lookups that may contain multiple values. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;User: &lt;/strong&gt;Compares fields that contain a reference to a user account, e.g. the &lt;em&gt;Modified By&lt;/em&gt; field. Filters of this type expect a value recognised by the underlying Authentication Provider. This will usually be in the ‘&lt;em&gt;domain\user_name&lt;/em&gt;’ format, but could also be ‘&lt;em&gt;fbaprovidername:username&lt;/em&gt;’.       &lt;br /&gt;As of version 5.1 it is possible to enter [me] (including the square brackets) to evaluate the field against the current user. This allows, for example, watermarks to be added to all documents not created by the current user. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Single and Multiple choice fields:&lt;/strong&gt; Allows single and multiple values to be matched, particularly useful with the ‘contains’ comparison type. Examples and details are provided below. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Numerical fields:&lt;/strong&gt; Carries out numerical comparisons. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;URL:&lt;/strong&gt; Can compare fields of type URL. &lt;/li&gt;    &lt;li class="li_spacing"&gt;&lt;strong&gt;Text:&lt;/strong&gt; Any text field or custom field type that uses a text based representation. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160; &lt;br /&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_bUq2JqpCltk/TbFNocFRyJI/AAAAAAAAAKs/03hEJkI9vW8/image%5B17%5D.png?imgmax=800" width="635" height="181" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160; &lt;br /&gt;Some additional notes of interest:&lt;/p&gt;  &lt;ul&gt;   &lt;li class="li_spacing"&gt;All comparisons are case insensitive. &lt;/li&gt;    &lt;li class="li_spacing"&gt;The filter for the ‘Version’ field accepts the ‘[&lt;em&gt;MajorVersion]&lt;/em&gt;’ and ‘[&lt;em&gt;MinorVersion]&lt;/em&gt;’ values to distinguish between a major (1.0, 2.0) and minor (1.1, 1.2, 2.2) versions. &lt;/li&gt;    &lt;li class="li_spacing"&gt;When filtering multiple choice / multi select fields you can specify multiple values. For example:      &lt;ul&gt;       &lt;li class="li_spacing"&gt;&amp;quot;Brett;Ben&amp;quot; Contains &amp;quot;Ben&amp;quot; = True &lt;/li&gt;        &lt;li class="li_spacing"&gt;&amp;quot;Brett;Jeroen;Ben&amp;quot; Contains “Brett;Ben” = True &lt;/li&gt;        &lt;li class="li_spacing"&gt;&amp;quot;Brett;Jeroen&amp;quot; Contains “Brett;Ben” = False &lt;/li&gt;        &lt;li class="li_spacing"&gt;“Brett;Jeroen” is equal to “Jeroen;Brett” = True (The sequence in which values are specified do not matter) &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li class="li_spacing"&gt;If a field is deleted from a list after it has been specified in a filter then the filter will always equate to &lt;em&gt;false&lt;/em&gt; resulting in the watermark not being applied. &lt;/li&gt;    &lt;li class="li_spacing"&gt;It is not possible to specify a Filter for Insert events on a Document Library as the fields do not contain any values at this time. This is not a problem for inserting documents attached to a list. &lt;/li&gt;    &lt;li class="li_spacing"&gt;When comparing fields that contain both Date and Time elements (e.g. the Modified Date) against such values as [Today] then please take into account that the value represented by [Today] does not include a time element. Therefore ‘Created Date = [Today]’ will never evaluate to true unless it is midnight. Instead use ‘Created Date &amp;gt;= [Today]’. For Date fields that don’t include the Time element, e.g. a birthday, this will not be a problem. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;This concludes our series about automatic watermarking. If you have any questions or comments then feel free to leave a comment below or &lt;a href="http://www.muhimbi.com/contact.aspx"&gt;contact us&lt;/a&gt; directly.&lt;/p&gt;  &lt;p&gt;&lt;font color="#ffffff"&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5787751540548761056-8331016767540211842?l=blog.muhimbi.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.muhimbi.com/feeds/8331016767540211842/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.muhimbi.com/2011/04/specifying-filtering-criteria-when.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/8331016767540211842" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5787751540548761056/posts/default/8331016767540211842" /><link rel="alternate" type="text/html" href="http://blog.muhimbi.com/2011/04/specifying-filtering-criteria-when.html" title="Specifying filtering criteria when automatically applying watermarks in SharePoint" /><author><name>Muhimbi</name><uri>http://www.blogger.com/profile/00157302110307291964</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_bUq2JqpCltk/S40YDzxMdQI/AAAAAAAAAAM/MUnKJrXBLxA/S220/Muhimbi48x48.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_bUq2JqpCltk/TbFNntXAK_I/AAAAAAAAAKk/-RFF110Yyvo/s72-c/Filter%5B5%5D.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total></entry></feed>

