<!DOCTYPE html>
<html lang="en" xmlns:og="http://ogp.me/ns#">
    <head data-layout-view="default">
<script>
    window.dataLayer = window.dataLayer || [];
        </script>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-T5W4WQ');</script>
<!-- End Google Tag Manager -->
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Spring boot return pdf - Personal Mechatronics Lab</title>
    <link rel="icon" href="http://www.pml4all.org/favicon.ico" type="image/x-icon" />
    <link rel="SHORTCUT ICON" href="http://www.pml4all.org/favicon.ico" type="image/x-icon" />
    <meta name="description" content=" 
 
SPRING BOOT RETURN PDF    DOWNLOAD LINK  
SPRING BOOT RETURN PDF    READ ONLINE 
 

 
 
 
 
 
 
         
 
 
I want to get report output as pdf using the…" />
    <meta name="keywords" content="" />
<meta name="title" content="Spring boot return pdf" />
<meta property="og:type" content="website" />
<meta property="og:url" content="http://www.pml4all.org/photo/albums/spring-boot-return-pdf?rss=yes&amp;xn_auth=no" />
<meta property="og:title" content="Spring boot return pdf" />
<meta property="og:image" content="https://storage.ning.com/topology/rest/1.0/file/get/2745971876?profile=UPSCALE_150x150">
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Spring boot return pdf" />
<meta name="twitter:description" content=" 
 
SPRING BOOT RETURN PDF    DOWNLOAD LINK  
SPRING BOOT RETURN PDF    READ ONLINE 
 

 
 
 
 
 
 
         
 
 
I want to get report output as pdf using the…" />
<meta name="twitter:image" content="https://storage.ning.com/topology/rest/1.0/file/get/2745971876?profile=UPSCALE_150x150" />
<link rel="image_src" href="https://storage.ning.com/topology/rest/1.0/file/get/2745971876?profile=UPSCALE_150x150" />
<script type="text/javascript">
    djConfig = { baseScriptUri: 'http://www.pml4all.org/xn/static-6.11.8.1/js/dojo-0.3.1-ning/', isDebug: false }
ning = {"CurrentApp":{"premium":true,"iconUrl":"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/2745971876?profile=UPSCALE_150x150","url":"httppm-lab.ning.com","domains":["pml4all.org"],"online":true,"privateSource":true,"id":"pm-lab","appId":6212885,"description":"This is a interactive site exclusively designed for Personal Mechatronics Lab (PML) users to share experiences about the product.","name":"Personal Mechatronics Lab","owner":"0cf74olsiwg3z","createdDate":"2010-07-12T14:36:11.000Z","runOwnAds":false},"CurrentProfile":null,"maxFileUploadSize":5};
        (function(){
            if (!window.ning) { return; }

            var age, gender, rand, obfuscated, combined;

            obfuscated = document.cookie.match(/xgdi=([^;]+)/);
            if (obfuscated) {
                var offset = 100000;
                obfuscated = parseInt(obfuscated[1]);
                rand = obfuscated / offset;
                combined = (obfuscated % offset) ^ rand;
                age = combined % 1000;
                gender = (combined / 1000) & 3;
                gender = (gender == 1 ? 'm' : gender == 2 ? 'f' : 0);
                ning.viewer = {"age":age,"gender":gender};
            }
        })();

        if (window.location.hash.indexOf('#!/') == 0) {
        window.location.replace(window.location.hash.substr(2));
    }
    window.xg = window.xg || {};
