Package com.openhtmltopdf.pdfboxout
Interface PdfBoxOutputDevice
-
- All Superinterfaces:
OutputDevice
- All Known Implementing Classes:
PdfBoxFastOutputDevice,PdfBoxSlowOutputDevice
public interface PdfBoxOutputDevice extends OutputDevice
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddMetadata(java.lang.String name, java.lang.String value)Appends a name/content metadata pair to this output device.voidclip(java.awt.Shape s)voidclose()Perform any internal cleanup neededvoiddraw(java.awt.Shape s)voiddrawBorderLine(java.awt.Shape bounds, int side, int lineWidth, boolean solid)voiddrawImage(FSImage fsImage, int x, int y, boolean interpolate)voiddrawOval(int x, int y, int width, int height)voiddrawPdfAsImage(org.apache.pdfbox.pdmodel.graphics.form.PDFormXObject _src, java.awt.Rectangle contentBounds, float intrinsicWidth, float intrinsicHeight)voiddrawRect(int x, int y, int width, int height)voiddrawSelection(RenderingContext c, InlineText inlineText)voiddrawString(java.lang.String s, float x, float y, JustificationInfo info)voiddrawStringFast(java.lang.String s, float x, float y, JustificationInfo info, PdfBoxFontResolver.FontDescription desc, float fontSize)voiddrawWithGraphics(float x, float y, float width, float height, OutputDeviceGraphicsDrawer renderer)Draw something using a Graphics2D at the given rectangle.voidfill(java.awt.Shape s)voidfillOval(int x, int y, int width, int height)voidfillRect(int x, int y, int width, int height)java.util.List<PagePosition<Box>>findPagePositionsByID(CssContext c, java.util.regex.Pattern pattern)voidfinish(RenderingContext c, Box root)voidfinishPage()floatgetAbsoluteTransformOriginX()floatgetAbsoluteTransformOriginY()java.awt.ShapegetClip()PdfContentStreamAdaptergetCurrentPage()floatgetDeviceLength(float length)Given a value in dots units, converts to PDF points.floatgetDotsPerPoint()java.util.List<PdfBoxSlowOutputDevice.Metadata>getMetadata()java.lang.StringgetMetadataByName(java.lang.String name)Searches the metadata name/content pairs of the current document and returns the content value from the first pair with a matching name.java.util.List<java.lang.String>getMetadataListByName(java.lang.String name)Searches the metadata name/content pairs of the current document and returns any content values with a matching name in an ArrayList.org.apache.pdfbox.pdmodel.PDPagegetPage()intgetPageRefY(Box box)java.lang.ObjectgetRenderingHint(java.awt.RenderingHints.Key key)SharedContextgetSharedContext()intgetStartPageNo()java.awt.StrokegetStroke()org.apache.pdfbox.pdmodel.PDDocumentgetWriter()voidinitializePage(org.apache.pdfbox.pdmodel.PDPageContentStream currentPage, org.apache.pdfbox.pdmodel.PDPage page, float height)Start a page.booleanisFastRenderer()The new (2018) fast renderer is in use.booleanisPDF()booleanisSupportsCMYKColors()booleanisSupportsSelection()floatnormalizeY(float y, float pageHeight)Converts a top down unit to a bottom up PDF unit for the specified page height.voidpaintBackground(RenderingContext c, Box box)We use paintBackground to do extra stuff such as processing links, forms and form controls.voidpaintReplacedElement(RenderingContext c, BlockBox box)voidpopClip()Reverts the last clip on the stack.voidpopTransformLayer()Reverts the transform on the stack.voidpopTransforms(java.util.List<java.awt.geom.AffineTransform> inverse)voidpushClip(java.awt.Shape s)Applies a clip on the output device.voidpushTransformLayer(java.awt.geom.AffineTransform transform)Applies a transform on the output device.java.util.List<java.awt.geom.AffineTransform>pushTransforms(java.util.List<java.awt.geom.AffineTransform> transforms)Apply the given transform on top of the current one in the PDF graphics stream.voidrealizeImage(PdfBoxImage img)voidsetBidiReorderer(BidiReorderer reorderer)voidsetClip(java.awt.Shape s)voidsetColor(FSColor color)voidsetFont(FSFont font)voidsetMetadata(java.lang.String name, java.lang.String value)Replaces all copies of the named metadata with a single value.voidsetPaint(java.awt.Paint paint)voidsetRenderingContext(RenderingContext result)voidsetRenderingHint(java.awt.RenderingHints.Key key, java.lang.Object value)voidsetRoot(Box root)voidsetSharedContext(SharedContext sharedContext)voidsetStartPageNo(int startPageNo)voidsetStroke(java.awt.Stroke s)voidsetWriter(org.apache.pdfbox.pdmodel.PDDocument writer)voidstart(org.w3c.dom.Document doc)voidtranslate(double tx, double ty)-
Methods inherited from interface com.openhtmltopdf.extend.OutputDevice
drawDebugOutline, drawLinearGradient, drawText, drawTextDecoration, drawTextDecoration, endStructure, paintBackground, paintBorder, paintBorder, paintCollapsedBorder, startStructure
-
-
-
-
Method Detail
-
setWriter
void setWriter(org.apache.pdfbox.pdmodel.PDDocument writer)
-
getWriter
org.apache.pdfbox.pdmodel.PDDocument getWriter()
-
initializePage
void initializePage(org.apache.pdfbox.pdmodel.PDPageContentStream currentPage, org.apache.pdfbox.pdmodel.PDPage page, float height)Start a page. A new PDF page starts a new content stream so all graphics state has to be set back to default.
-
finishPage
void finishPage()
-
paintReplacedElement
void paintReplacedElement(RenderingContext c, BlockBox box)
- Specified by:
paintReplacedElementin interfaceOutputDevice
-
paintBackground
void paintBackground(RenderingContext c, Box box)
We use paintBackground to do extra stuff such as processing links, forms and form controls.- Specified by:
paintBackgroundin interfaceOutputDevice
-
getDeviceLength
float getDeviceLength(float length)
Given a value in dots units, converts to PDF points.
-
drawBorderLine
void drawBorderLine(java.awt.Shape bounds, int side, int lineWidth, boolean solid)- Specified by:
drawBorderLinein interfaceOutputDevice
-
setColor
void setColor(FSColor color)
- Specified by:
setColorin interfaceOutputDevice
-
draw
void draw(java.awt.Shape s)
- Specified by:
drawin interfaceOutputDevice
-
drawRect
void drawRect(int x, int y, int width, int height)- Specified by:
drawRectin interfaceOutputDevice
-
drawOval
void drawOval(int x, int y, int width, int height)- Specified by:
drawOvalin interfaceOutputDevice
-
fill
void fill(java.awt.Shape s)
- Specified by:
fillin interfaceOutputDevice
-
fillRect
void fillRect(int x, int y, int width, int height)- Specified by:
fillRectin interfaceOutputDevice
-
fillOval
void fillOval(int x, int y, int width, int height)- Specified by:
fillOvalin interfaceOutputDevice
-
translate
void translate(double tx, double ty)- Specified by:
translatein interfaceOutputDevice
-
getRenderingHint
java.lang.Object getRenderingHint(java.awt.RenderingHints.Key key)
- Specified by:
getRenderingHintin interfaceOutputDevice
-
setRenderingHint
void setRenderingHint(java.awt.RenderingHints.Key key, java.lang.Object value)- Specified by:
setRenderingHintin interfaceOutputDevice
-
setFont
void setFont(FSFont font)
- Specified by:
setFontin interfaceOutputDevice
-
drawString
void drawString(java.lang.String s, float x, float y, JustificationInfo info)
-
drawStringFast
void drawStringFast(java.lang.String s, float x, float y, JustificationInfo info, PdfBoxFontResolver.FontDescription desc, float fontSize)
-
getCurrentPage
PdfContentStreamAdapter getCurrentPage()
-
getPage
org.apache.pdfbox.pdmodel.PDPage getPage()
-
normalizeY
float normalizeY(float y, float pageHeight)Converts a top down unit to a bottom up PDF unit for the specified page height.
-
setStroke
void setStroke(java.awt.Stroke s)
- Specified by:
setStrokein interfaceOutputDevice
-
clip
void clip(java.awt.Shape s)
- Specified by:
clipin interfaceOutputDevice
-
getClip
java.awt.Shape getClip()
- Specified by:
getClipin interfaceOutputDevice
-
popClip
void popClip()
Description copied from interface:OutputDeviceReverts the last clip on the stack. The fast renderer MUST usepushClipandpopClipin preference toclipandsetClip. NOTE: The current implementation shares a stack between transforms and clips, so calls toOutputDevice.pushTransformLayer(AffineTransform),OutputDevice.popTransformLayer(),OutputDevice.pushClip(Shape)andOutputDevice.popClip()MUST be nested correctly.- Specified by:
popClipin interfaceOutputDevice
-
pushClip
void pushClip(java.awt.Shape s)
Description copied from interface:OutputDeviceApplies a clip on the output device. This is a cumulative operation. The fast renderer MUST usepushClipandpopClipin preference toclipandsetClip. NOTE: The current implementation shares a stack between transforms and clips, so calls toOutputDevice.pushTransformLayer(AffineTransform),OutputDevice.popTransformLayer(),OutputDevice.pushClip(Shape)andOutputDevice.popClip()MUST be nested correctly.- Specified by:
pushClipin interfaceOutputDevice
-
setClip
void setClip(java.awt.Shape s)
- Specified by:
setClipin interfaceOutputDevice
-
getStroke
java.awt.Stroke getStroke()
- Specified by:
getStrokein interfaceOutputDevice
-
realizeImage
void realizeImage(PdfBoxImage img)
-
drawImage
void drawImage(FSImage fsImage, int x, int y, boolean interpolate)
- Specified by:
drawImagein interfaceOutputDevice
-
getDotsPerPoint
float getDotsPerPoint()
-
start
void start(org.w3c.dom.Document doc)
-
finish
void finish(RenderingContext c, Box root)
-
addMetadata
void addMetadata(java.lang.String name, java.lang.String value)Appends a name/content metadata pair to this output device. A name or content value of null will be ignored.- Parameters:
name- the name of the metadata element to add.
-
getMetadataByName
java.lang.String getMetadataByName(java.lang.String name)
Searches the metadata name/content pairs of the current document and returns the content value from the first pair with a matching name. The search is case insensitive.- Parameters:
name- the metadata element name to locate.- Returns:
- the content value of the first found metadata element; otherwise null.
-
getMetadataListByName
java.util.List<java.lang.String> getMetadataListByName(java.lang.String name)
Searches the metadata name/content pairs of the current document and returns any content values with a matching name in an ArrayList. The search is case insensitive.- Parameters:
name- the metadata element name to locate.- Returns:
- an ArrayList with matching content values; otherwise an empty list.
-
setMetadata
void setMetadata(java.lang.String name, java.lang.String value)Replaces all copies of the named metadata with a single value. A a new value of null will result in the removal of all copies of the named metadata. UseaddMetadatato append additional values with the same name.- Parameters:
name- the metadata element name to locate.
-
getSharedContext
SharedContext getSharedContext()
-
setSharedContext
void setSharedContext(SharedContext sharedContext)
-
setRoot
void setRoot(Box root)
-
getStartPageNo
int getStartPageNo()
-
setStartPageNo
void setStartPageNo(int startPageNo)
-
drawSelection
void drawSelection(RenderingContext c, InlineText inlineText)
- Specified by:
drawSelectionin interfaceOutputDevice
-
isSupportsSelection
boolean isSupportsSelection()
- Specified by:
isSupportsSelectionin interfaceOutputDevice
-
isSupportsCMYKColors
boolean isSupportsCMYKColors()
- Specified by:
isSupportsCMYKColorsin interfaceOutputDevice
-
drawWithGraphics
void drawWithGraphics(float x, float y, float width, float height, OutputDeviceGraphicsDrawer renderer)Description copied from interface:OutputDeviceDraw something using a Graphics2D at the given rectangle.- Specified by:
drawWithGraphicsin interfaceOutputDevice
-
findPagePositionsByID
java.util.List<PagePosition<Box>> findPagePositionsByID(CssContext c, java.util.regex.Pattern pattern)
-
setRenderingContext
void setRenderingContext(RenderingContext result)
-
setBidiReorderer
void setBidiReorderer(BidiReorderer reorderer)
-
popTransforms
void popTransforms(java.util.List<java.awt.geom.AffineTransform> inverse)
- Specified by:
popTransformsin interfaceOutputDevice
-
pushTransforms
java.util.List<java.awt.geom.AffineTransform> pushTransforms(java.util.List<java.awt.geom.AffineTransform> transforms)
Description copied from interface:OutputDeviceApply the given transform on top of the current one in the PDF graphics stream. This is a cumulative operation. You should popTransform after the box and children are painted.- Specified by:
pushTransformsin interfaceOutputDevice- Returns:
- the list of inverse transforms to undo the effect of this transform
-
getAbsoluteTransformOriginX
float getAbsoluteTransformOriginX()
- Specified by:
getAbsoluteTransformOriginXin interfaceOutputDevice
-
getAbsoluteTransformOriginY
float getAbsoluteTransformOriginY()
- Specified by:
getAbsoluteTransformOriginYin interfaceOutputDevice
-
setPaint
void setPaint(java.awt.Paint paint)
- Specified by:
setPaintin interfaceOutputDevice
-
isPDF
boolean isPDF()
- Specified by:
isPDFin interfaceOutputDevice
-
close
void close()
Perform any internal cleanup needed
-
pushTransformLayer
void pushTransformLayer(java.awt.geom.AffineTransform transform)
Description copied from interface:OutputDeviceApplies a transform on the output device. This is a cumulativew operation. NOTE: The current implementation shares a stack between transforms and clips, so calls toOutputDevice.pushTransformLayer(AffineTransform),OutputDevice.popTransformLayer(),OutputDevice.pushClip(Shape)andOutputDevice.popClip()MUST be nested correctly.- Specified by:
pushTransformLayerin interfaceOutputDevice
-
popTransformLayer
void popTransformLayer()
Description copied from interface:OutputDeviceReverts the transform on the stack. NOTE: The current implementation shares a stack between transforms and clips, so calls toOutputDevice.pushTransformLayer(AffineTransform),OutputDevice.popTransformLayer(),OutputDevice.pushClip(Shape)andOutputDevice.popClip()MUST be nested correctly.- Specified by:
popTransformLayerin interfaceOutputDevice
-
isFastRenderer
boolean isFastRenderer()
Description copied from interface:OutputDeviceThe new (2018) fast renderer is in use.- Specified by:
isFastRendererin interfaceOutputDevice
-
getPageRefY
int getPageRefY(Box box)
-
getMetadata
java.util.List<PdfBoxSlowOutputDevice.Metadata> getMetadata()
-
drawPdfAsImage
void drawPdfAsImage(org.apache.pdfbox.pdmodel.graphics.form.PDFormXObject _src, java.awt.Rectangle contentBounds, float intrinsicWidth, float intrinsicHeight)
-
-