com.aspose.words

Class PageLayoutCallbackArgs

  • java.lang.Object
    • com.aspose.words.PageLayoutCallbackArgs
public class PageLayoutCallbackArgs 
extends java.lang.Object

Property Getters/Setters Summary
DocumentgetDocument()
Gets document.
intgetEvent()
Gets event. The value of the property is PageLayoutEvent integer constant.
intgetPageIndex()
Gets 0-based index of the page in the document this event relates to. Returns negative value if there is no associated page, or if page was removed during reflow.
 

    • Property Getters/Setters Detail

      • getDocument

        public Document getDocument()
        
        Gets document.

        Example:

        Shows how to track layout changes with a layout callback.
        @Test
        public void pageLayoutCallback() throws Exception {
            Document doc = new Document();
            doc.getBuiltInDocumentProperties().setTitle("My Document");
        
            DocumentBuilder builder = new DocumentBuilder(doc);
            builder.writeln("Hello world!");
        
            doc.getLayoutOptions().setCallback(new RenderPageLayoutCallback());
            doc.updatePageLayout();
        
            doc.save(getArtifactsDir() + "Layout.PageLayoutCallback.pdf");
        }
        
        /// <summary>
        /// Notifies us when we save the document to a fixed page format
        /// and renders a page that we perform a page reflow on to an image in the local file system.
        /// </summary>
        private static class RenderPageLayoutCallback implements IPageLayoutCallback {
            public void notify(PageLayoutCallbackArgs a) throws Exception {
                switch (a.getEvent()) {
                    case PageLayoutEvent.PART_REFLOW_FINISHED:
                        notifyPartFinished(a);
                        break;
                    case PageLayoutEvent.CONVERSION_FINISHED:
                        notifyConversionFinished(a);
                        break;
                }
            }
        
            private void notifyPartFinished(PageLayoutCallbackArgs a) throws Exception {
                System.out.println(MessageFormat.format("Part at page {0} reflow.", a.getPageIndex() + 1));
                renderPage(a, a.getPageIndex());
            }
        
            private void notifyConversionFinished(PageLayoutCallbackArgs a) {
                System.out.println(MessageFormat.format("Document \"{0}\" converted to page format.", a.getDocument().getBuiltInDocumentProperties().getTitle()));
            }
        
            private void renderPage(PageLayoutCallbackArgs a, int pageIndex) throws Exception {
                ImageSaveOptions saveOptions = new ImageSaveOptions(SaveFormat.PNG);
                {
                    saveOptions.setPageSet(new PageSet(pageIndex));
                }
        
                try (FileOutputStream stream = new FileOutputStream(getArtifactsDir() + MessageFormat.format("PageLayoutCallback.page-{0} {1}.png", pageIndex + 1, ++mNum))) {
                    a.getDocument().save(stream, saveOptions);
                }
            }
        
            private int mNum;
        }
      • getEvent

        public int getEvent()
        
        Gets event. The value of the property is PageLayoutEvent integer constant.

        Example:

        Shows how to track layout changes with a layout callback.
        @Test
        public void pageLayoutCallback() throws Exception {
            Document doc = new Document();
            doc.getBuiltInDocumentProperties().setTitle("My Document");
        
            DocumentBuilder builder = new DocumentBuilder(doc);
            builder.writeln("Hello world!");
        
            doc.getLayoutOptions().setCallback(new RenderPageLayoutCallback());
            doc.updatePageLayout();
        
            doc.save(getArtifactsDir() + "Layout.PageLayoutCallback.pdf");
        }
        
        /// <summary>
        /// Notifies us when we save the document to a fixed page format
        /// and renders a page that we perform a page reflow on to an image in the local file system.
        /// </summary>
        private static class RenderPageLayoutCallback implements IPageLayoutCallback {
            public void notify(PageLayoutCallbackArgs a) throws Exception {
                switch (a.getEvent()) {
                    case PageLayoutEvent.PART_REFLOW_FINISHED:
                        notifyPartFinished(a);
                        break;
                    case PageLayoutEvent.CONVERSION_FINISHED:
                        notifyConversionFinished(a);
                        break;
                }
            }
        
            private void notifyPartFinished(PageLayoutCallbackArgs a) throws Exception {
                System.out.println(MessageFormat.format("Part at page {0} reflow.", a.getPageIndex() + 1));
                renderPage(a, a.getPageIndex());
            }
        
            private void notifyConversionFinished(PageLayoutCallbackArgs a) {
                System.out.println(MessageFormat.format("Document \"{0}\" converted to page format.", a.getDocument().getBuiltInDocumentProperties().getTitle()));
            }
        
            private void renderPage(PageLayoutCallbackArgs a, int pageIndex) throws Exception {
                ImageSaveOptions saveOptions = new ImageSaveOptions(SaveFormat.PNG);
                {
                    saveOptions.setPageSet(new PageSet(pageIndex));
                }
        
                try (FileOutputStream stream = new FileOutputStream(getArtifactsDir() + MessageFormat.format("PageLayoutCallback.page-{0} {1}.png", pageIndex + 1, ++mNum))) {
                    a.getDocument().save(stream, saveOptions);
                }
            }
        
            private int mNum;
        }
      • getPageIndex

        public int getPageIndex()
        
        Gets 0-based index of the page in the document this event relates to. Returns negative value if there is no associated page, or if page was removed during reflow.

        Example:

        Shows how to track layout changes with a layout callback.
        @Test
        public void pageLayoutCallback() throws Exception {
            Document doc = new Document();
            doc.getBuiltInDocumentProperties().setTitle("My Document");
        
            DocumentBuilder builder = new DocumentBuilder(doc);
            builder.writeln("Hello world!");
        
            doc.getLayoutOptions().setCallback(new RenderPageLayoutCallback());
            doc.updatePageLayout();
        
            doc.save(getArtifactsDir() + "Layout.PageLayoutCallback.pdf");
        }
        
        /// <summary>
        /// Notifies us when we save the document to a fixed page format
        /// and renders a page that we perform a page reflow on to an image in the local file system.
        /// </summary>
        private static class RenderPageLayoutCallback implements IPageLayoutCallback {
            public void notify(PageLayoutCallbackArgs a) throws Exception {
                switch (a.getEvent()) {
                    case PageLayoutEvent.PART_REFLOW_FINISHED:
                        notifyPartFinished(a);
                        break;
                    case PageLayoutEvent.CONVERSION_FINISHED:
                        notifyConversionFinished(a);
                        break;
                }
            }
        
            private void notifyPartFinished(PageLayoutCallbackArgs a) throws Exception {
                System.out.println(MessageFormat.format("Part at page {0} reflow.", a.getPageIndex() + 1));
                renderPage(a, a.getPageIndex());
            }
        
            private void notifyConversionFinished(PageLayoutCallbackArgs a) {
                System.out.println(MessageFormat.format("Document \"{0}\" converted to page format.", a.getDocument().getBuiltInDocumentProperties().getTitle()));
            }
        
            private void renderPage(PageLayoutCallbackArgs a, int pageIndex) throws Exception {
                ImageSaveOptions saveOptions = new ImageSaveOptions(SaveFormat.PNG);
                {
                    saveOptions.setPageSet(new PageSet(pageIndex));
                }
        
                try (FileOutputStream stream = new FileOutputStream(getArtifactsDir() + MessageFormat.format("PageLayoutCallback.page-{0} {1}.png", pageIndex + 1, ++mNum))) {
                    a.getDocument().save(stream, saveOptions);
                }
            }
        
            private int mNum;
        }