xg.captcha = {
    'shouldShow': false,
    'siteKey': '6LeE174tAAAAAMHFtnhOaKpb7xCufY94iOGHr7a4',
        'spamChallengeAction': 'spamChallenge',
    'problemsSigningInAction': 'problemsSigningIn'
};
xg.addOnRequire = function(f) { xg.addOnRequire.functions.push(f); };
xg.addOnRequire.functions = [];
xg.addOnFacebookLoad = function (f) { xg.addOnFacebookLoad.functions.push(f); };
xg.addOnFacebookLoad.functions = [];
xg._loader = {
    p: 0,
    loading: function(set) {  this.p++; },
    onLoad: function(set) {
                this.p--;
        if (this.p == 0 && typeof(xg._loader.onDone) == 'function') {
            xg._loader.onDone();
        }
    }
};
xg._loader.loading('xnloader');
if (window.bzplcm) {
    window.bzplcm._profileCount = 0;
    window.bzplcm._profileSend = function() { if (window.bzplcm._profileCount++ == 1) window.bzplcm.send(); };
}
xg._loader.onDone = function() {
            if(window.bzplcm)window.bzplcm.start('ni');
        xg.shared.util.parseWidgets();    var addOnRequireFunctions = xg.addOnRequire.functions;
    xg.addOnRequire = function(f) { f(); };
    try {
        if (addOnRequireFunctions) { dojo.lang.forEach(addOnRequireFunctions, function(onRequire) { onRequire.apply(); }); }
    } catch (e) {
        if(window.bzplcm)window.bzplcm.ts('nx').send();
        throw e;
    }
    if(window.bzplcm) { window.bzplcm.stop('ni'); window.bzplcm._profileSend(); }
};
window.xn = { track: { event: function() {}, pageView: function() {}, registerCompletedFlow: function() {}, registerError: function() {}, timer: function() { return { lapTime: function() {} }; } } };</script>
<link rel="image_src" href="https://static.ning.com/socialnetworkmain/widgets/photo/gfx/albums/default_cover_120x120.gif?xn_version=4024552908" type="image/jpeg" /><meta name="title" content="Spring boot return pdf" /><link rel="alternate" type="application/rss+xml" title="Spring boot return pdf - Personal Mechatronics Lab" href="http://www.pml4all.org/photo/albums/spring-boot-return-pdf?rss=yes&amp;xn_auth=no" /><link rel="alternate" type="application/atom+xml" title="Comments - Spring boot return pdf - Personal Mechatronics Lab" href="http://www.pml4all.org/photo/albumcomment/feed?attachedTo=6212885%3AAlbum%3A399220&amp;xn_auth=no" />
<style type="text/css" media="screen,projection">
#xg_navigation ul div.xg_subtab ul li a {
    color:#FFFFFF;
    background:#6F6F6F;
}
#xg_navigation ul div.xg_subtab ul li a:hover {
    color:#2E5F87;
    background:#D9D9D9;
}
</style>

<style type="text/css" media="screen,projection">
@import url("https://static.ning.com/socialnetworkmain/widgets/index/css/common.min.css?xn_version=1229287718");
@import url("https://static.ning.com/socialnetworkmain/widgets/photo/css/component.min.css?xn_version=3156643033");
@import url("https://static.ning.com/socialnetworkmain/widgets/chat/css/bottom-bar.min.css?xn_version=512265546");

</style>

<style type="text/css" media="screen,projection">
@import url("/generated-6aaaa6155ad336-14758908-css?xn_version=202609161410");

</style>

<style type="text/css" media="screen,projection">
@import url("/generated-6aaaa4abab1243-85824359-css?xn_version=202609161410");

</style>

<!--[if IE 6]>
    <link rel="stylesheet" type="text/css" href="https://static.ning.com/socialnetworkmain/widgets/index/css/common-ie6.min.css?xn_version=463104712" />
