1 May 2018

Generate a PDF Report from Forge Viewer

Here is a quick way to generate a PDF report of the LMV canvas through the browser.
It uses the [jsPDF](https://parall.ax/products/jspdf) library.

DEMO  https://wallabyway.github.io/forge-pdf-report/

Result:  Floor1-report.PDF

 

Update (2020):

If you are having problems capturing the PDF, on mobile (IOS or Android), try using the following method instead:

viewer.impl.getScreenShotProgressive(..)

How to use:

Steps:

1. Add this to your `index.html` ...

<script src="https://unpkg.com/jspdf/dist/jspdf.min.js"></script>

 
2. Take a screenshot of LMV canvas using `getScreenShotBuffer()`, like this ...

viewer.getScreenShotBuffer(
 viewer.canvas.width,
 viewer.canvas.height, 
 img => createPDF(img)); 
});

        

3. Then add the PNG into a new PDF using jsPDF, like this...

 

function createPDF(imgData) {
    var doc = new jsPDF()
    doc.setFontSize(40)
    doc.text(35, 25, 'ForgeViewer PDF report');
    doc.addImage(imgData, 'JPEG', 10, 40, 180, 80);
    doc.save('report-floor1.pdf')
}

All done !

You can find a complete example on GitHub here: https://github.com/wallabyway/forge-pdf-report

Feel free to add any issues you find to the Github issues repo.

Follow me on Twitter @micbeale

Related Article

Posted By

Michael Beale

Michael Beale

Michael Beale is a senior software engineer at Autodesk, where he has been a globe-trotting technical advocate for Forge. Michael focuses on connecting Autodesk cloud data and Autodesk Forge APIs to the browser. He’s also contributed to Autodesk Homestyler, the Forge Large Model Viewer (LMV), Autodesk Prooflab, Stereo-Panorama service with webVR and recently 3D formats, such as glTF and 3D-Tiles-Next. Twitter:...