Convert InfoPath Form to PDF in SharePoint

Join our exclusive webinar about transitioning from InfoPath on June 5 at 3:00 PM CEST — Learn More and Register.

In this guide you’ll learn how to convert InfoPath Forms to PDFs in SharePoint using Muhimbi PDF Converter. You can convert specific views in InfoPath to PDF. Most of the features available are for 'real' InfoPath forms that are stored in a Forms or Document library. This guide can be used in SharePoint Online or On-premises deployments.

What's includes in this article:

  • Converting InfoPath documents to PDF Using MS SharePoint Designer
  • Converting InfoPath Forms based List Items to PDF
  • Converting InfoPath forms to PDF using MS SharePoint Forms Services

Selecting InfoPath Views to Export to PDF

Muhimbi PDF Converter allows you to select specific views to export. It is a very useful feature as quite often different views are used for exporting a form to PDF. Sometimes using the Print View is good enough, but other times you need to export a different view or multiple views to PDF format. There are even occasions where different views are exported depending on the state of the data entered in the form.

In this scenario we have an Employee Review form with the following three views:

  1. Employee Data Entry (default view): This is a view used for populating the data in the MS SharePoint List using the InfoPath client or Forms Services. This is the default view.

  2. Employee Data Entry (print view): : A special view that is optimized for printing to a network laser printer. This is specified as the print view.

  3. _MuhimbiView (PDF Export view): A separate view that is used to export the InfoPath form to PDF format as it contains some information that should only show up in exported PDF files. If there is a view that you want to convert to PDF, then you can achieve this by starting the name of the view “_MuhimbiView”, as per screenshot below. The Muhimbi PDF Converter will automatically detect all views that start with this name, export them and merge them together into a single PDF file.

Note: You can hide these views from the end user by marking them as such in the properties of the view.

pdf export view

This is a handy feature of Muhimbi PDF Converter if you know beforehand that you will always be exporting the same view(s) to PDF format.

Determine at Runtime InfoPath Views to Export

There are times when you need to export different views depending on the state of the data. To achieve this, you can do the following steps:

Let us design an Employee Expense Claim form, where we need a PDF to be generated once the employee creates the expense claim. A second PDF needs to be generated once the manager approves the claim.

In this scenario, our Expense Claim form consists of the following Views:

  1. Expense Claim (default): Used by the employee to report expenses.

  2. Expense Claim (approve claim): Used by the manager to add comments and additional information for approval.

  3. Expense Claim (PDF Export report):The view that is used to export the form to PDF format before the manager has reviewed the form.

  4. Expense Claim (PDF Export approve):The view that is used to export the form to PDF format after the manager has reviewed the form.

pdf export approve

We can implement this by adding a (hidden) text box named “_MuhimbiViews” (case sensitive and using the default ‘my’ namespace) to any of the views and populating it with the name of one or more comma-separated view names. The Muhimbi PDF Converter will automatically pick up these names and export them to PDF format. If multiple views are specified, then they are automatically concatenated together.

In addition to adding the “_MuhimbiViews” text field to the form, all the developer of the form needs to do is add a little bit of logic to the Submit event to specify in the “_MuhimbiViews” field which specific view name(s) to export.

View Prioritization Rules

To determine which view or views to export, Muhimbi PDF Converter uses the following prioritization rules:

  • When using the web services interface, any ConversionViews specified in the ConverterSpecificSettings property will be converted. If this property is not set, then the following rules will be used to determine which views to convert to PDF.
  1. If a field named “_MuhimbiViews” is found anywhere in the InfoPath form, then the field’s content is used to determine which views to export.

  2. If the previous field does not exist, is empty, or the specified view name does not exist, then the converter looks at all view names that start with “_MuhimbiView”.

  3. If none of the previous options apply, then the view marked as the Default View is exported.

  • Regardless of how a view or views are selected for export, if the selected view has a Print View specified, then that view is given priority.
  • Be aware when using Muhimbi’s View selection features in combination with InfoPath's 'Print multiple views' facility, as the latter is always given priority when converting to PDF.
  • When the final PDF file is assembled, then all selected views are included first, followed by any converted attachments.

Converting InfoPath documents to PDF Using MS SharePoint Designer