<![endif]-->
<!--[if IE 7]>
<link rel="stylesheet" type="text/css" href="https://static.ning.com/socialnetworkmain/widgets/index/css/common-ie7.css?xn_version=2712659298" />
<![endif]-->
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://www.pml4all.org/profiles/blog/rsd" />

    </head>
    <body>
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-T5W4WQ"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
                <div id="xn_bar">
            <div id="xn_bar_menu">
                <div id="xn_bar_menu_branding" >
                                    </div>

                <div id="xn_bar_menu_more">
                    <form id="xn_bar_menu_search" method="GET" action="http://www.pml4all.org/main/search/search">
                        <fieldset>
                            <input type="text" name="q" id="xn_bar_menu_search_query" value="Search Personal Mechatronics Lab" _hint="Search Personal Mechatronics Lab" accesskey="4" class="text xj_search_hint" />
                            <a id="xn_bar_menu_search_submit" href="#" onclick="document.getElementById('xn_bar_menu_search').submit();return false">Search</a>
                        </fieldset>
                    </form>
                </div>

                            <ul id="xn_bar_menu_tabs">
                                            <li><a href="http://www.pml4all.org/main/authorization/signUp?target=http%3A%2F%2Fwww.pml4all.org%2Fphoto%2Falbums%2Fspring-boot-return-pdf%3Frss%3Dyes%26xn_auth%3Dno">Sign Up</a></li>
                                                <li><a href="http://www.pml4all.org/main/authorization/signIn?target=http%3A%2F%2Fwww.pml4all.org%2Fphoto%2Falbums%2Fspring-boot-return-pdf%3Frss%3Dyes%26xn_auth%3Dno">Sign In</a></li>
                                    </ul>
                        </div>
        </div>
        
        
        <div id="xg" class="xg_theme xg_widget_photo xg_widget_photo_album xg_widget_photo_album_show" data-layout-pack="classic">
            <div id="xg_head">
                <div id="xg_masthead">
                    <p id="xg_sitename"><a id="application_name_header_link" href="/">Personal Mechatronics Lab</a></p>
                    
                </div>
                <div id="xg_navigation">
                    <ul>
    <li id="xg_tab_xn23" class="xg_subtab"><a href="/"><span>Home</span></a></li><li id="xg_tab_profile" class="xg_subtab"><a href="/profiles"><span>My Page</span></a></li><li dojoType="SubTabHover" id="xg_tab_xn18" class="xg_subtab"><a href="/page/collaborate-1"><span>Collaborate</span></a><div class="xg_subtab" style="display:none;position:absolute;"><ul class="xg_subtab" style="display:block;" ><li style="list-style:none !important;display:block;text-align:left;"><a href="/chat" style="float:none;"><span>Chat</span></a></li><li style="list-style:none !important;display:block;text-align:left;"><a href="https://accounts.google.com/ServiceLogin?service=writely&amp;passive=1209600&amp;continue=https://docs.google.com/&amp;followup=https://docs.google.com/&amp;ltmpl=homepage" target="_blank" style="float:none;"><span>WorkSpace</span></a></li><li style="list-style:none !important;display:block;text-align:left;"><a href="/page/padlet-whiteboard" style="float:none;"><span>Whiteboard</span></a></li><li style="list-style:none !important;display:block;text-align:left;"><a href="/page/pml-sharing" style="float:none;"><span>PML Sharing</span></a></li></ul></div></li><li dojoType="SubTabHover" id="xg_tab_xn13" class="xg_subtab"><a href="/forum"><span>Forum</span></a><div class="xg_subtab" style="display:none;position:absolute;"><ul class="xg_subtab" style="display:block;" ><li style="list-style:none !important;display:block;text-align:left;"><a href="/forum/categories/microcontroller/listForCategory" style="float:none;"><span>Microcontroller</span></a></li><li style="list-style:none !important;display:block;text-align:left;"><a href="/forum/categories/electromechanical/listForCategory" style="float:none;"><span>Electromechanical</span></a></li><li style="list-style:none !important;display:block;text-align:left;"><a href="/forum/categories/circuits-and-instrumentation/listForCategory" style="float:none;"><span>Circuits</span></a></li><li style="list-style:none !important;display:block;text-align:left;"><a href="/forum/categories/utility-board/listForCategory" style="float:none;"><span>Utility Board</span></a></li><li style="list-style:none !important;display:block;text-align:left;"><a href="/forum/categories/driver-board/listForCategory" style="float:none;"><span>Driver Board</span></a></li><li style="list-style:none !important;display:block;text-align:left;"><a href="/forum/categories/fpga-board/listForCategory" style="float:none;"><span>FPGA Board</span></a></li><li style="list-style:none !important;display:block;text-align:left;"><a href="/forum/categories/sensor-board/listForCategory" style="float:none;"><span>Sensor Board</span></a></li></ul></div></li><li dojoType="SubTabHover" id="xg_tab_xn1" class="xg_subtab"><a href="/page/resources-1"><span>Resources</span></a><div class="xg_subtab" style="display:none;position:absolute;"><ul class="xg_subtab" style="display:block;" ><li style="list-style:none !important;display:block;text-align:left;"><a href="/page/documents-1" style="float:none;"><span>Documents</span></a></li><li style="list-style:none !important;display:block;text-align:left;"><a href="/page/lab-exercises" style="float:none;"><span>Lab Exercises</span></a></li><li style="list-style:none !important;display:block;text-align:left;"><a href="/page/useful-datasheets" style="float:none;"><span>Useful Datasheets</span></a></li><li style="list-style:none !important;display:block;text-align:left;"><a href="/page/suppliers-1" style="float:none;"><span>Suppliers</span></a></li><li style="list-style:none !important;display:block;text-align:left;"><a href="/page/6212885:Page:9802" style="float:none;"><span>Useful Links</span></a></li><li style="list-style:none !important;display:block;text-align:left;"><a href="/page/success-stories" style="float:none;"><span>Success Stories</span></a></li></ul></div></li><li dojoType="SubTabHover" id="xg_tab_xn2" class="xg_subtab this"><a href="/page/media-2"><span>Media</span></a><div class="xg_subtab" style="display:none;position:absolute;"><ul class="xg_subtab" style="display:block;" ><li style="list-style:none !important;display:block;text-align:left;"><a href="/profiles/blog/list" style="float:none;"><span>Blogs</span></a></li><li style="list-style:none !important;display:block;text-align:left;"><a href="/video" style="float:none;"><span>Videos</span></a></li><li style="list-style:none !important;display:block;text-align:left;"><a href="/photo" style="float:none;"><span>Photos</span></a></li></ul></div></li><li id="xg_tab_xn0" class="xg_subtab"><a href="/page/contact-1"><span>Contact</span></a></li><li id="xg_tab_xn19" class="xg_subtab"><a href="/page/about-pml"><span>About PML</span></a></li></ul>

                </div>
            </div>
            
            <div id="xg_body">
                <div id="albumIdDiv" style="display:none;" _albumId="6212885:Album:399220"></div>
                <div class="xg_column xg_span-16 xj_classic_canvas">
                    <ul class="navigation easyclear"><li><a href="http://www.pml4all.org/photo">All Photos</a></li><li><a href="http://www.pml4all.org/photo/album/list">All Albums</a></li><li><a href="http://www.pml4all.org/photo/photo/listForContributor?">My Photos</a></li><li><a href="http://www.pml4all.org/photo/album/listForOwner?">My Albums</a></li><li><a href="http://www.pml4all.org/photo/photo/listFavorites?">My Favorites</a></li><li class="right xg_lightborder navbutton"><a href="http://www.pml4all.org/photo/album/new" class="xg_sprite xg_sprite-add">Add</a></li></ul><div class="xg_module xg_module_with_dialog">
	<div class="xg_headline xg_headline-img xg_headline-2l">
    <div class="ib"><span class="xg_avatar"><span class="table_img dy-avatar dy-avatar-64 "><img  class="photo photo" src="http://storage.ning.com/topology/rest/1.0/file/get/1591040723?profile=original&amp;width=64&amp;height=64&amp;crop=1%3A1&amp;xj_user_default=1" alt="" /></span></span></div>
