java.lang.Object
com.aspose.words.PageLayoutCallbackArgs
public class PageLayoutCallbackArgs
To learn more, visit the Converting to Fixed-page Format documentation article. Example:
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;
}
| Property Getters/Setters Summary | ||
|---|---|---|
Document | getDocument() | |
| Gets document. | ||
int | getEvent() | |
| Gets event. The value of the property is PageLayoutEvent integer constant. | ||
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. | ||
| Property Getters/Setters Detail |
|---|
getDocument | |
public Document getDocument() | |
Example:
Shows how to track layout changes with a layout callback.
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() | |
Example:
Shows how to track layout changes with a layout callback.
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() | |
Example:
Shows how to track layout changes with a layout callback.
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;
}