One of the more popular features of the Muhimbi PDF Converter for SharePoint is the ability to control which view or views to convert to PDF. It is even possible to specify which views to convert depending on the form’s current status.

The views to convert can be specified during design time, or at run time using a little bit of custom code or InfoPath rules. You can also control which views to convert using MS SharePoint Designer workflow. The example provided below uses MS SharePoint Designer workflow. But this works equally well in the Nintex workflow as well.

Creating the InfoPath Form

  1. Navigate to the MS SharePoint List where you want to design the Infopath form.

  2. Go to Site Settings → Form Options and click Customize the current form using Microsoft Infopath and click OK button.

    customize current form

  3. InfoPath Designer for the list opens

  4. Create a Text box and name it '_MuhimbiViews'.

    create text box

  5. On Page Design tab select New View.

  6. Name the new view ‘PDFView’.

  7. Change the Title at the top to 'PDF View'.

  8. Select the fields you like to see in this view and design the Form View accordingly.

  9. Click FilePublish.

Initial Test

To test that all steps have been carried out correctly and that the PDF Converter is working as expected carry out the following steps:

  1. Open the new Form Library in SharePoint and fill out a new form. Don’t enter any data, just save it.

  2. Convert the file that was just generated from the context menu. When the PDF is opened you'll see Edit Item View, which is the default view.

  3. Fill out another form, but this time enter PDFView. Save it under a new name.

  4. Convert the file we just generated from the context menu. When the PDF is opened you'll see PDF View.

Creating the Workflow

  1. From the Library ribbon in MS SharePoint select Workflow Settings → Create a workflow in SharePoint Designer.

  2. Name the workflow whatever you like.

In this workflow you will need to set the value of the _MuhimbiViews field before carrying out the conversion. The workflow does not persist the value of the changed field before executing the conversion step, and so we need to ensure the values are updated accordingly before this step. You can do this in two ways:

Using an Impersonation Step
  1. Position the cursor before Step 1 and click Impersonation Step button in the ribbon.

  2. Position the cursor inside the Impersonation Step and add a ‘set field in current item' action.

  3. ‘Use this action to set the value of the ‘_MuhimbiViews’ field to '’Edit item; PDFView’.

  4. Position the cursor after the Impersonation Step and click Step button to add a new step.

  5. In this new step add the 'Convert Document' action and fill in the blanks.

  6. Publish the workflow and execute it on a previously filled out form.

The resulting PDF should contain Edit item and PDFView (in that order).

Using Pause for Duration

The steps below assume the default, empty, workflow state and not the workflow entered as part of the previous use case.

  1. Position the cursor inside the first Step and add a 'set field in current item' action.

  2. ‘Use this action to set the value of the ‘_MuhimbiViews’ field to '’Edit item; PDFView’.

  3. Add the 'Pause for duration' action as the next step and let it pause for one minute. You can add the duration based on lots of factors including the number of instances running and the configuration of the server. Use higher numbers for lower server configuration and where the number of running instances is higher.

  4. Add the 'Convert Document' action and fill in the blanks.

  5. Publish the workflow and execute it on a previously filled out form.

It may take a while to execute due to the Pause action, but the resulting PDF should contain Edit item and PDFView (in that order).

A third option exists, which is to specify Converter Specific Settings using the XML Override facility in the ‘Convert Document’ Workflow activity.

For any further questions or comments please contact us directly.

Converting InfoPath Forms based List Items to PDF

Note: When converting HTML to PDF, please make sure you are running the latest version (8.3 or higher) of the Muhimbi PDF Converter as that version comes with a much improved HTML Converter.

The Muhimbi PDF Converter comes with extensive InfoPath support to deal with InfoPath attachments and Dynamic View Selection. However, most of the facilities provided are for 'real' InfoPath forms that are stored in a Forms or Document library.

MS SharePoint also allows the List Item Data Entry Form to be customized using InfoPath, but the data filled out using this facility is not stored as real InfoPath Forms and therefore cannot be converted using Muhimbi's PDF converter.

As the List Items are rendered as HTML, even when customized via InfoPath, you can use the many HTML to PDF facilities provided by the Muhimbi PDF Converter for MS SharePoint to convert InfoPath based List Items to PDF.