<div class="tb"><h1>Spring boot return pdf</h1>
        <ul class="navigation byline">
            <li><a class="nolink">Added by Warelius on July 24, 2022 at 4:03pm</a></li>
            <li><a class="xg_sprite xg_sprite-view" href="http://www.pml4all.org/photo/album/listForOwner?screenName=b055fa870cc449188f5dae459ba461ee">View Albums</a></li>
        </ul>
    </div>
</div>
    <div class="xg_module_body nopad body_albumdetail_main">
        <div class="xg_column xg_span-4">
            <div class="albuminfo pad5">
                <div style="background-image: url(https://static.ning.com/socialnetworkmain/widgets/photo/gfx/albums/default_cover_120x120.gif?xn_version=4024552908);" class="albumcover">
                    Spring boot return pdf                </div>
                                    <div class="xg_user_generated"><p class="album_description"><p> </p>
<p> </p>
<center><strong>SPRING BOOT RETURN PDF >> <u><a href="http://zig.file1.site/download?file=spring+boot+return+pdf" rel="nofollow">DOWNLOAD LINK</a></u></strong> <br/><p> </p>
<br/><strong>SPRING BOOT RETURN PDF >> <u><a href="http://zig.file1.site/read?file=spring+boot+return+pdf" rel="nofollow">READ ONLINE</a></u></strong><p> </p>
<p> </p>
</center>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p><br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/></p>
<p> </p>
<p> </p>
<p>I want to get report output as pdf using the REST API. I have written some code to get it using Spring RestTemplate class. But Im getting an error in invoking the service. Here is the code that i have written public ResponseEntity runReport (HttpServletRequest request , String reportUri , String parameters , String outFormat) throws IOException { Spring | Home Generating and downloading PDF using spring boot and Thymeleaf In this blog, we will be generating a pdf document using the thymeleaf template. For this, we need to add these dependencies in our pom.xml or build.gradle file. In this blog, we will be using gradle dependencies. spring-boot-starter-thymeleaf flying-saucer-pdf Follow these steps : Spring MVC ResponseEntity enables control not only over the body of the HTTP Response but also the header and the response status code. Following this approach, you need to define the return type of the method as ResponseEntity<byte []> and create returning ResponseEntity object in the method body. 17.6.2 Configuration and setup. Document based views are handled in an almost identical fashion to XSLT views, and the following sections build upon the previous one by demonstrating how the same controller used in the XSLT example is invoked to render the same model as both a PDF document and an Excel spreadsheet (which can also be viewed or In this tutorial I am going to show you how to create a simple PDF generator using Spring Boot.Source code on Github: github.com/ivanjakimovski/sprin Add the MySQL connector and run the spring boot app. The spring boot app will generate the tables required by Jaspersoft studio. Create a design for our report from existing templates. On the Jaspersoft toolbar click on file, new, jasper report. A window opens with a list of templates to choose from. The architecture presents as follows: We can distinguish two main layers: the backend and frontend. On the frontend side, we have an Angular application that is responsible for presenting PDF files downloaded from the Spring Boot application server (backend side). 3. Backend side. Single File Upload to Local File System in Spring Boot Rest In this case, the file is sent as using Form data and the same is retrieved in the Spring controller Rest as a Multipart file. It is a representation of an uploaded file received in a multipart request. In the below implementation, we are Copying all bytes from an input stream to a file. Here we will be having an Angular front-end from which we will be collecting data using a simple form and along with it a Spring Boot back-end to create the PDF. Lets first start with the Angular The spring-boot-starter-web is a starter for building web applications with Spring MVC. It uses Tomcat as the default embedded container. The spring-boot-starter-data-jpa is a starter for using Spring Data JPA with Hibernate. The spring-boot-maven-plugin provides Spring Boot support in Maven, allowing us to package executable JAR or WAR The spring-boot-starter-web is a starter for building web applications with Spring MVC. It uses Tomcat as the default embedded container. The spring-boot-starter-data-jpa is a starter for using Spring Data JPA with Hibernate. The spring-boot-maven-plugin provides Spring Boot support in Maven, allowing us to package executable JAR or WAR Other Spring Boot Tutorials: Spring Boot Export Data to CSV Example; Spring Boot Hello World Example; Spring Boot automatic restart using Spring Boot DevTools; Spring Boot Form</p></div>
                <p class="share-links clear"><a href="http://www.myspace.com/Modules/PostTo/Pages/?t=Spring%20boot%20return%20pdf&c=Check%20out%20%22Spring%20boot%20return%20pdf%22%20on%20Personal%20Mechatronics%20Lab&u=http%3A%2F%2Fwww.pml4all.org%2Fxn%2Fdetail%2F6212885%3AAlbum%3A399220&l=2" class="post_to_myspace" target="_blank">MySpace</a><br>            <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
                    <span class="xg_tweet">
        <a href="https://twitter.com/share" class="post_to_twitter twitter-share-button" target="_blank"
            data-text="Checking out &quot;Spring boot return pdf&quot; on Personal Mechatronics Lab:" data-url="http://www.pml4all.org/photo/albums/spring-boot-return-pdf?rss=yes&amp;xn_auth=no" data-count="none" data-dnt="true">Tweet</a>
        </span>
        <br>        <a class="post_to_facebook xj_post_to_facebook" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.pml4all.org%2Fphoto%2Falbums%2Fspring-boot-return-pdf%3Frss%3Dyes%26xn_auth%3Dno%26xg_source%3Dfacebookshare&amp;t=" _url="http://www.pml4all.org/photo/albums/spring-boot-return-pdf?rss=yes&amp;xn_auth=no&amp;xg_source=facebookshare" _title="" _log="{&quot;module&quot;:&quot;photo&quot;,&quot;page&quot;:&quot;album&quot;,&quot;action&quot;:&quot;show&quot;}">Facebook</a>
    </p>            </div>
        </div>
        <div class="xg_column xg_span-12 last-child">
            <ul class="clist">
                            </ul>
                    </div>
    </div>

</div>

        <div class="xg_module">
                                        <div class="xg_module_body">
                    <p id="add-comment">Comment</p>
                                            <div class="comment-join">
                            <h3>You need to be a member of Personal Mechatronics Lab to add comments!</h3>
                                                <p><a href="http://www.pml4all.org/main/authorization/signUp?target=http%3A%2F%2Fwww.pml4all.org%2Fphoto%2Falbums%2Fspring-boot-return-pdf%3Frss%3Dyes%26xn_auth%3Dno">Join Personal Mechatronics Lab</a></p>
                                                </div>
                                                        </div>
                    <div class="xg_module_body" id="comments" style="display: none" _numComments="0" _scrollTo="">
                    </div>
                    <div class="xg_module_foot" id="xj_comments_footer" style="display:none">
                                            <p class="left">
                            <a class="xg_icon xg_icon-rss" href="http://www.pml4all.org/photo/albumcomment/feed?attachedTo=6212885%3AAlbum%3A399220&amp;xn_auth=no">RSS</a>
                        </p>
                                    </div>
                    </div>
    
                </div>
                <div class="xg_column xg_span-4 xg_last xj_classic_sidebar">
                        <div class="xg_module" id="xg_module_account">
        <div class="xg_module_body xg_signup xg_lightborder">
            <p>Welcome to<br />Personal Mechatronics Lab</p>
                        <p class="last-child"><big><strong><a href="http://www.pml4all.org/main/authorization/signUp?target=http%3A%2F%2Fwww.pml4all.org%2Fphoto%2Falbums%2Fspring-boot-return-pdf%3Frss%3Dyes%26xn_auth%3Dno">Sign Up</a></strong></big><br/>or <a href="http://www.pml4all.org/main/authorization/signIn?target=http%3A%2F%2Fwww.pml4all.org%2Fphoto%2Falbums%2Fspring-boot-return-pdf%3Frss%3Dyes%26xn_auth%3Dno" style="white-space:nowrap">Sign In</a></p>
                            <div class="xg_external_signup xg_lightborder xj_signup">
                    <p class="dy-small">Or sign in with:</p>
                    <ul class="providers">
            <li>
            <a
                onclick="xg.index.authorization.social.openAuthWindow(
                    'https://auth.ning.com/socialAuth/facebook?edfm=2svPJbppETcOEn8aOy49Q97Ld6Er2AvxxbVvgCva%2FXDeirCs3Gh9Pa70Ojaoby%2BdvVuy4UBdSNdITLRJpOYAD3FURKqAzd57kBTJHK7w%2B5CwGJfs2ftRSzp5v6BzisEX0AjY%2F3t0duCKOWs%2FC1DQTYmPHdcl7DH7TtXCQe2Z04N76prVYf8ezYBLbuWEZOq%2F4%2BrOX34e0V9aqHs51i36yOeDGvGDKRXFuwknrPKGpIXCCDoLa%2BQ5pjqmZY%2BRWxr%2B6vPnF33NUI6d5wJXYBz9LmF0WjzSyNdobe%2FyeD3v1URd5WkWiQcryzKIAiZfJPT0xqOjbi21Q%2FcMa5N4jW6gJRY2%2BGuX4HJdcrGTMHeWhMJAPA5GK%2FiFzO%2BhLnGVYFsh0qQ5zmHmUFW%2Bh8OFJpT1nz0bR6AuWLX9D7%2F2zHjWAO6Va1%2FdKDlfySma0Czv%2BmQplUW9n8%2BkE%2B5odzHqrNc5AQ%3D%3D'
                    ); return false;">
                            <span class="mini-service mini-service-facebook" title="Facebook"></span>
                        </a>
        </li>
            <li>
            <a
                onclick="xg.index.authorization.social.openAuthWindow(
                    'https://auth.ning.com/socialAuth/twitter?edfm=7J%2FLEE53j6qB2p%2FAww97vfNrIckqY3Be00kF7MkVT6%2B9ko0w4Ust%2BqD%2FGZRW1DMrhKDg%2FVS1MhtB0%2F9aU2kb5u3xZoQNBrCsaeUU7QVeNuOjNB%2B74GABiyKtZLoOwLBRDZK5K1aCm39M0cHX%2Bs%2BgSf7zTxMc8n8jf7qN%2BbWKP7C%2F2H9Fy0wm%2B2kxhYDoJraAcq2QnccV1W2ocmypmY55hlL4h5nLFoNC2LO%2BnbXQ765%2Bo4wm12w%2BHPfMwaX%2B1Vx8O7xNhcwxm7826JKGxbJnCFbc%2FYMQmdY%2FlsyKcRQPt474aEo1bBIkdRnaFTXKm8hdsZvJhugfHjZuLkJUbUUb2DpKuk%2FEV4fQxwzm8wlriNFOWaweSqUOYXSeg%2F6XUzf0Dr2%2B%2BQV4sVDUqOr5dvdOxP7zESzAjd3QQ5QuTgV3aBGi4I05gGV7nAVCmAmIajmtXSW49cHHwJ1LNVMcF6sJZAfzGxCh75%2Bjo61GomgKwiE%3D'
                ); return false;">
                <span class="mini-service mini-service-twitter" title="Twitter"></span>
            </a>
        </li>
    </ul>
                </div>
                    </div>
    </div>

                </div>
            </div>
            <div id="xg_foot">
                <p class="left">
    © 2026             &nbsp; Created by <a href="/profile/pml4all">PML</a>.            &nbsp;
    Powered by<a class="poweredBy-logo" href="https://www.ning.com/" title="" alt="" rel="dofollow">
    <img class="poweredbylogo" width="87" height="15" src="https://static.ning.com/socialnetworkmain/widgets/index/gfx/Ning_MM_footer_wht@2x.png?xn_version=2105418020"
         title="Ning Website Builder" alt="Website builder | Create website | Ning.com">
