<!DOCTYPE html>
<html>

  <head>
    <title>UI5 Print Demo</title>
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta charset="UTF-8" />
    <script type="text/javascript" 
      id="sap-ui-bootstrap" 
      src="https://openui5.hana.ondemand.com/resources/sap-ui-core.js" 
      data-sap-ui-theme="sap_bluecrystal" 
      data-sap-ui-libs="sap.m" 
      data-sap-ui-compatVersion="edge"
      data-sap-ui-preload="async"
      data-sap-ui-resourceroots='{ "ui" : "./ui" }'
      data-sap-ui-rootcomponent="ui" 
      data-sap-ui-xx-rootcomponentnode="root">
    </script>
  </head>

  <body class="sapUiBody" id="root" role="application"></body>
</html>
/* Styles go here */

/* PRINT STYLES */
@media print { 
    /* usage of !important hard overwrites, because UI5 uses inline style directives (style="width:990px")  */
    
    /* define print page default settings */
    @page {
        size: portrait;
        margin: 1.5cm 1cm;
    }
    
    /* scale content to fit print page */
    html, body {
        width: 100% !important;
        height: auto !important;
    }
    
    /* reset body */
    body {
        margin: 0;
        padding: 0;
        float: none; 
        color: #000;
    }
    
    /* helper class to allow selective hiding elements from printing (ex print button)  */
    .uoNoPrint {
        display: none;
    }    
    
    /* fix overflow scrolling */
    * {
        overflow-x: visible !important; 
        overflow-y: visible !important;
    }
    
    /* auto expand collapsed panel contents */
    .sapMPanelExpandablePart {
        display: block !important;
    }
    
    /* disable panel content border */
    .sapMPanelContent {
        border: 0 !important;
    }
    
    /* reset flexed textareas height */ 
    .sapMTextArea>.sapMTextAreaInner {
        height: auto !important;
    }
    
    /* custom css prototypes for addtional used containers */
}
# Demo

Hello World App
jQuery.sap.declare("ui.Component");

sap.ui.core.UIComponent.extend("ui.Component", {
	
	metadata : {
		rootView : "ui.App",
		name : "Section Print",
    version : "1.0",
		includes : [
      "../style.css"
		],
    dependencies : {
        libs : ["sap.m"]
    }
	}

});
<mvc:View controllerName="ui.App" displayBlock="true"
  xmlns="sap.m"
  xmlns:data="http://schemas.sap.com/sapui5/extension/sap.ui.core.CustomData/1"
  xmlns:mvc="sap.ui.core.mvc">
  <App>
    <Page 
      id="page" 
      title="UI5 Print Demo"
      class="sapUiContentPadding">
      <Panel
        headerText="Panel (FlexBox SpaceBetween)"
        expandable="true"
        expanded="false">
        <HBox justifyContent="SpaceBetween">
          <Text text="Flex Item 1" />
          <Text text="Flex Item 2" />  
        </HBox>
      </Panel>
      <List headerText="List" >
        <GroupHeaderListItem
          title="Group Header List Item" />
        <StandardListItem 
          title="List item 1" 
          description="Description 1"
          icon="http://4.bp.blogspot.com/-y_GiBxFhXL0/VDJHvXxuF7I/AAAAAAAAA0g/GVlktggj364/s1600/OpenUI5%2BDeveloper%2BBlog%2BHeader.png"
          iconDensityAware="false" />
      </List>
      <Table id="table">
        <headerToolbar>
          <Toolbar>
            <Text text="Responsive Table" />
          </Toolbar>
        </headerToolbar>
        <columns>
          <Column
            width="12em">
            <Text text="Title" />
          </Column>
          <Column>
            <Text text="Description" />
          </Column>
        </columns>
        <items>
          <ColumnListItem>
            <Text text="Cell 1,1" />
            <Text text="Cell 1,2" />
          </ColumnListItem>
        </items>
      </Table>      
      <footer>
        <Toolbar>
          <ToolbarSpacer />
          <Button
            press="onPrint"
            text="Print"
            icon="sap-icon://print"
            type="Emphasized" />
          <Button
            press="onPrint"
            text="Print Table"
            data:targetId="table"
            icon="sap-icon://print"/>
        </Toolbar>
      </footer>
    </Page>
  </App>
</mvc:View>
(function() {
	'use strict';

  sap.ui.controller("ui.App", {
    
    onPrint : function(oEvent) {
        var oTarget = this.getView(),
            sTargetId = oEvent.getSource().data("targetId");
            
        if (sTargetId) {
            oTarget = oTarget.byId(sTargetId);
        }
        
        if (oTarget) {
            var $domTarget = oTarget.$()[0],
                sTargetContent = $domTarget.innerHTML,
                sOriginalContent = document.body.innerHTML;
                
            document.body.innerHTML = sTargetContent;
            window.print();
            document.body.innerHTML = sOriginalContent;
        } else {
            jQuery.sap.log.error("onPrint needs a valid target container [view|data:targetId=\"SID\"]");
        }
    }
    
  });
  
})();