In this guide you’ll learn how to compress a PDF using Power Automate. For this specific example we use the XML Override to convert your file to PDF 1.7 format which allows for better compression. The generated PDF has exactly the same resolution as the source documents, so, in some cases, the saving may not be significant.
Ensure the following prerequisites are in place:
- An Office 365 subscription with a SharePoint Online license.
- Muhimbi PDF Converter for Power Automate full subscription.
Note: Free version does not support this functionality.
- Appropriate privileges to create Flows.
- Working knowledge of SharePoint Online and Microsoft Power Automate (Flow).
How to compress PDF with Power Automate
The steps to convert and compress a document is given below. The Flow will look as follows:
Create a new Flow and use the SharePoint Online trigger ‘When a file is created or modified in a folder’. Fill out the URL for the site collection and select the relevant SharePoint folder from the selection.
Insert Muhimbi's ‘Convert document’ action and fill it out as per the screenshot displayed below. Naturally, you will need to substitute the Source file name and Source file content with suitable values.
- Source file name: ‘x-ms-file-name-encoded’, which is the output of the SharePoint ‘When a file is created or modified in a folder’.
- Source file content: ‘File Content’, which is the output of the SharePoint ‘When a file is created or modified in a folder’.
- Output format: PDF
- Override settings:
Using the XML Override, you can convert the document to PDF 1.7. This completely takes the PDF apart and rebuilds it using the facilities of the PDF 1.7 format, which allows for better compression. The generated PDF has exactly the same resolution as the source documents, so, in some cases, the saving may not be significant.
Insert a ‘Create File’ action to write the converted file back to SharePoint Online.
File name: ‘Base File name.pdf’ is the output variable of the ‘Convert document’ action.
File content: ‘Processed file content’ is the output variable of the ‘Convert document’ action.
Publish the workflow and upload any document. After a few seconds, the Flow will trigger and a compressed PDF file will be generated in the target location.
Troubleshooting / Caveats
HTML is not the best format for print or PDF Conversion purposes. Depending on your exact needs and source material, you may need to experiment with various available settings. If you have any questions or require assistance please feel free to contact us.
Please consider the following when using Power Automate:
Modern Views: In SharePoint Online it is possible to display Lists and Libraries in Modern or Classic mode. Modern View is undergoing constant change (by Microsoft), as a result, we currently only support the conversion of pages displayed in Classic View. Some Modern View pages will convert fine while others don't.
Multi-Factor Authentication (MFA): An increasing number of SharePoint Online / Office 365 environments are secured using MFA. Although this is a positive development, it gets in the way of automated systems such as our HTML converter. If your environment uses MFA then please create an App password for HTML conversions, or disable MFA on your HTML Conversion account.
HTML Conversion option not displayed: The option to convert the current page to PDF is only available in Classic SharePoint pages. Modern pages currently do not provide a facility for extending the personal actions menu. We will make sure it is added as soon as Microsoft makes this functionality available.
PDF Layout does not match: By default, the page being converted is optimized for print / PDF output. If you prefer the PDF to look exactly like what is displayed on the screen, including user interface elements, then set the Media Type to Screen in the HTML Conversion configuration screen.
User-modified content is not converted: The converter does not have knowledge about the information currently displayed in the user's browser (e.g. size of the browser window, or custom data entered, but not yet submitted to the server). The converter always requests a fresh copy of the URL and converts that information to PDF.
User-specific information is missing: HTML Conversion is carried out in the context of the configured user account, though the system is not aware of the user carrying out the HTML conversion. Don't specify accounts that display more information than what the users need to have access to.