public void setActiveMasterPage( String masterPageName ) { IMasterPage masterPage = getMasterPage( masterPageName ); if ( masterPage != null ) { setActiveMasterPage( masterPage ); } }
public void setMasterPage( IMasterPage masterPage ) { IMasterPageHeaderFooter header = masterPage.getHeader(); IMasterPageHeaderFooter footer = masterPage.getFooter(); float marginLeft = document.getOriginMarginLeft(); float marginRight = document.getOriginMarginRight(); float marginTop = document.getOriginMarginTop(); if ( header != null ) { marginTop = adjustMargin(marginTop, header); } float marginBottom = document.getOriginMarginBottom(); if ( footer != null ) { marginBottom = adjustMargin(marginBottom, footer); } document.setMargins( marginLeft, marginRight, marginTop, marginBottom ); this.masterPage = masterPage; }
super.setPageSize( pageSize ); super.setMargins( originMarginLeft, originMarginRight, originMarginTop, originMarginBottom ); if ( orientation != null ) super.setOrientation( orientation );
public void addElement( Element element ) { try { add( element ); } catch ( DocumentException e ) { e.printStackTrace(); } }
@Override public void setActiveMasterPage(MasterPage masterPage) { Style style = getStyleMasterPage((StylableMasterPage) masterPage); if (style != null) { this.applyStyles(style); } super.setActiveMasterPage(masterPage); }
private void applySectPr( CTSectPr sectPr ) { // Set page size CTPageSz pageSize = sectPr.getPgSz(); Rectangle pdfPageSize = new Rectangle( dxa2points( pageSize.getW() ), dxa2points( pageSize.getH() ) ); super.setPageSize( pdfPageSize ); // Orientation PageOrientation orientation = XWPFUtils.getPageOrientation( pageSize.getOrient() ); if ( orientation != null ) { switch ( orientation ) { case Landscape: super.setOrientation( fr.opensagres.xdocreport.itext.extension.PageOrientation.Landscape ); break; case Portrait: super.setOrientation( fr.opensagres.xdocreport.itext.extension.PageOrientation.Portrait ); break; } } // Set page margin CTPageMar pageMar = sectPr.getPgMar(); if ( pageMar != null ) { super.setOriginalMargins( dxa2points( pageMar.getLeft() ), dxa2points( pageMar.getRight() ), dxa2points( pageMar.getTop() ), dxa2points( pageMar.getBottom() ) ); } }
if ( width != null && height != null ) super.setPageSize( new Rectangle( width, height ) ); super.setMargins( originMarginLeft, originMarginRight, originMarginTop, originMarginBottom );
protected float getHeaderY( IMasterPageHeaderFooter header ) { return document.getPageSize().getHeight() - document.getOriginMarginTop(); }
masterPage = document.getDefaultMasterPage(); float x = document.getOriginMarginLeft(); float y = getHeaderY( header ); float x = document.getOriginMarginLeft(); float y = getFooterY( footer );
@Override public StylableMasterPage getMasterPage( String masterPageName ) { return (StylableMasterPage) super.getMasterPage( masterPageName ); }
@Override protected float getHeaderY( IMasterPageHeaderFooter header ) { Float headerY = ( (StylableHeaderFooter) header ).getY(); if ( headerY != null ) { return document.getPageSize().getHeight() - headerY; } return super.getHeaderY( header ); }
@Override public StylableMasterPage getDefaultMasterPage() { return (StylableMasterPage) super.getDefaultMasterPage(); }
super.setPageSize( pageSize ); super.setMargins( originMarginLeft, originMarginRight, originMarginTop, originMarginBottom ); if ( orientation != null ) super.setOrientation( orientation );
public void addElement( Element element ) { try { add( element ); } catch ( DocumentException e ) { e.printStackTrace(); } }
private Style setNextActiveMasterPageIfNecessary() { // called on page break // return new page style if changed if ( activeMasterPage != null ) { String nextMasterPageStyleName = activeMasterPage.getNextStyleName(); if ( nextMasterPageStyleName != null && nextMasterPageStyleName.length() > 0 ) { StylableMasterPage nextMasterPage = getMasterPage( nextMasterPageStyleName ); if ( nextMasterPage != null ) { // activate next master page Style style = getStyleMasterPage( nextMasterPage ); if ( style != null ) { // step 1 - apply styles like page dimensions and orientation this.applyStyles( style ); } // step 2 - set header/footer if any, it needs page dimensions from step 1 super.setActiveMasterPage( nextMasterPage ); // activeMasterPage = nextMasterPage; return style; } } } return null; }
private void applySectPr( CTSectPr sectPr ) { // Set page size CTPageSz pageSize = sectPr.getPgSz(); Rectangle pdfPageSize = new Rectangle( dxa2points( pageSize.getW() ), dxa2points( pageSize.getH() ) ); super.setPageSize( pdfPageSize ); // Orientation PageOrientation orientation = XWPFUtils.getPageOrientation( pageSize.getOrient() ); if ( orientation != null ) { switch ( orientation ) { case Landscape: super.setOrientation( fr.opensagres.xdocreport.itext.extension.PageOrientation.Landscape ); break; case Portrait: super.setOrientation( fr.opensagres.xdocreport.itext.extension.PageOrientation.Portrait ); break; } } // Set page margin CTPageMar pageMar = sectPr.getPgMar(); if ( pageMar != null ) { super.setOriginalMargins( dxa2points( pageMar.getLeft() ), dxa2points( pageMar.getRight() ), dxa2points( pageMar.getTop() ), dxa2points( pageMar.getBottom() ) ); } }
protected float getHeaderY( IMasterPageHeaderFooter header ) { return document.getPageSize().getHeight() - document.getOriginMarginTop(); }