When using MS SharePoint 2010 or later, the results will improve dramatically when leaving out the SharePoint ribbon, branding and logo by adding '&IsDlg=1' to the URL of the list item that is being converted.

If you need to convert a specific view, then add '&DefaultView=[viewname]' to the URL.

HTML is not a format that is suited for output on printed media (including PDF). We do our very best to make things work and render the PDF as well as possible. Unfortunately, we cannot make any guarantees, especially where it comes to third party products that are not under our direct control.

Converting InfoPath forms to PDF using MS SharePoint Forms Services

To achieve the best possible conversion fidelity Muhimbi PDF Converter requires InfoPath to be installed on the conversion server. This works great, but in some environments which are mainly externally hosted, this is not always possible. The PDF Converter for SharePoint comes with support for converting InfoPath forms to PDF format using InfoPath Forms Services, which is included with the Enterprise version of SharePoint 2007 & 2010.

Please note that what is described in this article is not the recommended way to convert Forms Services forms. The recommended way is to use our standard InfoPath converter to convert those kinds of forms. The HTML Conversion option described here is merely a last resort if all other options fail.

This way of converting Infopath Forms to PDF using MS SharePoint Forms Service can be very useful for some environments, but there are some limitations when using this:

  1. In order for this to work correctly, InfoPath Forms services are required. So, this conversion process doesn’t run on the base WSS3 or MS SharePoint Foundation versions.

  2. It only works with Forms that are Browser enabled.

  3. Dynamic View Selection and conversion of Attachments features are not available, although it is possible to specify the name of the View to convert.

Our traditional approach that uses InfoPath on the server does not have these limitations.

imageFrom Browser based form (left) to PDF Document (right). Click here to open the full PDF file.

Let’s show you how to use Form Services in combination with the PDF Converter for SharePoint to convert InfoPath Documents. Some familiarity with both InfoPath and MS SharePoint is assumed.

  1. Make sure you have the appropriate privileges to create workflows on a site collection.

  2. Start InfoPath, select ‘Customize a Sample’ and double click ‘Sample – Expense Report’.

  3. Click File menu and select Publish and go through the usual steps to publish the form to a new SharePoint Library named Expenses.

  4. In the new Expenses document library, fill out a form and save it as Form1.xml.

  5. Create a new workflow using MS SharePoint Designer.

  6. On the Workflow definition screen, associate the workflow with the new Expenses list, tick the boxes next to both ‘Automatically start….’ options and proceed to the next screen.

  7. Add the Convert HTML to PDF action, and click ‘this url / html’ and enter the path to your site collection followed by Muhimbi’s InfoPathPrint.aspx page, e.g. *http://moss/sites/Finance/_layouts/Muhimbi.PDFConverter/InfoPathPrint.aspx

In the same String Builder dialog, add the xmlLocation query string parameter. Click Add Lookup button and select ‘Server Relative URL’ for the Current Item. The final result should look like the following screenshot.

add lookup

  1. Close the String Builder and click ‘this file’ option. Assuming we want to write the converted PDF files to the Shared Documents library enter Shared Documents/[%Expenses:Name%].pdf. You can insert the underlined text using Add or Change Lookup button, as just typing it in will not work.

  2. Optionally, you can also change the orientation of the page to ‘Landscape’. You don’t need to specify the username or password, as by default the credentials the Document Conversion Service runs under will be used for authentication with the aspx page.

  3. Save and Publish the workflow to activate it.

You can add a new form or update an existing one in the Document Library. After a few seconds, the Workflow Status should change to ‘Completed’. Once complete the converted PDF document can be opened from the Shared Documents library.

If your InfoPath form contains multiple views then you can select which view to convert by concatenating &ViewName=your_view_name to the URL of InfoPathPrint.aspx.

In summary, if it is not possible to install InfoPath on the server in your environment, or if your forms look better in Forms Services compared to the full InfoPath client, then you can use this method to convert InfoPath documents to PDF format using InfoPath Forms Services.

Additional Resources

Knowledge Base Articles

Troubleshooting Articles

Blog articles

Have a Question?
We’re Always Happy to Help.

© Muhimbi Ltd. 2008 - 2024
This website uses cookies to ensure you get the best experience. Learn more