</a>    </p>
    <p class="right xg_lightfont">
                    <a href="http://www.pml4all.org/main/embeddable/list">Badges</a> &nbsp;|&nbsp;
                        <a href="http://www.pml4all.org/main/authorization/signUp?target=http%3A%2F%2Fwww.pml4all.org%2Fmain%2Findex%2Freport" dojoType="PromptToJoinLink" _joinPromptText="Please sign up or sign in to complete this step." _hasSignUp="true" _signInUrl="http://www.pml4all.org/main/authorization/signIn?target=http%3A%2F%2Fwww.pml4all.org%2Fmain%2Findex%2Freport">Report an Issue</a> &nbsp;|&nbsp;
                        <a href="http://www.pml4all.org/main/authorization/termsOfService?previousUrl=http%3A%2F%2Fwww.pml4all.org%2Fphoto%2Falbums%2Fspring-boot-return-pdf%3Frss%3Dyes%26xn_auth%3Dno">Terms of Service</a>
            </p>

            </div>
        </div>
        
        <div id="xj_baz17246" class="xg_theme"></div>
<div id="xg_overlay" style="display:none;">
<!--[if lte IE 6.5]><iframe></iframe><![endif]-->
</div>
<!--googleoff: all--><noscript>
	<style type="text/css" media="screen">
        #xg { position:relative;top:120px; }
        #xn_bar { top:120px; }
	</style>
	<div class="errordesc noscript">
		<div>
            <h3><strong>Hello, you need to enable JavaScript to use Personal Mechatronics Lab.</strong></h3>
            <p>Please check your browser settings or contact your system administrator.</p>
			<img src="/xn_resources/widgets/index/gfx/jstrk_off.gif" alt="" height="1" width="1" />
		</div>
	</div>
