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

15 次查看(过去 30 天)
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?

采纳的回答

MathWorks Support Team
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.

更多回答(3 个)

Sebastian Balthes
Sebastian Balthes 2020-4-22
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 2020-6-16
编辑:Dominic Jarecki 2020-6-16
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
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:

产品


版本

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by