The 'Merge document array to PDF' flow merges up to 1000 documents provided in a JSON array to a single PDF document.
Please refer to the Supported Document Types articles for a complete list of the different file formats / document types which are supported for conversion.
Please refer to the following articles showcasing the 'Merge document array to PDF' action
- Merge SharePoint Attachments into a single PDF Document
- Convert an Email Message including attachments to a PDF document
The default 'Merge document array to PDF' flow action parameters are detailed below:
- PDF Filename: The filename to assign to the resulting PDF document (including file extension).
- Documents: A JSON array containing a filename and a Base64 encoded string for each document which should be merged.
Documents - JSON Schema
The JSON provided within the documents parameter should conform to the following schema:
"fileName": "filename including extension",
"fileContent": "File contents (Base 64 string)"
Please review the following article if you experience an issue executing the 'Merge document array to PDF' action: Errors processing Document Arrays
The final merge operation count is determined using the following calculation:
Merge Action (1) + (No. of Documents Converted to PDF) = Total Operation Count
For example, merging 48 PDF documents;
1 + 0 = 1
For example, merging 48 non-PDF documents which are also converted to PDF before merging:
1 + 48 = 49
For example, merging 612 documents of which 9 are also converted to PDF before merging:
1 + 9 = 10
Creating the JSON Array
Flow provides the actions required to build the JSON array which is required by the 'Documents' parameter. The following example shows how to retrieve documents from a SharePoint folder and dynamically build the array.
1. Utilise the 'Get Files (properties only)' action to retrieve a list of target files
2. Create a new variable which will be utilised to store the JSON we will provide to the 'Documents' parameter.
3. To build the array we will create a loop using the 'Apply to Each' action which will process each item from the SharePoint 'Get Files (properties only)' action. The 'value' variable is passed from the SharePoint 'Get Files (properties only)' result.
4. Add a 'Get file content using path' action to retrieve the file.
4.a Site Address: Set as per the site address from step #1
4.a. File Path: Select the 'Folder Path' and 'File name with extension' properties from the SharePoint 'Get Files (properties only)' result.
5. Add an 'Append to array variable' action to add the JSON for the current document to the variable created in step #3.
5.a Add the following JSON to the Append to array variable' actions 'Value' property:
5.b Place the cursor as per the image and select the 'FilenameWithExtension' property from the SharePoint 'Get Files (properties only)' result.
5.c. Place the cursor as per the image:
5.d Click 'Expression' and type 'base64()'
5.e Click 'Dynamic Content' and insert the 'File Content' property from the SharePoint 'Get file content using path' result into the 'Base64()' expression.
5.f Click 'OK'
The competed JSON value is as follows:
6. Add the 'Merge document array to PDF' action underneath the 'Apply to each' action
7. Provide a 'PDF Filename' value, click the 'Switch to input entire array' icon
8. Pass the 'FilesForMerge' variable created in step #2
9. Add a SharePoint 'Create file' action passing the returned filename and 'File Content' return values from the 'Merge document array to PDF' action.
The advanced 'Merge document array to PDF' flow action parameters are detailed below:
- Remove Markup: Sets whether comments and tracked changes should be removed from the document(s) upon conversion. This option is only executed for Microsoft Office documents.
- PDF/A Compliant: Sets whether the resulting document should conform to PDF/A format.
- PDF/A Compliance Level: Sets the required level of PDF/A compliance.
- Return File: (Advanced) Sets whether the action should return a file or alternatively an operation ID: Flow Action Return Options: File Content vs. Operation ID