</noscript><!--googleon: all-->
<script type="text/javascript" src="https://static.ning.com/socialnetworkmain/widgets/lib/core.min.js?xn_version=1651386455"></script>        <script>
            var sources = ["https:\/\/static.ning.com\/socialnetworkmain\/widgets\/lib\/js\/jquery\/jquery-ui.min.js?xn_version=2186421962","https:\/\/static.ning.com\/socialnetworkmain\/widgets\/lib\/js\/modernizr\/modernizr.custom.js?xn_version=202609161410","https:\/\/static.ning.com\/socialnetworkmain\/widgets\/lib\/js\/jquery\/jstorage.min.js?xn_version=1968060033","https:\/\/static.ning.com\/socialnetworkmain\/widgets\/lib\/js\/jquery\/jquery.autoResize.js?xn_version=202609161410","https:\/\/static.ning.com\/socialnetworkmain\/widgets\/lib\/js\/jquery\/jquery.jsonp.min.js?xn_version=1071124156","https:\/\/static.ning.com\/socialnetworkmain\/widgets\/lib\/js\/Base64.js?xn_version=202609161410","https:\/\/static.ning.com\/socialnetworkmain\/widgets\/lib\/js\/jquery\/jquery.ui.widget.js?xn_version=202609161410","https:\/\/static.ning.com\/socialnetworkmain\/widgets\/lib\/js\/jquery\/jquery.iframe-transport.js?xn_version=202609161410","https:\/\/static.ning.com\/socialnetworkmain\/widgets\/lib\/js\/jquery\/jquery.fileupload.js?xn_version=202609161410","https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/31189210482?profile=original&r=1786935478","https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/12882182278?profile=original&r=1724772911","https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/11108787900?profile=original&r=1785122117","https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/31189211863?profile=original&r=1786935721","https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/31267160093?profile=original&r=1789568844"];
            var numSources = sources.length;
                        var heads = document.getElementsByTagName('head');
            var node = heads.length > 0 ? heads[0] : document.body;
            var onloadFunctionsObj = {};

            var createScriptTagFunc = function(source) {
                var script = document.createElement('script');
                
                script.type = 'text/javascript';
                                var currentOnLoad = function() {xg._loader.onLoad(source);};
                if (script.readyState) { //for IE (including IE9)
                    script.onreadystatechange = function() {
                        if (script.readyState == 'complete' || script.readyState == 'loaded') {
                            script.onreadystatechange = null;
                            currentOnLoad();
                        }
                    }
                } else {
                   script.onerror = script.onload = currentOnLoad;
                }

                script.src = source;
                node.appendChild(script);
            };

            for (var i = 0; i < numSources; i++) {
                                xg._loader.loading(sources[i]);
                createScriptTagFunc(sources[i]);
            }
        </script>
    <script type="text/javascript">
