How can I create a List of Figures in a pdf report created with Report Generator?
조회 수: 3 (최근 30일)
이전 댓글 표시
Hello,
In a .pdf report, created with mlreportgen.dom package, the Table of Contents (TOC) and a series of chapters, section and Figures with caption have been implemented as shown here: https://it.mathworks.com/help/rptgen/ug/number-section-headings-table-titles-and-figure-captions-programmatically.html
I would like to create (after the Table of Contents) a list indicating at each row: figure number, its caption and page number. It is usually named "List of Figures" in a report (e.g. Figure 1.1 Caption of the figure........page).
Practically, I would need something analogous to mlreportgen.dom.TOC class, but instead of operating on headings(chapters/sections) it should works on images-caption.
Thank you very much for any advice/tip
Best regards
댓글 수: 0
답변 (1개)
Rahul Singhal
2020년 6월 15일
Hi Alessio,
Considering the exact use case you mentioned, the team plans to add new APIs in R2020b, that will automatically create a list of figures, tables, and captions, and then can be added to a report in the same way as TOC.
Curently, you can use the below helper function to add a list of figures/tables in a DOCX (not PDF) report:
function obj = mkto_t_f(stream_name)
import mlreportgen.dom.*
tof = [
'<w:p>' ...
'<w:fldSimple w:instr=" TOC \\h \\z \\c "%s" ">' ...
'<w:r>' ...
'<w:rPr>' ...
'<w:b/>' ...
'<w:bCs/>' ...
'<w:noProof/>' ...
'</w:rPr>' ...
'<w:t>No table of figures entries found.</w:t>' ...
'</w:r>' ...
'</w:fldSimple>' ...
'</w:p>' ...
];
obj = RawText(sprintf(tof, stream_name), 'docx');
end
Using the helper function mentioned above, adding the list of figures/tables to a DOCX report.
% Insert a List of Figures in DOCX report
append(d, mkto_t_f('figure'));
% Insert a List of Tables in DOCX report
append(d, mkto_t_f('table'));
If you really want it in PDF report, you can programmatically convert the DOCX report into PDF as mentioned below:
docview(d.OutputPath, 'updatedocxfields', 'convertdocxtopdf');
Thanks,
Rahul
댓글 수: 0
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!