Package com.inductiveautomation.rm.shape
Class RMDocument
- java.lang.Object
-
- com.inductiveautomation.rm.base.RMListenerList
-
- com.inductiveautomation.rm.base.RMObject
-
- com.inductiveautomation.rm.shape.RMShape
-
- com.inductiveautomation.rm.shape.RMParentShape
-
- com.inductiveautomation.rm.shape.RMDocument
-
- All Implemented Interfaces:
Archivable
,DeepChangeListener
,RMPropertyChanger
,RMTypes
,java.beans.PropertyChangeListener
,java.lang.Cloneable
,java.util.EventListener
public class RMDocument extends RMParentShape
The RMDocument class represents a ReportMill document and is also an RMShape subclass, so it can be a real part of the document/shape hierarchy. RMDocuments are also what ReportMill refers to as templates, and is commonly used like this:RMDocument template = new RMDocument(aSource); // Load from path String, File, byte array, etc. RMDocument report = template.generateReport(aDataset); // Any Java dataset: EJBs, custom classes, collctns, etc. report.writePDF("MyReport.pdf");
On rare occasions, you may also want to create a document dynamically. Here's an example:
RMDocument doc = new RMDocument(612, 792); // Standard US Letter size (8.5" x 11"), in points RMTable table = new RMTable(); // Create new table ... doc.getPage(0).addChild(table); // ... and add to first page table.setBounds(36, 36, 540, 680); // Position and size table table.getRow("Objects Details").getColumn(0).setText("Title: @getTitle@"); // Configure first text
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
RMDocument.BytesFormat
static class
RMDocument.PageLayout
static class
RMDocument.Unit
-
Nested classes/interfaces inherited from interface com.inductiveautomation.rm.base.RMTypes
RMTypes.Align, RMTypes.AlignX, RMTypes.AlignY
-
-
Field Summary
Fields Modifier and Type Field Description static java.util.Locale
_locale
static java.lang.String
DEFAULT_NULL_STR
-
Fields inherited from class com.inductiveautomation.rm.shape.RMShape
BINDING_PROP_NAME, STROKE_BORDER, STROKE_DOUBLE, STROKE_HIDDEN, STROKE_SHAPE
-
-
Constructor Summary
Constructors Constructor Description RMDocument()
Creates a plain empty document.RMDocument(double aWidth, double aHeight)
Creates a document with the given width and height (in printer points).RMDocument(java.lang.Object aSource)
Creates a new document from the given source.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description boolean
acceptsChildren()
Editor method indicates that document accepts children (should probably be false).void
addChild(RMShape aChild, int anIndex)
Override to make sure document has size.RMPage
addPage()
Adds a new page to this document.void
addPage(RMPage aPage)
Adds a given page to this document.void
addPage(RMPage aPage, int anIndex)
Adds a given page to this document at the given index.void
addPages(RMDocument aDoc)
Add the pages in the given document to this document (at end) and clears the pages list in the given document.boolean
childrenSuperSelectImmediately()
Editor method indicates that pages super select immediately.RMDocument
clone()
Copies basic document attributes (shallow copy only - no children or pages).protected double
computePrefHeight(double aWidth)
Override to return height * PageCount (plus spacing) for Continuous, height * PageCount/2 for ContinuousDouble, and height * 2 for Quadruple.protected double
computePrefWidth(double aHeight)
Override to return double page width for PageLayout.Double, Facing, & Quadruple.RMPage
createPage()
Creates a new page.protected void
fromXMLShape(RXArchiver anArchiver, RXElement anElement)
XML unarchival.RMDocument
generateReport()
Returns a generated report from this template evaluated against the given object.RMDocument
generateReport(java.lang.Object theObjects)
Returns a generated report from this template evaluated against the given object.RMDocument
generateReport(java.lang.Object objects, boolean paginate)
Returns a generated report from this template evaluated against the given object with an option to paginate.RMDocument
generateReport(java.lang.Object objects, java.lang.Object userInfo)
Returns a generated report from this template evaluated against the given object and userInfo.RMDocument
generateReport(java.lang.Object theObjects, java.lang.Object theUserInfo, boolean aPaginateFlag)
Returns generated report from this template evaluated against given object/userInfo (with option to paginate).byte[]
getAllPagesBytesJPEG()
Returns a single jpeg that includes all pages and is (pageCount * pageHeight) tallbyte[]
getAllPagesBytesPNG()
Returns a single png that includes all pages and is (pageCount * pageHeight) tallRMAnimator
getAnimator(int anIndex)
Returns the animator for a specific page.RMAnimator
getAnimatorLast()
Returns the animator for the last page.java.lang.String
getAutosizingDefault()
Returns the autosizing default.byte[]
getBytes()
Returns the document as an XML byte array.byte[]
getBytesCSV()
Returns the document as a byte array of a CSV file.byte[]
getBytesDelimitedAscii(java.lang.String fieldDelimiter, java.lang.String recordDelimiter, boolean quoteFields)
Returns the document as a byte array of a delimited ASCII file (using given field, record separator strings).byte[]
getBytesExcel()
Deprecated.usegetBytesXlsx()
byte[]
getBytesHTML()
Returns the document as a byte array of an HTML file.byte[]
getBytesJPEG()
Returns the document as byte array of a JPEG file.byte[]
getBytesPDF()
Returns the document as a byte array of a PDF file.byte[]
getBytesPNG()
Returns the document as byte array of PNG file.byte[]
getBytesRTF()
Returns the document as byte array of an Excel file.byte[]
getBytesXlsx()
Returns the document as byte array of an Excel XLSX file.boolean
getCompress()
Returns whether the document should compress images in generated file formats like PDF.Entity
getDatasetEntity()
Returns the entity this shape should show in keys browser.RMDataSource
getDataSource()
Returns the RMDataSource associated with this document.Schema
getDataSourceSchema()
Returns the schema for the RMDataSource associated with this document (convenience).static RMDocument
getDoc(java.lang.Object aSource)
Creates a new document from aSource using RMArchiver.RMDocument
getDocument()
Returns the document itself (over-ridden from RMShape).java.lang.String
getFilename()
Returns the filename associated with this document, if available.RMFont
getFont()
Returns the document's default font.double
getGridSpacing()
Returns the grid spacing for the document's grid.boolean
getLoops()
Returns whether the last animator loops.double
getMarginBottom()
Returns the margin rects bottom value.double
getMarginLeft()
Returns the margin rects left value.RMRect
getMarginRect()
Returns the margin rect for this document.RMRect
getMarginRectDefault()
Returns the default margin rect.double
getMarginRight()
Returns the margin rects right value.double
getMarginTop()
Returns the margin rects top value.float
getMaxTime()
Returns the total time needed to animate this document (total of all page animators).java.lang.String
getNullString()
Returns the string used to replace any occurrances of null values in a generated report.RMPage
getPage(int anIndex)
Returns the page at the given index.int
getPageCount()
Returns the number of pages in this document.RMPage
getPageLast()
Returns the last page (convenience).RMDocument.PageLayout
getPageLayout()
Returns the page layout for the document.java.util.List<RMPage>
getPages()
Returns the list of pages associated with this document.RMSize
getPageSize()
Returns the size of a document page.RMSize
getPageSizeDefault()
Returns the default page size.double
getPointsFromUnits(double aValue)
Converts given value from document units to printer points (1/72 of an inch).java.lang.String
getPublishUrl()
Returns the URL this document should be uploaded to.int
getSelectedIndex()
Returns the current page index of this document.RMPage
getSelectedPage()
Returns the currently selected page of this document.boolean
getShowGrid()
Returns whether the document should show an alignment grid.boolean
getShowMargin()
Returns whether the document should show a margin rect.boolean
getSnapGrid()
Returns whether the document should snap to an alignment grid.boolean
getSnapMargin()
Returns whether the document should snap to a margin rect.java.lang.String
getStringCSV()
Returns the document as a string of a CSV file.java.lang.String
getStringDelimitedText(java.lang.String fieldDelimiter, java.lang.String recordDelimiter, boolean quoteFields)
Returns the document as a string of a delimited text file.RMDocument
getSubreport(java.lang.String aName)
Returns a subreport document for given name (override to improve).RMDocument.Unit
getUnit()
Returns the units used to express sizes in the current document (POINTS, INCHES, CENTIMETERS).double
getUnitsFromPoints(double aValue)
Converts given value to document units from printer points (1/72 of an inch).float
getUnitsMultiplier()
Returns the multiplier used to convert printer points to document units.float
getVersion()
Returns the version this document was loaded as.boolean
isDeletable()
Override this for shapes (like a table row) that don't don't make sense to delete by themselves.boolean
isPaginate()
Returns whether the document should paginate generated reports by default.protected void
layoutChildren()
Rebuilds the document according to the selected page and page layout.void
paintShape(RMShapePainter aPntr)
Overrides paint shape, because document should never really paint itself.byte[]
pdfBytes()
Obsolete method for old pdfBytes() method.RMPage
removePage(int anIndex)
Removes a page from this document.int
removePage(RMPage aPage)
Removes the given page.void
resolvePageReferences()
Performs page substitutions on any text fields that were identified as containing @Page@ keys.protected RMShape
rpgChildren(ReportOwner anRptOwner, RMParentShape aParent)
Override to handle ShapeLists special.void
setCompress(boolean aValue)
Sets whether the document should compress images in generated file formats like PDF.void
setDataSource(RMDataSource aDataSource)
Sets the RMDataSource associated with this document.void
setFont(RMFont aFont)
Sets the document default font.void
setGridSpacing(double aValue)
Sets the grid spacing for the document's grid.void
setMarginRect(RMRect aRect)
Sets the margin rect for this document.void
setMargins(double left, double right, double top, double bottom)
Sets the margin rect for this document.void
setNullString(java.lang.String aValue)
Sets the string used to replace any occurrances of null values in a generated report.void
setPageLayout(RMDocument.PageLayout aValue)
Sets the page layout for the document.void
setPageLayout(java.lang.String aValue)
Set page layout from string.void
setPageSize(double aWidth, double aHeight)
Sets the size of the document (and all of its pages).void
setPaginate(boolean aValue)
Sets whether the document should paginate generated reports by default.void
setPublishUrl(java.lang.String aValue)
Sets the URL this document should be uploaded to.void
setSelectedIndex(int anIndex)
Selects the currently selected page by index.void
setSelectedPage(RMPage aPage)
Selects the given page.void
setShowGrid(boolean aValue)
Sets whether the document should show an alignment grid.void
setShowMargin(boolean aValue)
Sets whether the document should show a margin rect.void
setSnapGrid(boolean aValue)
Sets whether the document should snap to an alignment grid.void
setSnapMargin(boolean aValue)
Sets whether the document should snap to a margin rect.void
setUnit(RMDocument.Unit aValue)
Sets the units used to express sizes in the current document (POINTS, INCHES, CENTIMETERS).void
setUnit(java.lang.String aString)
Sets the units used to express sizes in the current document with one of the strings: point, inch or cm.boolean
superSelectable()
Editor method indicates that document is super selectable.RXElement
toXML()
Returns RXElement for document.protected void
toXMLChildren(RXArchiver anArchiver, RXElement anElement)
XML archival of children.protected RXElement
toXMLShape(RXArchiver anArchiver)
XML archival.void
write(java.io.File aFile)
Writes the document to the given File objectvoid
write(java.lang.String aPath)
Writes the document out to the given path String (it extracts type from path extension).void
writeExcel(java.lang.String path)
Deprecated.void
writePDF(java.lang.String aPath)
Writes the document to the given path String as PDF.void
writeXlsx(java.io.File file)
Writes the document to the given path String as Excel Xlsx format.void
writeXlsx(java.lang.String path)
Writes the document to the given path String as Excel Xlsx format.-
Methods inherited from class com.inductiveautomation.rm.shape.RMParentShape
addChild, addChild, addChild, addLayoutChild, bringShapesToFront, cloneDeep, divideShapeFromTop, fromXML, fromXMLChildren, getBoundsOfChildren, getChild, getChildArray, getChildContaining, getChildCount, getChildLast, getChildren, getChildrenIntersecting, getChildrenWithClass, getChildrenWithClass, getChildWithClass, getChildWithName, getLayout, getNeedsLayout, getSourceURL, indexOfChild, isHittable, isShowing, isSourceURLSet, layout, relayout, removeChild, removeChild, removeChildren, removeLayoutChild, rpgAll, sendShapesToBack, setHeight, setLayout, setNeedsLayout, setSourceURL, setWidth, toXML
-
Methods inherited from class com.inductiveautomation.rm.shape.RMShape
acceptsMouse, addBinding, addBinding, addDeepChangeListener, addMouseListener, animUpdate, bounds, contains, convertedPointFromShape, convertedPointToShape, convertedRectFromShape, convertedRectToShape, convertedVectorFromShape, convertedVectorToShape, convertFromShape, convertPathFromShape, convertPathToShape, convertPointFromShape, convertPointToShape, convertRectFromShape, convertRectToShape, convertToShape, convertVectorFromShape, convertVectorToShape, copyShape, createDivideShapeRemainder, deepChange, divideShapeFromEdge, get, get, getAlignment, getAlignmentX, getAlignmentY, getAncestor, getAncestorCount, getAncestorInCommon, getAnimator, getAnimator, getAutosizing, getBestHeight, getBestHeight, getBestWidth, getBestWidth, getBinding, getBinding, getBindingCount, getBindings, getBounds, getBoundsInside, getBoundsMarked, getBoundsMarkedDeep, getChildAnimator, getChildAnimator, getChildClipShape, getClipShape, getColor, getDashArrayString, getDashPhase, getDatasetKey, getDisplayedFill, getDisplayedStroke, getEffect, getEventAdapter, getFill, getFormat, getFrame, getFrameHeight, getFrameMaxX, getFrameMaxY, getFrameWidth, getFrameX, getFrameXY, getFrameY, getHeight, getHover, getLayoutInfo, getMaskPath, getMaxX, getMaxY, getMinHeight, getMinHeight, getMinWidth, getMinWidth, getName, getOpacity, getOpacityDeep, getOutline, getPageBreak, getPageBreakMax, getPageBreakPage, getPageBreakPageMax, getPageShape, getParent, getParent, getPath, getPathInBounds, getPrefHeight, getPrefHeight, getPrefWidth, getPrefWidth, getPropertyNameMapped, getPropertyNames, getPropertyNames, getRoll, getRootShape, getRSS, getScaleX, getScaleY, getShapesToAncestor, getShapesToDescendant, getShapesToShape, getSize, getSkewX, getSkewY, getStroke, getStrokeColor, getStrokeOnTop, getStrokeStyle, getStrokeWidth, getTextColor, getTimeline, getTimeline, getTransform, getTransformFromShape, getTransformInverse, getTransformToShape, getUndoer, getURL, getVisbileBounds, getVisibleBounds, getVisibleBounds, getVisibleBounds, getWidth, getX, getXY, getXYP, getY, height, indexOf, intersects, isAncestor, isAnimProperty, isDescendant, isEditing, isEnabled, isFontSet, isHittable, isLocked, isMinHeightSet, isMinWidthSet, isPrefHeightSet, isPrefWidthSet, isRoot, isRSS, isShowing, isUnderlined, isUseFill, isUseStroke, isViewing, isVisible, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, offsetXY, page, pageMax, paint, paintShapeAll, paintShapeChildren, paintShapeOver, propertyChange, put, removeBinding, removeBinding, removeDeepChangeListener, removeFromParent, removeMouseListener, repaint, repaint, resolvePageReferences, rpgBindings, rpgShape, setAlignment, setAlignmentX, setAlignmentY, setAutosizing, setBestHeight, setBestSize, setBounds, setBounds, setColor, setDashArrayString, setDashPhase, setEffect, setEnabled, setFill, setFormat, setFrame, setFrame, setFrameSize, setFrameX, setFrameXY, setFrameXY, setFrameY, setHover, setLayoutInfo, setLocked, setMinHeight, setMinSize, setMinWidth, setName, setOpacity, setOutline, setParent, setPrefHeight, setPrefWidth, setRoll, setScaleX, setScaleXY, setScaleY, setShowing, setSize, setSize, setSkewX, setSkewXY, setSkewY, setStroke, setStrokeColor, setStrokeStyle, setStrokeWidth, setTextColor, setTime, setTimeline, setUnderlined, setURL, setUseFill, setUseStroke, setVisible, setX, setXY, setXY, setXYP, setY, shapeHidden, shapeShown, toString, undoerDisable, undoerEnable, undoerSetUndoTitle, width, x, y
-
Methods inherited from class com.inductiveautomation.rm.base.RMObject
addPropertyChangeListener, firePropertyChange, firePropertyChange, firePropertyChange, getPCEvent, removePropertyChangeListener, sendPropertyChange
-
Methods inherited from class com.inductiveautomation.rm.base.RMListenerList
addListener, getListener, getListenerCount, getListenerCount, getListenerList, getListeners, hasListeners, removeListener
-
-
-
-
Field Detail
-
DEFAULT_NULL_STR
public static final java.lang.String DEFAULT_NULL_STR
- See Also:
- Constant Field Values
-
_locale
public static java.util.Locale _locale
-
-
Constructor Detail
-
RMDocument
public RMDocument()
Creates a plain empty document. It's really only used by the archiver.
-
RMDocument
public RMDocument(double aWidth, double aHeight)
Creates a document with the given width and height (in printer points).
-
RMDocument
public RMDocument(java.lang.Object aSource)
Creates a new document from the given source.
-
-
Method Detail
-
getDoc
public static RMDocument getDoc(java.lang.Object aSource)
Creates a new document from aSource using RMArchiver.
-
getFilename
public java.lang.String getFilename()
Returns the filename associated with this document, if available.
-
getFont
public RMFont getFont()
Returns the document's default font.
-
setFont
public void setFont(RMFont aFont)
Sets the document default font.
-
getVersion
public float getVersion()
Returns the version this document was loaded as.
-
getPageCount
public int getPageCount()
Returns the number of pages in this document.
-
getPage
public RMPage getPage(int anIndex)
Returns the page at the given index.
-
getPageLast
public RMPage getPageLast()
Returns the last page (convenience).
-
getPages
public java.util.List<RMPage> getPages()
Returns the list of pages associated with this document.
-
addPage
public RMPage addPage()
Adds a new page to this document.
-
addPage
public void addPage(RMPage aPage)
Adds a given page to this document.
-
addPage
public void addPage(RMPage aPage, int anIndex)
Adds a given page to this document at the given index.
-
removePage
public RMPage removePage(int anIndex)
Removes a page from this document.
-
removePage
public int removePage(RMPage aPage)
Removes the given page.
-
createPage
public RMPage createPage()
Creates a new page.
-
addChild
public void addChild(RMShape aChild, int anIndex)
Override to make sure document has size.- Overrides:
addChild
in classRMParentShape
-
addPages
public void addPages(RMDocument aDoc)
Add the pages in the given document to this document (at end) and clears the pages list in the given document.
-
getSelectedIndex
public int getSelectedIndex()
Returns the current page index of this document.
-
setSelectedIndex
public void setSelectedIndex(int anIndex)
Selects the currently selected page by index.
-
getSelectedPage
public RMPage getSelectedPage()
Returns the currently selected page of this document.
-
setSelectedPage
public void setSelectedPage(RMPage aPage)
Selects the given page.
-
getPageLayout
public RMDocument.PageLayout getPageLayout()
Returns the page layout for the document.
-
setPageLayout
public void setPageLayout(RMDocument.PageLayout aValue)
Sets the page layout for the document.
-
setPageLayout
public void setPageLayout(java.lang.String aValue)
Set page layout from string.
-
getUnit
public RMDocument.Unit getUnit()
Returns the units used to express sizes in the current document (POINTS, INCHES, CENTIMETERS).
-
setUnit
public void setUnit(RMDocument.Unit aValue)
Sets the units used to express sizes in the current document (POINTS, INCHES, CENTIMETERS).
-
setUnit
public void setUnit(java.lang.String aString)
Sets the units used to express sizes in the current document with one of the strings: point, inch or cm.
-
getPointsFromUnits
public double getPointsFromUnits(double aValue)
Converts given value from document units to printer points (1/72 of an inch).
-
getUnitsFromPoints
public double getUnitsFromPoints(double aValue)
Converts given value to document units from printer points (1/72 of an inch).
-
getUnitsMultiplier
public float getUnitsMultiplier()
Returns the multiplier used to convert printer points to document units.
-
getShowGrid
public boolean getShowGrid()
Returns whether the document should show an alignment grid.
-
setShowGrid
public void setShowGrid(boolean aValue)
Sets whether the document should show an alignment grid.
-
getSnapGrid
public boolean getSnapGrid()
Returns whether the document should snap to an alignment grid.
-
setSnapGrid
public void setSnapGrid(boolean aValue)
Sets whether the document should snap to an alignment grid.
-
getGridSpacing
public double getGridSpacing()
Returns the grid spacing for the document's grid.
-
setGridSpacing
public void setGridSpacing(double aValue)
Sets the grid spacing for the document's grid.
-
getShowMargin
public boolean getShowMargin()
Returns whether the document should show a margin rect.
-
setShowMargin
public void setShowMargin(boolean aValue)
Sets whether the document should show a margin rect.
-
getSnapMargin
public boolean getSnapMargin()
Returns whether the document should snap to a margin rect.
-
setSnapMargin
public void setSnapMargin(boolean aValue)
Sets whether the document should snap to a margin rect.
-
getMarginRect
public RMRect getMarginRect()
Returns the margin rect for this document.
-
setMarginRect
public void setMarginRect(RMRect aRect)
Sets the margin rect for this document.
-
getMarginRectDefault
public RMRect getMarginRectDefault()
Returns the default margin rect.
-
setMargins
public void setMargins(double left, double right, double top, double bottom)
Sets the margin rect for this document.
-
getMarginLeft
public double getMarginLeft()
Returns the margin rects left value.
-
getMarginRight
public double getMarginRight()
Returns the margin rects right value.
-
getMarginTop
public double getMarginTop()
Returns the margin rects top value.
-
getMarginBottom
public double getMarginBottom()
Returns the margin rects bottom value.
-
getPageSize
public RMSize getPageSize()
Returns the size of a document page.
-
setPageSize
public void setPageSize(double aWidth, double aHeight)
Sets the size of the document (and all of its pages).
-
getPageSizeDefault
public RMSize getPageSizeDefault()
Returns the default page size.
-
getAutosizingDefault
public java.lang.String getAutosizingDefault()
Returns the autosizing default.- Overrides:
getAutosizingDefault
in classRMShape
-
getDataSource
public RMDataSource getDataSource()
Returns the RMDataSource associated with this document.
-
setDataSource
public void setDataSource(RMDataSource aDataSource)
Sets the RMDataSource associated with this document.
-
getDataSourceSchema
public Schema getDataSourceSchema()
Returns the schema for the RMDataSource associated with this document (convenience).
-
getDatasetEntity
public Entity getDatasetEntity()
Returns the entity this shape should show in keys browser.- Overrides:
getDatasetEntity
in classRMShape
-
getPublishUrl
public java.lang.String getPublishUrl()
Returns the URL this document should be uploaded to.
-
setPublishUrl
public void setPublishUrl(java.lang.String aValue)
Sets the URL this document should be uploaded to.
-
getNullString
public java.lang.String getNullString()
Returns the string used to replace any occurrances of null values in a generated report.
-
setNullString
public void setNullString(java.lang.String aValue)
Sets the string used to replace any occurrances of null values in a generated report.
-
isPaginate
public boolean isPaginate()
Returns whether the document should paginate generated reports by default.
-
setPaginate
public void setPaginate(boolean aValue)
Sets whether the document should paginate generated reports by default.
-
getCompress
public boolean getCompress()
Returns whether the document should compress images in generated file formats like PDF.
-
setCompress
public void setCompress(boolean aValue)
Sets whether the document should compress images in generated file formats like PDF.
-
getBytes
public byte[] getBytes()
Returns the document as an XML byte array.
-
getBytesPDF
public byte[] getBytesPDF()
Returns the document as a byte array of a PDF file.
-
getBytesHTML
public byte[] getBytesHTML()
Returns the document as a byte array of an HTML file.
-
getBytesCSV
public byte[] getBytesCSV()
Returns the document as a byte array of a CSV file.
-
getBytesDelimitedAscii
public byte[] getBytesDelimitedAscii(java.lang.String fieldDelimiter, java.lang.String recordDelimiter, boolean quoteFields)
Returns the document as a byte array of a delimited ASCII file (using given field, record separator strings).
-
getBytesExcel
@Deprecated public byte[] getBytesExcel()
Deprecated.usegetBytesXlsx()
Returns the document as byte array of an Excel file.
-
getBytesXlsx
public byte[] getBytesXlsx()
Returns the document as byte array of an Excel XLSX file.
-
getBytesRTF
public byte[] getBytesRTF()
Returns the document as byte array of an Excel file.
-
getBytesJPEG
public byte[] getBytesJPEG()
Returns the document as byte array of a JPEG file.
-
getBytesPNG
public byte[] getBytesPNG()
Returns the document as byte array of PNG file.
-
getAllPagesBytesPNG
public byte[] getAllPagesBytesPNG()
Returns a single png that includes all pages and is (pageCount * pageHeight) tall
-
getAllPagesBytesJPEG
public byte[] getAllPagesBytesJPEG()
Returns a single jpeg that includes all pages and is (pageCount * pageHeight) tall
-
getStringCSV
public java.lang.String getStringCSV()
Returns the document as a string of a CSV file.
-
getStringDelimitedText
public java.lang.String getStringDelimitedText(java.lang.String fieldDelimiter, java.lang.String recordDelimiter, boolean quoteFields)
Returns the document as a string of a delimited text file.
-
write
public void write(java.lang.String aPath)
Writes the document out to the given path String (it extracts type from path extension).
-
write
public void write(java.io.File aFile)
Writes the document to the given File object
-
writePDF
public void writePDF(java.lang.String aPath)
Writes the document to the given path String as PDF.
-
writeExcel
@Deprecated public void writeExcel(java.lang.String path)
Deprecated.Writes the document to the given path String as Excel.- Parameters:
path
- the save path, must not be null
-
writeXlsx
public void writeXlsx(java.lang.String path)
Writes the document to the given path String as Excel Xlsx format.- Parameters:
path
- the save path, must not be null
-
writeXlsx
public void writeXlsx(java.io.File file)
Writes the document to the given path String as Excel Xlsx format.- Parameters:
file
- the file to save to, must not be null
-
getMaxTime
public float getMaxTime()
Returns the total time needed to animate this document (total of all page animators).
-
getDocument
public RMDocument getDocument()
Returns the document itself (over-ridden from RMShape).- Overrides:
getDocument
in classRMShape
-
getAnimator
public RMAnimator getAnimator(int anIndex)
Returns the animator for a specific page.
-
getAnimatorLast
public RMAnimator getAnimatorLast()
Returns the animator for the last page.
-
getLoops
public boolean getLoops()
Returns whether the last animator loops.
-
getSubreport
public RMDocument getSubreport(java.lang.String aName)
Returns a subreport document for given name (override to improve).
-
paintShape
public void paintShape(RMShapePainter aPntr)
Overrides paint shape, because document should never really paint itself.- Overrides:
paintShape
in classRMShape
-
generateReport
public RMDocument generateReport()
Returns a generated report from this template evaluated against the given object.
-
generateReport
public RMDocument generateReport(java.lang.Object theObjects)
Returns a generated report from this template evaluated against the given object.
-
generateReport
public RMDocument generateReport(java.lang.Object objects, java.lang.Object userInfo)
Returns a generated report from this template evaluated against the given object and userInfo.
-
generateReport
public RMDocument generateReport(java.lang.Object objects, boolean paginate)
Returns a generated report from this template evaluated against the given object with an option to paginate.
-
generateReport
public RMDocument generateReport(java.lang.Object theObjects, java.lang.Object theUserInfo, boolean aPaginateFlag)
Returns generated report from this template evaluated against given object/userInfo (with option to paginate).
-
rpgChildren
protected RMShape rpgChildren(ReportOwner anRptOwner, RMParentShape aParent)
Override to handle ShapeLists special.- Overrides:
rpgChildren
in classRMParentShape
-
resolvePageReferences
public void resolvePageReferences()
Performs page substitutions on any text fields that were identified as containing @Page@ keys.
-
layoutChildren
protected void layoutChildren()
Rebuilds the document according to the selected page and page layout.- Overrides:
layoutChildren
in classRMParentShape
-
computePrefWidth
protected double computePrefWidth(double aHeight)
Override to return double page width for PageLayout.Double, Facing, & Quadruple. return a double value for the width.- Overrides:
computePrefWidth
in classRMParentShape
-
computePrefHeight
protected double computePrefHeight(double aWidth)
Override to return height * PageCount (plus spacing) for Continuous, height * PageCount/2 for ContinuousDouble, and height * 2 for Quadruple.- Overrides:
computePrefHeight
in classRMParentShape
- Returns:
- a double value for the height.
-
toXML
public RXElement toXML()
Returns RXElement for document.
-
clone
public RMDocument clone()
Copies basic document attributes (shallow copy only - no children or pages).- Overrides:
clone
in classRMParentShape
-
toXMLShape
protected RXElement toXMLShape(RXArchiver anArchiver)
XML archival.- Overrides:
toXMLShape
in classRMParentShape
-
toXMLChildren
protected void toXMLChildren(RXArchiver anArchiver, RXElement anElement)
XML archival of children.- Overrides:
toXMLChildren
in classRMParentShape
-
fromXMLShape
protected void fromXMLShape(RXArchiver anArchiver, RXElement anElement)
XML unarchival.- Overrides:
fromXMLShape
in classRMParentShape
-
superSelectable
public boolean superSelectable()
Editor method indicates that document is super selectable.- Overrides:
superSelectable
in classRMShape
-
childrenSuperSelectImmediately
public boolean childrenSuperSelectImmediately()
Editor method indicates that pages super select immediately.- Overrides:
childrenSuperSelectImmediately
in classRMShape
-
acceptsChildren
public boolean acceptsChildren()
Editor method indicates that document accepts children (should probably be false).- Overrides:
acceptsChildren
in classRMShape
-
pdfBytes
public byte[] pdfBytes()
Obsolete method for old pdfBytes() method.
-
isDeletable
public boolean isDeletable()
Description copied from class:RMShape
Override this for shapes (like a table row) that don't don't make sense to delete by themselves.- Overrides:
isDeletable
in classRMShape
-
-