if (!ning._) {ning._ = {}}
ning._.compat = { encryptedToken: "<empty>" }
ning._.CurrentServerTime = "2026-09-20T19:55:59+00:00";
ning._.probableScreenName = "";
ning._.domains = {
    base: 'ning.com',
    ports: { http: '80', ssl: '443' }
};
ning.loader.version = '202609161410'; // DEP-260916_1:c427060 33
djConfig.parseWidgets = false;
</script>
    <script type="text/javascript">
        xg.token = '';
xg.canTweet = false;
xg.cdnHost = 'static.ning.com';
xg.version = '202609161410';
xg.useMultiCdn = true;
xg.staticRoot = 'socialnetworkmain';
xg.xnTrackHost = "coll.ning.com";
    xg.cdnDefaultPolicyHost = 'static';
    xg.cdnPolicy = [];
xg.global = xg.global || {};
xg.global.currentMozzle = 'photo';
xg.global.userCanInvite = false;
xg.global.requestBase = '';
xg.global.locale = 'en_US';
xg.num_thousand_sep = ",";
xg.num_decimal_sep = ".";
(function() {
    dojo.addOnLoad(function() {
        if(window.bzplcm) { window.bzplcm.ts('hr'); window.bzplcm._profileSend(); }
            });
            ning.loader.require('xg.video.index._shared', 'xg.video.video.ShowEmbedToggle', function() { xg._loader.onLoad('xnloader'); });
    })();    </script>
    <div class="xg_chat chatFooter signedOut" >
        <div id="userListContainer" class="xg_verticalPane xg_userWidth">
            <div class="xg_chatBar xg_bottomBar xg_userBar">
                <a class="xg_info xg_info_full" href="/main/authorization/signIn?chat=true">Sign in to chat!</a>            </div>
        </div>
    </div>
<script>
    document.addEventListener("DOMContentLoaded", function () {
        if (!dataLayer) {
            return;
        }
        var handler = function (event) {
            var element = event.currentTarget;
            if (element.hasAttribute('data-track-disable')) {
                return;
            }
            var options = JSON.parse(element.getAttribute('data-track'));
            dataLayer.push({
                'event'         : 'trackEvent',
                'eventType'     : 'googleAnalyticsNetwork',
                'eventCategory' : options && options.category || '',
                'eventAction'   : options && options.action || '',
                'eventLabel'    : options && options.label || '',
                'eventValue'    : options && options.value || ''
            });
            if (options && options.ga4) {
                dataLayer.push(options.ga4);
            }
        };
        var elements = document.querySelectorAll('[data-track]');
        for (var i = 0; i < elements.length; i++) {
            elements[i].addEventListener('click', handler);
        }
    });
</script>


    </body>
</html>