com.aspose.words
Interface IPageSavingCallback


public interface IPageSavingCallback 

Implement this interface if you want to control how Aspose.Words saves separate pages when saving a document to fixed page formats.

Example:

Shows how to use a callback to save a document to HTML page by page.
public void pageFileNames() throws Exception
{
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    builder.writeln("Page 1.");
    builder.insertBreak(BreakType.PAGE_BREAK);
    builder.writeln("Page 2.");
    builder.insertImage(getImageDir() + "Logo.jpg");
    builder.insertBreak(BreakType.PAGE_BREAK);
    builder.writeln("Page 3.");

    // Create an "HtmlFixedSaveOptions" object, which we can pass to the document's "Save" method
    // to modify how we convert the document to HTML.
    HtmlFixedSaveOptions htmlFixedSaveOptions = new HtmlFixedSaveOptions();

    // We will save each page in this document to a separate HTML file in the local file system.
    // Set a callback that allows us to name each output HTML document.
    htmlFixedSaveOptions.setPageSavingCallback(new CustomFileNamePageSavingCallback());

    doc.save(getArtifactsDir() + "SavingCallback.PageFileNames.html", htmlFixedSaveOptions);
}

/// <summary>
/// Saves all pages to a file and directory specified within.
/// </summary>
private static class CustomFileNamePageSavingCallback implements IPageSavingCallback
{
    public void pageSaving(PageSavingArgs args) throws Exception
    {
        String outFileName = MessageFormat.format("{0}SavingCallback.PageFileNames.Page_{1}.html", getArtifactsDir(), args.getPageIndex());

        // Below are two ways of specifying where Aspose.Words will save each page of the document.
        // 1 -  Set a filename for the output page file:
        args.setPageFileName(outFileName);

        // 2 -  Create a custom stream for the output page file:
        args.setPageStream(new FileOutputStream(outFileName));

        Assert.assertFalse(args.getKeepPageStreamOpen());
    }
}

Method Summary
abstract voidpageSaving(PageSavingArgs args)
           Called when Aspose.Words saves a separate page to fixed page formats.
 

Method Detail

pageSaving

public abstract void pageSaving(PageSavingArgs args)
                             throws java.lang.Exception
Called when Aspose.Words saves a separate page to fixed page formats.

Example:

Shows how to use a callback to save a document to HTML page by page.
public void pageFileNames() throws Exception
{
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    builder.writeln("Page 1.");
    builder.insertBreak(BreakType.PAGE_BREAK);
    builder.writeln("Page 2.");
    builder.insertImage(getImageDir() + "Logo.jpg");
    builder.insertBreak(BreakType.PAGE_BREAK);
    builder.writeln("Page 3.");

    // Create an "HtmlFixedSaveOptions" object, which we can pass to the document's "Save" method
    // to modify how we convert the document to HTML.
    HtmlFixedSaveOptions htmlFixedSaveOptions = new HtmlFixedSaveOptions();

    // We will save each page in this document to a separate HTML file in the local file system.
    // Set a callback that allows us to name each output HTML document.
    htmlFixedSaveOptions.setPageSavingCallback(new CustomFileNamePageSavingCallback());

    doc.save(getArtifactsDir() + "SavingCallback.PageFileNames.html", htmlFixedSaveOptions);
}

/// <summary>
/// Saves all pages to a file and directory specified within.
/// </summary>
private static class CustomFileNamePageSavingCallback implements IPageSavingCallback
{
    public void pageSaving(PageSavingArgs args) throws Exception
    {
        String outFileName = MessageFormat.format("{0}SavingCallback.PageFileNames.Page_{1}.html", getArtifactsDir(), args.getPageIndex());

        // Below are two ways of specifying where Aspose.Words will save each page of the document.
        // 1 -  Set a filename for the output page file:
        args.setPageFileName(outFileName);

        // 2 -  Create a custom stream for the output page file:
        args.setPageStream(new FileOutputStream(outFileName));

        Assert.assertFalse(args.getKeepPageStreamOpen());
    }
}

See Also:
          Aspose.Words Documentation - the home page for the Aspose.Words Product Documentation.
          Aspose.Words Support Forum - our preferred method of support.