Package com.openhtmltopdf.pdfboxout
Interface PdfBoxOutputDevice
- All Superinterfaces:
OutputDevice
- All Known Implementing Classes:
PdfBoxFastOutputDevice
,PdfBoxSlowOutputDevice
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addMetadata
(String name, String value) Appends a name/content metadata pair to this output device.void
void
close()
Perform any internal cleanup neededvoid
void
drawBorderLine
(Shape bounds, int side, int lineWidth, boolean solid) void
void
drawOval
(int x, int y, int width, int height) void
drawPdfAsImage
(org.apache.pdfbox.pdmodel.graphics.form.PDFormXObject _src, Rectangle contentBounds, float intrinsicWidth, float intrinsicHeight) void
drawRect
(int x, int y, int width, int height) void
drawSelection
(RenderingContext c, InlineText inlineText) void
drawString
(String s, float x, float y, JustificationInfo info) void
drawStringFast
(String s, float x, float y, JustificationInfo info, PdfBoxFontResolver.FontDescription desc, float fontSize) void
drawWithGraphics
(float x, float y, float width, float height, OutputDeviceGraphicsDrawer renderer) Draw something using a Graphics2D at the given rectangle.void
void
fillOval
(int x, int y, int width, int height) void
fillRect
(int x, int y, int width, int height) findPagePositionsByID
(CssContext c, Pattern pattern) void
finish
(RenderingContext c, Box root) void
float
float
getClip()
float
getDeviceLength
(float length) Given a value in dots units, converts to PDF points.float
getMetadataByName
(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.getMetadataListByName
(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.PDPage
getPage()
int
getPageRefY
(Box box) int
org.apache.pdfbox.pdmodel.PDDocument
void
initializePage
(org.apache.pdfbox.pdmodel.PDPageContentStream currentPage, org.apache.pdfbox.pdmodel.PDPage page, float height) Start a page.boolean
The new (2018) fast renderer is in use.boolean
isPDF()
boolean
boolean
float
normalizeY
(float y, float pageHeight) Converts a top down unit to a bottom up PDF unit for the specified page height.void
paintBackground
(RenderingContext c, Box box) We use paintBackground to do extra stuff such as processing links, forms and form controls.void
void
popClip()
Reverts the last clip on the stack.void
Reverts the transform on the stack.void
popTransforms
(List<AffineTransform> inverse) void
Applies a clip on the output device.void
pushTransformLayer
(AffineTransform transform) Applies a transform on the output device.pushTransforms
(List<AffineTransform> transforms) Apply the given transform on top of the current one in the PDF graphics stream.void
realizeImage
(PdfBoxImage img) void
setBidiReorderer
(BidiReorderer reorderer) void
void
void
void
setMetadata
(String name, String value) Replaces all copies of the named metadata with a single value.void
void
setRenderingContext
(RenderingContext result) void
setRenderingHint
(RenderingHints.Key key, Object value) void
void
setSharedContext
(SharedContext sharedContext) void
setStartPageNo
(int startPageNo) void
void
setWriter
(org.apache.pdfbox.pdmodel.PDDocument writer) void
void
translate
(double tx, double ty) Methods inherited from interface com.openhtmltopdf.extend.OutputDevice
drawDebugOutline, drawLinearGradient, drawText, drawTextDecoration, drawTextDecoration, endStructure, paintBackground, paintBorder, paintBorder, paintCollapsedBorder, startStructure
-
Method Details
-
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
- Specified by:
paintReplacedElement
in interfaceOutputDevice
-
paintBackground
We use paintBackground to do extra stuff such as processing links, forms and form controls.- Specified by:
paintBackground
in interfaceOutputDevice
-
getDeviceLength
float getDeviceLength(float length) Given a value in dots units, converts to PDF points. -
drawBorderLine
- Specified by:
drawBorderLine
in interfaceOutputDevice
-
setColor
- Specified by:
setColor
in interfaceOutputDevice
-
draw
- Specified by:
draw
in interfaceOutputDevice
-
drawRect
void drawRect(int x, int y, int width, int height) - Specified by:
drawRect
in interfaceOutputDevice
-
drawOval
void drawOval(int x, int y, int width, int height) - Specified by:
drawOval
in interfaceOutputDevice
-
fill
- Specified by:
fill
in interfaceOutputDevice
-
fillRect
void fillRect(int x, int y, int width, int height) - Specified by:
fillRect
in interfaceOutputDevice
-
fillOval
void fillOval(int x, int y, int width, int height) - Specified by:
fillOval
in interfaceOutputDevice
-
translate
void translate(double tx, double ty) - Specified by:
translate
in interfaceOutputDevice
-
getRenderingHint
- Specified by:
getRenderingHint
in interfaceOutputDevice
-
setRenderingHint
- Specified by:
setRenderingHint
in interfaceOutputDevice
-
setFont
- Specified by:
setFont
in interfaceOutputDevice
-
drawString
-
drawStringFast
void drawStringFast(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
- Specified by:
setStroke
in interfaceOutputDevice
-
clip
- Specified by:
clip
in interfaceOutputDevice
-
getClip
Shape getClip()- Specified by:
getClip
in interfaceOutputDevice
-
popClip
void popClip()Description copied from interface:OutputDevice
Reverts the last clip on the stack. The fast renderer MUST usepushClip
andpopClip
in preference toclip
andsetClip
. 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:
popClip
in interfaceOutputDevice
-
pushClip
Description copied from interface:OutputDevice
Applies a clip on the output device. This is a cumulative operation. The fast renderer MUST usepushClip
andpopClip
in preference toclip
andsetClip
. 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:
pushClip
in interfaceOutputDevice
-
setClip
- Specified by:
setClip
in interfaceOutputDevice
-
getStroke
Stroke getStroke()- Specified by:
getStroke
in interfaceOutputDevice
-
realizeImage
-
drawImage
- Specified by:
drawImage
in interfaceOutputDevice
-
getDotsPerPoint
float getDotsPerPoint() -
start
-
finish
-
addMetadata
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
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
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
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. UseaddMetadata
to append additional values with the same name.- Parameters:
name
- the metadata element name to locate.
-
setRoot
-
getStartPageNo
int getStartPageNo() -
setStartPageNo
void setStartPageNo(int startPageNo) -
drawSelection
- Specified by:
drawSelection
in interfaceOutputDevice
-
isSupportsSelection
boolean isSupportsSelection()- Specified by:
isSupportsSelection
in interfaceOutputDevice
-
isSupportsCMYKColors
boolean isSupportsCMYKColors()- Specified by:
isSupportsCMYKColors
in interfaceOutputDevice
-
drawWithGraphics
void drawWithGraphics(float x, float y, float width, float height, OutputDeviceGraphicsDrawer renderer) Description copied from interface:OutputDevice
Draw something using a Graphics2D at the given rectangle.- Specified by:
drawWithGraphics
in interfaceOutputDevice
-
findPagePositionsByID
-
setRenderingContext
-
setBidiReorderer
-
popTransforms
- Specified by:
popTransforms
in interfaceOutputDevice
-
pushTransforms
Description copied from interface:OutputDevice
Apply 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:
pushTransforms
in interfaceOutputDevice
- Returns:
- the list of inverse transforms to undo the effect of this transform
-
getAbsoluteTransformOriginX
float getAbsoluteTransformOriginX()- Specified by:
getAbsoluteTransformOriginX
in interfaceOutputDevice
-
getAbsoluteTransformOriginY
float getAbsoluteTransformOriginY()- Specified by:
getAbsoluteTransformOriginY
in interfaceOutputDevice
-
setPaint
- Specified by:
setPaint
in interfaceOutputDevice
-
isPDF
boolean isPDF()- Specified by:
isPDF
in interfaceOutputDevice
-
close
void close()Perform any internal cleanup needed -
pushTransformLayer
Description copied from interface:OutputDevice
Applies 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:
pushTransformLayer
in interfaceOutputDevice
-
popTransformLayer
void popTransformLayer()Description copied from interface:OutputDevice
Reverts 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:
popTransformLayer
in interfaceOutputDevice
-
isFastRenderer
boolean isFastRenderer()Description copied from interface:OutputDevice
The new (2018) fast renderer is in use.- Specified by:
isFastRenderer
in interfaceOutputDevice
-
getPageRefY
-
getMetadata
List<PdfBoxSlowOutputDevice.Metadata> getMetadata() -
drawPdfAsImage
void drawPdfAsImage(org.apache.pdfbox.pdmodel.graphics.form.PDFormXObject _src, Rectangle contentBounds, float intrinsicWidth, float intrinsicHeight)
-