How do I generate a PDF report from a Microsoft Word Template using MATLAB Report Generator R2023a?

22 views (last 30 days)
How can i generate a PDF report from Word Template?
I am able to create Word Report from a Word Template as follows:
d = Document('myReport','docx','Template.dotx');
open(d);
close(d);
How can I convert/generate it as a PDF file?

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 9 Aug 2023
There are a couple ways to accomplish this goal. In both of them, we recommend creating a DOCX file from the DOTX template as the first step, which may be accomplished programmatically with MATLAB Report Generator or manually in Microsoft Word. The DOCX can then be converted to PDF in a couple different ways. Note that each of these methods assumes that Microsoft Word or a Word-compatible editor is installed.
  1. Perhaps the easiest way to convert DOCX to PDF is to use the "docview" function, which has options to convert from DOCX to PDF. See the following documentation page for an example:     https://www.mathworks.com/help/releases/R2023a/rptgen/ug/docview.html#bveyudd-1
  2. Another option is to manually create the DOCX files from the DOTX template and use Microsoft Word's built-in export tool for the last step. Specifically, after having created the DOCX file from the DOTX template, open the DOCX file in Microsoft Word and select "File > Export > Create PDF/XPS Document" from the Microsoft Word ribbon/sidebar.

More Answers (3)

Sebastian Balthes
Sebastian Balthes on 22 Apr 2020
Is there any other solution for this problem so far ?
I also wanna do it programmatically without running report explorer, because I need it for a standalone application.

Dominic Jarecki
Dominic Jarecki on 16 Jun 2020
Edited: Dominic Jarecki on 16 Jun 2020
If you add the code:
rptview(d.OutputPath, 'pdf');
it will convert the .docx file to a .pdf. (Thus, you can proceed programatically as .dotx -> .docx -> .pdf, even in a deployed application.)
Unfortunately, this will also display the .pdf file as it is created, which may not be the intended behavior for a deployed application. I will update this post later if I find a way to hide the .pdf as it being created.
UPDATE: Turns out if you use docview(), you can avoid having anything display when you convert from .docx to .pdf:
docview('whateverYourFileHappensToBeNamed.docx','convertdocxtopdf','closeapp');
It is possible that this will not work on Linux (and maybe Mac); in any case, I haven't tested in those environments.

Dhanashree Mohite
Dhanashree Mohite on 8 Apr 2019
You can use report explorer to generate report for word document.
Use below command to open report explorer for that file:
>> setedit(filename)
refer below link for further steps:

Products


Release

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!