Package com.tom_roush.pdfbox.pdmodel
Class PDPageContentStream
- java.lang.Object
-
- com.tom_roush.pdfbox.pdmodel.PDPageContentStream
-
- All Implemented Interfaces:
Closeable,AutoCloseable
public final class PDPageContentStream extends Object implements Closeable
Provides the ability to write to a page content stream.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classPDPageContentStream.AppendModeThis is to choose what to do with the stream: overwrite, append or prepend.
-
Constructor Summary
Constructors Constructor Description PDPageContentStream(PDDocument doc, PDFormXObject form, OutputStream outputStream)Create a new appearance stream.PDPageContentStream(PDDocument doc, PDTilingPattern pattern, OutputStream outputStream)Create a new appearance stream.PDPageContentStream(PDDocument doc, PDAppearanceStream appearance)Create a new appearance stream.PDPageContentStream(PDDocument doc, PDAppearanceStream appearance, OutputStream outputStream)Create a new appearance stream.PDPageContentStream(PDDocument document, PDPage sourcePage)Create a new PDPage content stream.PDPageContentStream(PDDocument document, PDPage sourcePage, boolean appendContent, boolean compress)PDPageContentStream(PDDocument document, PDPage sourcePage, boolean appendContent, boolean compress, boolean resetContext)PDPageContentStream(PDDocument document, PDPage sourcePage, PDPageContentStream.AppendMode appendContent, boolean compress)Create a new PDPage content stream.PDPageContentStream(PDDocument document, PDPage sourcePage, PDPageContentStream.AppendMode appendContent, boolean compress, boolean resetContext)Create a new PDPage content stream.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddBezier31(float x1, float y1, float x3, float y3)Deprecated.UsecurveTo1(float, float, float, float)instead.voidaddBezier312(float x1, float y1, float x2, float y2, float x3, float y3)Deprecated.UsecurveTo(float, float, float, float, float, float)instead.voidaddBezier32(float x2, float y2, float x3, float y3)Deprecated.UsecurveTo2(float, float, float, float)instead.voidaddComment(String comment)Write a comment line.voidaddLine(float xStart, float yStart, float xEnd, float yEnd)Deprecated.Usemoveto(xStart,yStart)followed bylineTo(xEnd,yEnd).voidaddPolygon(float[] x, float[] y)Deprecated.UsemoveTo(float, float)andlineTo(float, float)methods instead.voidaddRect(float x, float y, float width, float height)Add a rectangle to the current path.voidappendCOSName(COSName name)Deprecated.Usage of this method is discouraged.voidappendRawCommands(byte[] commands)Deprecated.Usage of this method is discouraged.voidappendRawCommands(double data)Deprecated.Usage of this method is discouraged.voidappendRawCommands(float data)Deprecated.Usage of this method is discouraged.voidappendRawCommands(int data)Deprecated.Usage of this method is discouraged.voidappendRawCommands(String commands)Deprecated.Usage of this method is discouraged.voidbeginMarkedContent(COSName tag)Begin a marked content sequence.voidbeginMarkedContent(COSName tag, PDPropertyList propertyList)Begin a marked content sequence with a reference to an entry in the page resources' Properties dictionary.voidbeginMarkedContentSequence(COSName tag)Deprecated.UsebeginMarkedContent(com.tom_roush.pdfbox.cos.COSName)instead.voidbeginMarkedContentSequence(COSName tag, COSName propsName)Deprecated.UsebeginMarkedContent(COSName, PDPropertyList)instead.voidbeginText()Begin some text operations.voidclip()Intersects the current clipping path with the current path, using the nonzero rule.voidclipEvenOdd()Intersects the current clipping path with the current path, using the even-odd rule.voidclipPath(Path.FillType windingRule)Deprecated.Useclip()orclipEvenOdd()instead.voidclose()Close the content stream.voidcloseAndFillAndStroke()Close, fill, and then stroke the path, using the nonzero winding number rule to determine the region to fill.voidcloseAndFillAndStrokeEvenOdd()Close, fill, and then stroke the path, using the even-odd rule to determine the region to fill.voidcloseAndStroke()Close and stroke the path.voidclosePath()Closes the current subpath.voidcloseSubPath()Deprecated.UseclosePath()instead.voidconcatenate2CTM(double a, double b, double c, double d, double e, double f)Deprecated.Usetransform(com.tom_roush.pdfbox.util.Matrix)instead.voidconcatenate2CTM(AffineTransform at)Deprecated.Usetransform(com.tom_roush.pdfbox.util.Matrix)instead.voidcurveTo(float x1, float y1, float x2, float y2, float x3, float y3)Append a cubic Bézier curve to the current path.voidcurveTo1(float x1, float y1, float x3, float y3)Append a cubic Bézier curve to the current path.voidcurveTo2(float x2, float y2, float x3, float y3)Append a cubic Bézier curve to the current path.voiddrawForm(PDFormXObject form)Draws the given Form XObject at the current location.voiddrawImage(PDImageXObject image, float x, float y)Draw an image at the x,y coordinates, with the default size of the image.voiddrawImage(PDImageXObject image, float x, float y, float width, float height)Draw an image at the x,y coordinates, with the given size.voiddrawImage(PDImageXObject image, Matrix matrix)Draw an image at the origin with the given transformation matrix.voiddrawImage(PDInlineImage inlineImage, float x, float y)Draw an inline image at the x,y coordinates, with the default size of the image.voiddrawImage(PDInlineImage inlineImage, float x, float y, float width, float height)Draw an inline image at the x,y coordinates and a certain width and height.voiddrawInlineImage(PDInlineImage inlineImage, float x, float y)Deprecated.UsedrawImage(PDInlineImage, float, float)instead.voiddrawInlineImage(PDInlineImage inlineImage, float x, float y, float width, float height)Deprecated.UsedrawImage(PDInlineImage, float, float, float, float)instead.voiddrawLine(float xStart, float yStart, float xEnd, float yEnd)Deprecated.voiddrawPolygon(float[] x, float[] y)Deprecated.UsemoveTo(float, float)andlineTo(float, float)methods instead.voiddrawString(String text)Deprecated.UseshowText(java.lang.String)instead.voiddrawXObject(PDXObject xobject, float x, float y, float width, float height)Deprecated.voiddrawXObject(PDXObject xobject, AffineTransform transform)Deprecated.voidendMarkedContent()End a marked content sequence.voidendMarkedContentSequence()Deprecated.UseendMarkedContent()instead.voidendText()End some text operations.voidfill()Fills the path using the nonzero winding number rule.voidfill(Path.FillType windingRule)Deprecated.Usefill()orfillEvenOdd()instead.voidfillAndStroke()Fill and then stroke the path, using the nonzero winding number rule to determine the region to fill.voidfillAndStrokeEvenOdd()Fill and then stroke the path, using the even-odd rule to determine the region to fill.voidfillEvenOdd()Fills the path using the even-odd winding rule.voidfillPolygon(float[] x, float[] y)Deprecated.UsemoveTo(float, float)andlineTo(float, float)methods instead.voidfillRect(float x, float y, float width, float height)Deprecated.UseaddRect(float, float, float, float)followed byfill()instead.voidlineTo(float x, float y)Draw a line from the current position to the given coordinates.voidmoveTextPositionByAmount(float tx, float ty)Deprecated.UsenewLineAtOffset(float, float)instead.voidmoveTo(float x, float y)Move the current position to the given coordinates.voidnewLine()Move to the start of the next line of text.voidnewLineAtOffset(float tx, float ty)The Td operator.voidrestoreGraphicsState()Q operator.voidsaveGraphicsState()q operator.voidsetCharacterSpacing(float spacing)Set the character spacing.voidsetFont(PDFont font, float fontSize)Set the font and font size to draw text with.voidsetGraphicsStateParameters(PDExtendedGraphicsState state)Set an extended graphics state.voidsetHorizontalScaling(float scale)Set the horizontal scaling to scale / 100.voidsetLeading(double leading)Deprecated.voidsetLeading(float leading)Sets the text leading.voidsetLineCapStyle(int lineCapStyle)Set the line cap style.voidsetLineDashPattern(float[] pattern, float phase)Set the line dash pattern.voidsetLineJoinStyle(int lineJoinStyle)Set the line join style.voidsetLineWidth(float lineWidth)Set line width to the given value.voidsetMiterLimit(float miterLimit)Set the miter limit.voidsetNonStrokingColor(double g)Deprecated.voidsetNonStrokingColor(double c, double m, double y, double k)Deprecated.voidsetNonStrokingColor(float g)Set the non-stroking color in the DeviceGray color space.voidsetNonStrokingColor(float[] components)Deprecated.UsesetNonStrokingColor(PDColor)instead.voidsetNonStrokingColor(float r, float g, float b)Set the non-stroking color in the DeviceRGB color space.voidsetNonStrokingColor(float c, float m, float y, float k)Set the non-stroking color in the DeviceCMYK color space.voidsetNonStrokingColor(int g)Deprecated.voidsetNonStrokingColor(int r, int g, int b)Deprecated.voidsetNonStrokingColor(int c, int m, int y, int k)Set the non-stroking color in the DeviceCMYK color space.voidsetNonStrokingColor(AWTColor color)Set the non-stroking color using an AWT color.voidsetNonStrokingColor(PDColor color)Sets the non-stroking color and, if necessary, the non-stroking color space.voidsetNonStrokingColorSpace(PDColorSpace colorSpace)Deprecated.UsesetNonStrokingColor(PDColor)instead.voidsetRenderingMode(RenderingMode rm)Set the text rendering mode.voidsetStrokingColor(double g)Deprecated.voidsetStrokingColor(float g)Set the stroking color in the DeviceGray color space.voidsetStrokingColor(float[] components)Deprecated.UsesetStrokingColor(PDColor)instead.voidsetStrokingColor(float r, float g, float b)Set the stroking color in the DeviceRGB color space.voidsetStrokingColor(float c, float m, float y, float k)Set the stroking color in the DeviceCMYK color space.voidsetStrokingColor(int g)Deprecated.UsesetStrokingColor(g/255f)instead.voidsetStrokingColor(int r, int g, int b)Deprecated.voidsetStrokingColor(int c, int m, int y, int k)Deprecated.UsesetStrokingColor(c/255f, m/255f, y/255f, k/255f)instead.voidsetStrokingColor(AWTColor color)Set the stroking color using an AWT color.voidsetStrokingColor(PDColor color)Sets the stroking color and, if necessary, the stroking color space.voidsetStrokingColorSpace(PDColorSpace colorSpace)Deprecated.voidsetTextMatrix(double a, double b, double c, double d, double e, double f)Deprecated.UsesetTextMatrix(Matrix)instead.voidsetTextMatrix(AffineTransform matrix)Deprecated.UsesetTextMatrix(Matrix)instead.voidsetTextMatrix(Matrix matrix)The Tm operator.voidsetTextRise(float rise)Set the text rise value, i.e.voidsetTextRotation(double angle, double tx, double ty)Deprecated.UsesetTextMatrix(Matrix)instead.voidsetTextScaling(double sx, double sy, double tx, double ty)Deprecated.UsesetTextMatrix(Matrix)instead.voidsetTextTranslation(double tx, double ty)Deprecated.UsesetTextMatrix(Matrix)instead.voidsetWordSpacing(float spacing)Set the word spacing.voidshadingFill(PDShading shading)Fills the clipping area with the given shading.voidshowText(String text)Shows the given text at the location specified by the current text matrix.protected voidshowTextInternal(String text)Outputs a string using the correct encoding and subsetting as required.voidshowTextWithPositioning(Object[] textWithPositioningArray)Shows the given text at the location specified by the current text matrix with the given interspersed positioning.voidstroke()Stroke the path.voidtransform(Matrix matrix)The cm operator.protected voidwriteOperand(float real)Writes a real number to the content stream.
-
-
-
Constructor Detail
-
PDPageContentStream
public PDPageContentStream(PDDocument document, PDPage sourcePage) throws IOException
Create a new PDPage content stream. This constructor overwrites all existing content streams of this page.- Parameters:
document- The document the page is part of.sourcePage- The page to write the contents to.- Throws:
IOException- If there is an error writing to the page contents.
-
PDPageContentStream
@Deprecated public PDPageContentStream(PDDocument document, PDPage sourcePage, boolean appendContent, boolean compress) throws IOException
Create a new PDPage content stream.- Parameters:
document- The document the page is part of.sourcePage- The page to write the contents to.appendContent- Indicates whether content will be overwritten. If false all previous content is deleted.compress- Tell if the content stream should compress the page contents.- Throws:
IOException- If there is an error writing to the page contents.
-
PDPageContentStream
public PDPageContentStream(PDDocument document, PDPage sourcePage, PDPageContentStream.AppendMode appendContent, boolean compress) throws IOException
Create a new PDPage content stream. If the appendContent parameter is set toPDPageContentStream.AppendMode.APPEND, you may want to usePDPageContentStream(PDDocument, PDPage, PDPageContentStream.AppendMode, boolean, boolean)instead, with the fifth parameter set to true.- Parameters:
document- The document the page is part of.sourcePage- The page to write the contents to.appendContent- Indicates whether content will be overwritten, appended or prepended.compress- Tell if the content stream should compress the page contents.- Throws:
IOException- If there is an error writing to the page contents.
-
PDPageContentStream
@Deprecated public PDPageContentStream(PDDocument document, PDPage sourcePage, boolean appendContent, boolean compress, boolean resetContext) throws IOException
Deprecated.Create a new PDPage content stream.- Parameters:
document- The document the page is part of.sourcePage- The page to write the contents to.appendContent- Indicates whether content will be overwritten. If false all previous content is deleted.compress- Tell if the content stream should compress the page contents.resetContext- Tell if the graphic context should be reset. You should use this when appending to an existing stream, because the existing stream may have changed graphic properties (e.g. scaling, rotation).- Throws:
IOException- If there is an error writing to the page contents.
-
PDPageContentStream
public PDPageContentStream(PDDocument document, PDPage sourcePage, PDPageContentStream.AppendMode appendContent, boolean compress, boolean resetContext) throws IOException
Create a new PDPage content stream.- Parameters:
document- The document the page is part of.sourcePage- The page to write the contents to.appendContent- Indicates whether content will be overwritten, appended or prepended.compress- Tell if the content stream should compress the page contents.resetContext- Tell if the graphic context should be reset. This is only relevant when the appendContent parameter is set toPDPageContentStream.AppendMode.APPEND. You should use this when appending to an existing stream, because the existing stream may have changed graphic properties (e.g. scaling, rotation).- Throws:
IOException- If there is an error writing to the page contents.
-
PDPageContentStream
public PDPageContentStream(PDDocument doc, PDAppearanceStream appearance) throws IOException
Create a new appearance stream. Note that this is not actually a "page" content stream.- Parameters:
doc- The document the page is part of.appearance- The appearance stream to write to.- Throws:
IOException- If there is an error writing to the page contents.
-
PDPageContentStream
public PDPageContentStream(PDDocument doc, PDAppearanceStream appearance, OutputStream outputStream) throws IOException
Create a new appearance stream. Note that this is not actually a "page" content stream.- Parameters:
doc- The document the appearance is part of.appearance- The appearance stream to add to.outputStream- The appearances output stream to write to.- Throws:
IOException- If there is an error writing to the page contents.
-
PDPageContentStream
public PDPageContentStream(PDDocument doc, PDFormXObject form, OutputStream outputStream) throws IOException
Create a new appearance stream. Note that this is not actually a "page" content stream.- Parameters:
doc- The document the appearance is part of.form- The XObject form to add to.outputStream- The output stream to write to.- Throws:
IOException- If there is an error writing to the page contents.
-
PDPageContentStream
public PDPageContentStream(PDDocument doc, PDTilingPattern pattern, OutputStream outputStream) throws IOException
Create a new appearance stream. Note that this is not actually a "page" content stream.- Parameters:
doc- The document the appearance is part of.pattern- The pattern to add to.outputStream- The output stream to write to.- Throws:
IOException- If there is an error writing to the page contents.
-
-
Method Detail
-
beginText
public void beginText() throws IOExceptionBegin some text operations.- Throws:
IOException- If there is an error writing to the stream or if you attempt to nest beginText calls.IllegalStateException- If the method was not allowed to be called at this time.
-
endText
public void endText() throws IOExceptionEnd some text operations.- Throws:
IOException- If there is an error writing to the stream or if you attempt to nest endText calls.IllegalStateException- If the method was not allowed to be called at this time.
-
setFont
public void setFont(PDFont font, float fontSize) throws IOException
Set the font and font size to draw text with.- Parameters:
font- The font to use.fontSize- The font size to draw the text.- Throws:
IOException- If there is an error writing the font information.
-
drawString
@Deprecated public void drawString(String text) throws IOException
Deprecated.UseshowText(java.lang.String)instead.This will draw a string at the current location on the screen.- Parameters:
text- The text to draw.- Throws:
IOException- If an io exception occurs.
-
showTextWithPositioning
public void showTextWithPositioning(Object[] textWithPositioningArray) throws IOException
Shows the given text at the location specified by the current text matrix with the given interspersed positioning. This allows the user to efficiently position each glyph or sequence of glyphs.- Parameters:
textWithPositioningArray- An array consisting of String and Float types. Each String is output to the page using the current text matrix. Using the default coordinate system, each interspersed number adjusts the current text matrix by translating to the left or down for horizontal and vertical text respectively. The number is expressed in thousands of a text space unit, and may be negative.- Throws:
IOException- if an io exception occurs.
-
showText
public void showText(String text) throws IOException
Shows the given text at the location specified by the current text matrix.- Parameters:
text- The Unicode text to show.- Throws:
IOException- If an io exception occurs.IllegalArgumentException- if a character isn't supported by the current font
-
showTextInternal
protected void showTextInternal(String text) throws IOException
Outputs a string using the correct encoding and subsetting as required.- Parameters:
text- The Unicode text to show.- Throws:
IOException- If an io exception occurs.
-
setLeading
@Deprecated public void setLeading(double leading) throws IOException
Deprecated.Sets the text leading.- Parameters:
leading- The leading in unscaled text units.- Throws:
IOException- If there is an error writing to the stream.
-
setLeading
public void setLeading(float leading) throws IOExceptionSets the text leading.- Parameters:
leading- The leading in unscaled text units.- Throws:
IOException- If there is an error writing to the stream.
-
newLine
public void newLine() throws IOExceptionMove to the start of the next line of text. Requires the leading (seesetLeading(double)) to have been set.- Throws:
IOException- If there is an error writing to the stream.
-
moveTextPositionByAmount
@Deprecated public void moveTextPositionByAmount(float tx, float ty) throws IOException
Deprecated.UsenewLineAtOffset(float, float)instead.The Td operator. A current text matrix will be replaced with a new one (1 0 0 1 x y).- Parameters:
tx- The x translation.ty- The y translation.- Throws:
IOException- If there is an error writing to the stream.
-
newLineAtOffset
public void newLineAtOffset(float tx, float ty) throws IOExceptionThe Td operator. Move to the start of the next line, offset from the start of the current line by (tx, ty).- Parameters:
tx- The x translation.ty- The y translation.- Throws:
IOException- If there is an error writing to the stream.IllegalStateException- If the method was not allowed to be called at this time.
-
setTextMatrix
@Deprecated public void setTextMatrix(double a, double b, double c, double d, double e, double f) throws IOException
Deprecated.UsesetTextMatrix(Matrix)instead.The Tm operator. Sets the text matrix to the given values. A current text matrix will be replaced with the new one.- Parameters:
a- The a value of the matrix.b- The b value of the matrix.c- The c value of the matrix.d- The d value of the matrix.e- The e value of the matrix.f- The f value of the matrix.- Throws:
IOException- If there is an error writing to the stream.
-
setTextMatrix
@Deprecated public void setTextMatrix(AffineTransform matrix) throws IOException
Deprecated.UsesetTextMatrix(Matrix)instead.The Tm operator. Sets the text matrix to the given values. A current text matrix will be replaced with the new one.- Parameters:
matrix- the transformation matrix- Throws:
IOException- If there is an error writing to the stream.
-
setTextMatrix
public void setTextMatrix(Matrix matrix) throws IOException
The Tm operator. Sets the text matrix to the given values. A current text matrix will be replaced with the new one.- Parameters:
matrix- the transformation matrix- Throws:
IOException- If there is an error writing to the stream.IllegalStateException- If the method was not allowed to be called at this time.
-
setTextScaling
@Deprecated public void setTextScaling(double sx, double sy, double tx, double ty) throws IOException
Deprecated.UsesetTextMatrix(Matrix)instead.The Tm operator. Sets the text matrix to the given scaling and translation values. A current text matrix will be replaced with the new one.- Parameters:
sx- The scaling factor in x-direction.sy- The scaling factor in y-direction.tx- The translation value in x-direction.ty- The translation value in y-direction.- Throws:
IOException- If there is an error writing to the stream.
-
setTextTranslation
@Deprecated public void setTextTranslation(double tx, double ty) throws IOException
Deprecated.UsesetTextMatrix(Matrix)instead.The Tm operator. Sets the text matrix to the given translation values. A current text matrix will be replaced with the new one.- Parameters:
tx- The translation value in x-direction.ty- The translation value in y-direction.- Throws:
IOException- If there is an error writing to the stream.
-
setTextRotation
@Deprecated public void setTextRotation(double angle, double tx, double ty) throws IOException
Deprecated.UsesetTextMatrix(Matrix)instead.The Tm operator. Sets the text matrix to the given rotation and translation values. A current text matrix will be replaced with the new one.- Parameters:
angle- The angle used for the counterclockwise rotation in radians.tx- The translation value in x-direction.ty- The translation value in y-direction.- Throws:
IOException- If there is an error writing to the stream.
-
drawImage
public void drawImage(PDImageXObject image, float x, float y) throws IOException
Draw an image at the x,y coordinates, with the default size of the image.- Parameters:
image- The image to draw.x- The x-coordinate to draw the image.y- The y-coordinate to draw the image.- Throws:
IOException- If there is an error writing to the stream.
-
drawImage
public void drawImage(PDImageXObject image, float x, float y, float width, float height) throws IOException
Draw an image at the x,y coordinates, with the given size.- Parameters:
image- The image to draw.x- The x-coordinate to draw the image.y- The y-coordinate to draw the image.width- The width to draw the image.height- The height to draw the image.- Throws:
IOException- If there is an error writing to the stream.IllegalStateException- If the method was called within a text block.
-
drawImage
public void drawImage(PDImageXObject image, Matrix matrix) throws IOException
Draw an image at the origin with the given transformation matrix.- Parameters:
image- The image to draw.matrix- The transformation matrix to apply to the image.- Throws:
IOException- If there is an error writing to the stream.IllegalStateException- If the method was called within a text block.
-
drawInlineImage
@Deprecated public void drawInlineImage(PDInlineImage inlineImage, float x, float y) throws IOException
Deprecated.UsedrawImage(PDInlineImage, float, float)instead.Draw an inline image at the x,y coordinates, with the default size of the image.- Parameters:
inlineImage- The inline image to draw.x- The x-coordinate to draw the inline image.y- The y-coordinate to draw the inline image.- Throws:
IOException- If there is an error writing to the stream.
-
drawImage
public void drawImage(PDInlineImage inlineImage, float x, float y) throws IOException
Draw an inline image at the x,y coordinates, with the default size of the image.- Parameters:
inlineImage- The inline image to draw.x- The x-coordinate to draw the inline image.y- The y-coordinate to draw the inline image.- Throws:
IOException- If there is an error writing to the stream.
-
drawInlineImage
@Deprecated public void drawInlineImage(PDInlineImage inlineImage, float x, float y, float width, float height) throws IOException
Deprecated.UsedrawImage(PDInlineImage, float, float, float, float)instead.Draw an inline image at the x,y coordinates and a certain width and height.- Parameters:
inlineImage- The inline image to draw.x- The x-coordinate to draw the inline image.y- The y-coordinate to draw the inline image.width- The width of the inline image to draw.height- The height of the inline image to draw.- Throws:
IOException- If there is an error writing to the stream.
-
drawImage
public void drawImage(PDInlineImage inlineImage, float x, float y, float width, float height) throws IOException
Draw an inline image at the x,y coordinates and a certain width and height.- Parameters:
inlineImage- The inline image to draw.x- The x-coordinate to draw the inline image.y- The y-coordinate to draw the inline image.width- The width of the inline image to draw.height- The height of the inline image to draw.- Throws:
IOException- If there is an error writing to the stream.IllegalStateException- If the method was called within a text block.
-
drawXObject
@Deprecated public void drawXObject(PDXObject xobject, float x, float y, float width, float height) throws IOException
Deprecated.Draw an xobject(form or image) at the x,y coordinates and a certain width and height.- Parameters:
xobject- The xobject to draw.x- The x-coordinate to draw the image.y- The y-coordinate to draw the image.width- The width of the image to draw.height- The height of the image to draw.- Throws:
IOException- If there is an error writing to the stream.
-
drawXObject
@Deprecated public void drawXObject(PDXObject xobject, AffineTransform transform) throws IOException
Deprecated.Draw an xobject(form or image) using the givenAffineTransformto position the xobject.- Parameters:
xobject- The xobject to draw.transform- the transformation matrix- Throws:
IOException- If there is an error writing to the stream.IllegalStateException- If the method was called within a text block.
-
drawForm
public void drawForm(PDFormXObject form) throws IOException
Draws the given Form XObject at the current location.- Parameters:
form- Form XObject- Throws:
IOException- if the content stream could not be writtenIllegalStateException- If the method was called within a text block.
-
concatenate2CTM
@Deprecated public void concatenate2CTM(double a, double b, double c, double d, double e, double f) throws IOException
Deprecated.Usetransform(com.tom_roush.pdfbox.util.Matrix)instead.The cm operator. Concatenates the current transformation matrix with the given values.- Parameters:
a- The a value of the matrix.b- The b value of the matrix.c- The c value of the matrix.d- The d value of the matrix.e- The e value of the matrix.f- The f value of the matrix.- Throws:
IOException- If there is an error writing to the stream.
-
concatenate2CTM
@Deprecated public void concatenate2CTM(AffineTransform at) throws IOException
Deprecated.Usetransform(com.tom_roush.pdfbox.util.Matrix)instead.The cm operator. Concatenates the current transformation matrix with the givenAffineTransform.- Parameters:
at- the transformation matrix- Throws:
IOException- If there is an error writing to the stream.
-
transform
public void transform(Matrix matrix) throws IOException
The cm operator. Concatenates the given matrix with the current transformation matrix (CTM), which maps user space coordinates used within a PDF content stream into output device coordinates. More details on coordinates can be found in the PDF 32000 specification, 8.3.2 Coordinate Spaces.- Parameters:
matrix- the transformation matrix- Throws:
IOException- If there is an error writing to the stream.
-
saveGraphicsState
public void saveGraphicsState() throws IOExceptionq operator. Saves the current graphics state.- Throws:
IOException- If an error occurs while writing to the stream.
-
restoreGraphicsState
public void restoreGraphicsState() throws IOExceptionQ operator. Restores the current graphics state.- Throws:
IOException- If an error occurs while writing to the stream.
-
setStrokingColorSpace
@Deprecated public void setStrokingColorSpace(PDColorSpace colorSpace) throws IOException
Deprecated.Set the stroking color space. This will add the colorspace to the PDResources if necessary.- Parameters:
colorSpace- The colorspace to write.- Throws:
IOException- If there is an error writing the colorspace.
-
setNonStrokingColorSpace
@Deprecated public void setNonStrokingColorSpace(PDColorSpace colorSpace) throws IOException
Deprecated.UsesetNonStrokingColor(PDColor)instead.Set the stroking color space. This will add the colorspace to the PDResources if necessary.- Parameters:
colorSpace- The colorspace to write.- Throws:
IOException- If there is an error writing the colorspace.
-
setStrokingColor
public void setStrokingColor(PDColor color) throws IOException
Sets the stroking color and, if necessary, the stroking color space.- Parameters:
color- Color in a specific color space.- Throws:
IOException- If an IO error occurs while writing to the stream.
-
setStrokingColor
public void setStrokingColor(AWTColor color) throws IOException
Set the stroking color using an AWT color. Conversion uses the default sRGB color space.- Parameters:
color- The color to set.- Throws:
IOException- If an IO error occurs while writing to the stream.
-
setStrokingColor
@Deprecated public void setStrokingColor(float[] components) throws IOException
Deprecated.UsesetStrokingColor(PDColor)instead.Set the color components of current stroking color space.- Parameters:
components- The components to set for the current color.- Throws:
IOException- If there is an error while writing to the stream.
-
setStrokingColor
public void setStrokingColor(float r, float g, float b) throws IOExceptionSet the stroking color in the DeviceRGB color space. Range is 0..1.- Parameters:
r- The red valueg- The green value.b- The blue value.- Throws:
IOException- If an IO error occurs while writing to the stream.IllegalArgumentException- If the parameters are invalid.
-
setStrokingColor
@Deprecated public void setStrokingColor(int r, int g, int b) throws IOException
Deprecated.Set the stroking color in the DeviceRGB color space. Range is 0..255.- Parameters:
r- The red valueg- The green value.b- The blue value.- Throws:
IOException- If an IO error occurs while writing to the stream.IllegalArgumentException- If the parameters are invalid.
-
setStrokingColor
@Deprecated public void setStrokingColor(int c, int m, int y, int k) throws IOException
Deprecated.UsesetStrokingColor(c/255f, m/255f, y/255f, k/255f)instead.Set the stroking color in the DeviceCMYK color space. Range is 0..255.- Parameters:
c- The cyan value.m- The magenta value.y- The yellow value.k- The black value.- Throws:
IOException- If an IO error occurs while writing to the stream.IllegalArgumentException- If the parameters are invalid.
-
setStrokingColor
public void setStrokingColor(float c, float m, float y, float k) throws IOExceptionSet the stroking color in the DeviceCMYK color space. Range is 0..1- Parameters:
c- The cyan value.m- The magenta value.y- The yellow value.k- The black value.- Throws:
IOException- If an IO error occurs while writing to the stream.IllegalArgumentException- If the parameters are invalid.
-
setStrokingColor
@Deprecated public void setStrokingColor(int g) throws IOException
Deprecated.UsesetStrokingColor(g/255f)instead.Set the stroking color in the DeviceGray color space. Range is 0..255.- Parameters:
g- The gray value.- Throws:
IOException- If an IO error occurs while writing to the stream.IllegalArgumentException- If the parameter is invalid.
-
setStrokingColor
@Deprecated public void setStrokingColor(double g) throws IOException
Deprecated.Set the stroking color in the DeviceGray color space. Range is 0..1.- Parameters:
g- The gray value.- Throws:
IOException- If an IO error occurs while writing to the stream.IllegalArgumentException- If the parameter is invalid.
-
setStrokingColor
public void setStrokingColor(float g) throws IOExceptionSet the stroking color in the DeviceGray color space. Range is 0..1.- Parameters:
g- The gray value.- Throws:
IOException- If an IO error occurs while writing to the stream.IllegalArgumentException- If the parameter is invalid.
-
setNonStrokingColor
public void setNonStrokingColor(PDColor color) throws IOException
Sets the non-stroking color and, if necessary, the non-stroking color space.- Parameters:
color- Color in a specific color space.- Throws:
IOException- If an IO error occurs while writing to the stream.
-
setNonStrokingColor
public void setNonStrokingColor(AWTColor color) throws IOException
Set the non-stroking color using an AWT color. Conversion uses the default sRGB color space.- Parameters:
color- The color to set.- Throws:
IOException- If an IO error occurs while writing to the stream.
-
setNonStrokingColor
@Deprecated public void setNonStrokingColor(float[] components) throws IOException
Deprecated.UsesetNonStrokingColor(PDColor)instead.Set the color components of current non-stroking color space.- Parameters:
components- The components to set for the current color.- Throws:
IOException- If there is an error while writing to the stream.
-
setNonStrokingColor
public void setNonStrokingColor(float r, float g, float b) throws IOExceptionSet the non-stroking color in the DeviceRGB color space. Range is 0..255.- Parameters:
r- The red value.g- The green value.b- The blue value.- Throws:
IOException- If an IO error occurs while writing to the stream.IllegalArgumentException- If the parameters are invalid.
-
setNonStrokingColor
@Deprecated public void setNonStrokingColor(int r, int g, int b) throws IOException
Deprecated.Set the non stroking color in the DeviceRGB color space. Range is 0..255.- Parameters:
r- The red valueg- The green value.b- The blue value.- Throws:
IOException- If an IO error occurs while writing to the stream.IllegalArgumentException- If the parameters are invalid.
-
setNonStrokingColor
public void setNonStrokingColor(int c, int m, int y, int k) throws IOExceptionSet the non-stroking color in the DeviceCMYK color space. Range is 0..255.- Parameters:
c- The cyan value.m- The magenta value.y- The yellow value.k- The black value.- Throws:
IOException- If an IO error occurs while writing to the stream.IllegalArgumentException- If the parameters are invalid.
-
setNonStrokingColor
@Deprecated public void setNonStrokingColor(double c, double m, double y, double k) throws IOException
Deprecated.Set the non-stroking color in the DeviceCMYK color space. Range is 0..1.- Parameters:
c- The cyan value.m- The magenta value.y- The yellow value.k- The black value.- Throws:
IOException- If an IO error occurs while writing to the stream.
-
setNonStrokingColor
public void setNonStrokingColor(float c, float m, float y, float k) throws IOExceptionSet the non-stroking color in the DeviceCMYK color space. Range is 0..1.- Parameters:
c- The cyan value.m- The magenta value.y- The yellow value.k- The black value.- Throws:
IOException- If an IO error occurs while writing to the stream.
-
setNonStrokingColor
public void setNonStrokingColor(int g) throws IOExceptionDeprecated.Set the non-stroking color in the DeviceGray color space. Range is 0..255.- Parameters:
g- The gray value.- Throws:
IOException- If an IO error occurs while writing to the stream.IllegalArgumentException- If the parameter is invalid.
-
setNonStrokingColor
@Deprecated public void setNonStrokingColor(double g) throws IOException
Deprecated.Set the non-stroking color in the DeviceGray color space. Range is 0..1.- Parameters:
g- The gray value.- Throws:
IOException- If an IO error occurs while writing to the stream.IllegalArgumentException- If the parameter is invalid.
-
setNonStrokingColor
public void setNonStrokingColor(float g) throws IOExceptionSet the non-stroking color in the DeviceGray color space. Range is 0..1.- Parameters:
g- The gray value.- Throws:
IOException- If an IO error occurs while writing to the stream.IllegalArgumentException- If the parameter is invalid.
-
addRect
public void addRect(float x, float y, float width, float height) throws IOExceptionAdd a rectangle to the current path.- Parameters:
x- The lower left x coordinate.y- The lower left y coordinate.width- The width of the rectangle.height- The height of the rectangle.- Throws:
IOException- If the content stream could not be written.IllegalStateException- If the method was called within a text block.
-
fillRect
@Deprecated public void fillRect(float x, float y, float width, float height) throws IOException
Deprecated.UseaddRect(float, float, float, float)followed byfill()instead.Fill a rectangle on the page using the current non stroking color.- Parameters:
x- The lower left x coordinate.y- The lower left y coordinate.width- The width of the rectangle.height- The height of the rectangle.- Throws:
IOException- If there is an error while drawing on the screen.IllegalStateException- If the method was called within a text block.
-
addBezier312
@Deprecated public void addBezier312(float x1, float y1, float x2, float y2, float x3, float y3) throws IOException
Deprecated.UsecurveTo(float, float, float, float, float, float)instead.Append a cubic Bézier curve to the current path. The curve extends from the current point to the point (x3 , y3 ), using (x1 , y1 ) and (x2 , y2 ) as the Bézier control points- Parameters:
x1- x coordinate of the point 1y1- y coordinate of the point 1x2- x coordinate of the point 2y2- y coordinate of the point 2x3- x coordinate of the point 3y3- y coordinate of the point 3- Throws:
IOException- If there is an error while adding the .
-
curveTo
public void curveTo(float x1, float y1, float x2, float y2, float x3, float y3) throws IOExceptionAppend a cubic Bézier curve to the current path. The curve extends from the current point to the point (x3, y3), using (x1, y1) and (x2, y2) as the Bézier control points.- Parameters:
x1- x coordinate of the point 1y1- y coordinate of the point 1x2- x coordinate of the point 2y2- y coordinate of the point 2x3- x coordinate of the point 3y3- y coordinate of the point 3- Throws:
IOException- If the content stream could not be written.IllegalStateException- If the method was called within a text block.
-
addBezier32
@Deprecated public void addBezier32(float x2, float y2, float x3, float y3) throws IOException
Deprecated.UsecurveTo2(float, float, float, float)instead.Append a cubic Bézier curve to the current path. The curve extends from the current point to the point (x3 , y3 ), using the current point and (x2 , y2 ) as the Bézier control points/- Parameters:
x2- x coordinate of the point 2y2- y coordinate of the point 2x3- x coordinate of the point 3y3- y coordinate of the point 3- Throws:
IOException- If there is an error while adding the .
-
curveTo2
public void curveTo2(float x2, float y2, float x3, float y3) throws IOExceptionAppend a cubic Bézier curve to the current path. The curve extends from the current point to the point (x3, y3), using the current point and (x2, y2) as the Bézier control points.- Parameters:
x2- x coordinate of the point 2y2- y coordinate of the point 2x3- x coordinate of the point 3y3- y coordinate of the point 3- Throws:
IllegalStateException- If the method was called within a text block.IOException- If the content stream could not be written.
-
addBezier31
@Deprecated public void addBezier31(float x1, float y1, float x3, float y3) throws IOException
Deprecated.UsecurveTo1(float, float, float, float)instead.Append a cubic Bézier curve to the current path. The curve extends from the current point to the point (x3 , y3 ), using (x1 , y1 ) and (x3 , y3 ) as the Bézier control points/- Parameters:
x1- x coordinate of the point 1y1- y coordinate of the point 1x3- x coordinate of the point 3y3- y coordinate of the point 3- Throws:
IOException- If there is an error while adding the .
-
curveTo1
public void curveTo1(float x1, float y1, float x3, float y3) throws IOExceptionAppend a cubic Bézier curve to the current path. The curve extends from the current point to the point (x3, y3), using (x1, y1) and (x3, y3) as the Bézier control points.- Parameters:
x1- x coordinate of the point 1y1- y coordinate of the point 1x3- x coordinate of the point 3y3- y coordinate of the point 3- Throws:
IOException- If the content stream could not be written.IllegalStateException- If the method was called within a text block.
-
moveTo
public void moveTo(float x, float y) throws IOExceptionMove the current position to the given coordinates.- Parameters:
x- The x coordinate.y- The y coordinate.- Throws:
IOException- If the content stream could not be written.IllegalStateException- If the method was called within a text block.
-
lineTo
public void lineTo(float x, float y) throws IOExceptionDraw a line from the current position to the given coordinates.- Parameters:
x- The x coordinate.y- The y coordinate.- Throws:
IOException- If the content stream could not be written.IllegalStateException- If the method was called within a text block.
-
addLine
@Deprecated public void addLine(float xStart, float yStart, float xEnd, float yEnd) throws IOException
Deprecated.Usemoveto(xStart,yStart)followed bylineTo(xEnd,yEnd).add a line to the current path.- Parameters:
xStart- The start x coordinate.yStart- The start y coordinate.xEnd- The end x coordinate.yEnd- The end y coordinate.- Throws:
IOException- If there is an error while adding the line.IllegalStateException- If the method was called within a text block.
-
drawLine
@Deprecated public void drawLine(float xStart, float yStart, float xEnd, float yEnd) throws IOException
Deprecated.Draw a line on the page using the current stroking color and the current line width.- Parameters:
xStart- The start x coordinate.yStart- The start y coordinate.xEnd- The end x coordinate.yEnd- The end y coordinate.- Throws:
IOException- If there is an error while drawing on the screen.IllegalStateException- If the method was called within a text block.
-
addPolygon
@Deprecated public void addPolygon(float[] x, float[] y) throws IOException
Deprecated.UsemoveTo(float, float)andlineTo(float, float)methods instead.Add a polygon to the current path.- Parameters:
x- x coordinate of each pointsy- y coordinate of each points- Throws:
IOException- If there is an error while drawing on the screen.IllegalStateException- If the method was called within a text block.IllegalArgumentException- If the two arrays have different lengths.
-
drawPolygon
@Deprecated public void drawPolygon(float[] x, float[] y) throws IOException
Deprecated.UsemoveTo(float, float)andlineTo(float, float)methods instead.Draw a polygon on the page using the current stroking color.- Parameters:
x- x coordinate of each pointsy- y coordinate of each points- Throws:
IOException- If there is an error while drawing on the screen.IllegalStateException- If the method was called within a text block.
-
fillPolygon
@Deprecated public void fillPolygon(float[] x, float[] y) throws IOException
Deprecated.UsemoveTo(float, float)andlineTo(float, float)methods instead.Draw and fill a polygon on the page using the current stroking / non stroking colors.- Parameters:
x- x coordinate of each pointsy- y coordinate of each points- Throws:
IOException- If there is an error while drawing on the screen.IllegalStateException- If the method was called within a text block.
-
stroke
public void stroke() throws IOExceptionStroke the path.- Throws:
IOException- If the content stream could not be writtenIllegalStateException- If the method was called within a text block.
-
closeAndStroke
public void closeAndStroke() throws IOExceptionClose and stroke the path.- Throws:
IOException- If the content stream could not be writtenIllegalStateException- If the method was called within a text block.
-
fill
@Deprecated public void fill(Path.FillType windingRule) throws IOException
Deprecated.Usefill()orfillEvenOdd()instead.Fill the path.- Parameters:
windingRule- the winding rule to be used for filling- Throws:
IOException- If the content stream could not be writtenIllegalArgumentException- If the parameter is not a valid winding rule.
-
fill
public void fill() throws IOExceptionFills the path using the nonzero winding number rule.- Throws:
IOException- If the content stream could not be writtenIllegalStateException- If the method was called within a text block.
-
fillEvenOdd
public void fillEvenOdd() throws IOExceptionFills the path using the even-odd winding rule.- Throws:
IOException- If the content stream could not be writtenIllegalStateException- If the method was called within a text block.
-
fillAndStroke
public void fillAndStroke() throws IOExceptionFill and then stroke the path, using the nonzero winding number rule to determine the region to fill. This shall produce the same result as constructing two identical path objects, painting the first withfill()and the second withstroke().- Throws:
IOException- If the content stream could not be writtenIllegalStateException- If the method was called within a text block.
-
fillAndStrokeEvenOdd
public void fillAndStrokeEvenOdd() throws IOExceptionFill and then stroke the path, using the even-odd rule to determine the region to fill. This shall produce the same result as constructing two identical path objects, painting the first withfillEvenOdd()and the second withstroke().- Throws:
IOException- If the content stream could not be writtenIllegalStateException- If the method was called within a text block.
-
closeAndFillAndStroke
public void closeAndFillAndStroke() throws IOExceptionClose, fill, and then stroke the path, using the nonzero winding number rule to determine the region to fill. This shall have the same effect as the sequenceclosePath()and thenfillAndStroke().- Throws:
IOException- If the content stream could not be writtenIllegalStateException- If the method was called within a text block.
-
closeAndFillAndStrokeEvenOdd
public void closeAndFillAndStrokeEvenOdd() throws IOExceptionClose, fill, and then stroke the path, using the even-odd rule to determine the region to fill. This shall have the same effect as the sequenceclosePath()and thenfillAndStrokeEvenOdd().- Throws:
IOException- If the content stream could not be writtenIllegalStateException- If the method was called within a text block.
-
shadingFill
public void shadingFill(PDShading shading) throws IOException
Fills the clipping area with the given shading.- Parameters:
shading- Shading resource- Throws:
IOException- If the content stream could not be writtenIllegalStateException- If the method was called within a text block.
-
closeSubPath
@Deprecated public void closeSubPath() throws IOException
Deprecated.UseclosePath()instead.Closes the current subpath.- Throws:
IOException- If the content stream could not be written
-
closePath
public void closePath() throws IOExceptionCloses the current subpath.- Throws:
IOException- If the content stream could not be writtenIllegalStateException- If the method was called within a text block.
-
clipPath
@Deprecated public void clipPath(Path.FillType windingRule) throws IOException
Deprecated.Useclip()orclipEvenOdd()instead.Clip path.- Parameters:
windingRule- the winding rule to be used for clipping- Throws:
IOException- If there is an error while clipping the path.IllegalStateException- If the method was called within a text block.
-
clip
public void clip() throws IOExceptionIntersects the current clipping path with the current path, using the nonzero rule.- Throws:
IOException- If the content stream could not be writtenIllegalStateException- If the method was called within a text block.
-
clipEvenOdd
public void clipEvenOdd() throws IOExceptionIntersects the current clipping path with the current path, using the even-odd rule.- Throws:
IOException- If the content stream could not be writtenIllegalStateException- If the method was called within a text block.
-
setLineWidth
public void setLineWidth(float lineWidth) throws IOExceptionSet line width to the given value.- Parameters:
lineWidth- The width which is used for drawing.- Throws:
IOException- If the content stream could not be written
-
setLineJoinStyle
public void setLineJoinStyle(int lineJoinStyle) throws IOExceptionSet the line join style.- Parameters:
lineJoinStyle- 0 for miter join, 1 for round join, and 2 for bevel join.- Throws:
IOException- If the content stream could not be written.IllegalArgumentException- If the parameter is not a valid line join style.
-
setLineCapStyle
public void setLineCapStyle(int lineCapStyle) throws IOExceptionSet the line cap style.- Parameters:
lineCapStyle- 0 for butt cap, 1 for round cap, and 2 for projecting square cap.- Throws:
IOException- If the content stream could not be written.IllegalArgumentException- If the parameter is not a valid line cap style.
-
setLineDashPattern
public void setLineDashPattern(float[] pattern, float phase) throws IOExceptionSet the line dash pattern.- Parameters:
pattern- The pattern arrayphase- The phase of the pattern- Throws:
IOException- If the content stream could not be written.
-
setMiterLimit
public void setMiterLimit(float miterLimit) throws IOExceptionSet the miter limit.- Parameters:
miterLimit- the new miter limit.- Throws:
IOException- If the content stream could not be written.IllegalArgumentException- If the parameter is ≤ 0.
-
beginMarkedContentSequence
@Deprecated public void beginMarkedContentSequence(COSName tag) throws IOException
Deprecated.UsebeginMarkedContent(com.tom_roush.pdfbox.cos.COSName)instead.Begin a marked content sequence.- Parameters:
tag- the tag- Throws:
IOException- if an I/O error occurs
-
beginMarkedContent
public void beginMarkedContent(COSName tag) throws IOException
Begin a marked content sequence.- Parameters:
tag- the tag- Throws:
IOException- If the content stream could not be written
-
beginMarkedContentSequence
@Deprecated public void beginMarkedContentSequence(COSName tag, COSName propsName) throws IOException
Deprecated.UsebeginMarkedContent(COSName, PDPropertyList)instead.Begin a marked content sequence with a reference to an entry in the page resources' Properties dictionary.- Parameters:
tag- the tagpropsName- the properties reference- Throws:
IOException- if an I/O error occurs
-
beginMarkedContent
public void beginMarkedContent(COSName tag, PDPropertyList propertyList) throws IOException
Begin a marked content sequence with a reference to an entry in the page resources' Properties dictionary.- Parameters:
tag- the tagpropertyList- property list- Throws:
IOException- If the content stream could not be written
-
endMarkedContentSequence
@Deprecated public void endMarkedContentSequence() throws IOException
Deprecated.UseendMarkedContent()instead.End a marked content sequence.- Throws:
IOException- If the content stream could not be written
-
endMarkedContent
public void endMarkedContent() throws IOExceptionEnd a marked content sequence.- Throws:
IOException- If the content stream could not be written
-
appendRawCommands
@Deprecated public void appendRawCommands(String commands) throws IOException
Deprecated.Usage of this method is discouraged.This will append raw commands to the content stream.- Parameters:
commands- The commands to append to the stream.- Throws:
IOException- If an error occurs while writing to the stream.
-
appendRawCommands
@Deprecated public void appendRawCommands(byte[] commands) throws IOException
Deprecated.Usage of this method is discouraged.This will append raw commands to the content stream.- Parameters:
commands- The commands to append to the stream.- Throws:
IOException- If an error occurs while writing to the stream.
-
appendRawCommands
@Deprecated public void appendRawCommands(int data) throws IOException
Deprecated.Usage of this method is discouraged.This will append raw commands to the content stream.- Parameters:
data- Append a raw byte to the stream.- Throws:
IOException- If an error occurs while writing to the stream.
-
appendRawCommands
@Deprecated public void appendRawCommands(double data) throws IOException
Deprecated.Usage of this method is discouraged.This will append raw commands to the content stream.- Parameters:
data- Append a formatted double value to the stream.- Throws:
IOException- If an error occurs while writing to the stream.
-
appendRawCommands
@Deprecated public void appendRawCommands(float data) throws IOException
Deprecated.Usage of this method is discouraged.This will append raw commands to the content stream.- Parameters:
data- Append a formatted float value to the stream.- Throws:
IOException- If an error occurs while writing to the stream.
-
appendCOSName
@Deprecated public void appendCOSName(COSName name) throws IOException
Deprecated.Usage of this method is discouraged.This will append aCOSNameto the content stream.- Parameters:
name- the name- Throws:
IOException- If an error occurs while writing to the stream.
-
setGraphicsStateParameters
public void setGraphicsStateParameters(PDExtendedGraphicsState state) throws IOException
Set an extended graphics state.- Parameters:
state- The extended graphics state.- Throws:
IOException- If the content stream could not be written.
-
addComment
public void addComment(String comment) throws IOException
Write a comment line.- Parameters:
comment- the comment to be added to the content stream.- Throws:
IOException- If the content stream could not be written.IllegalArgumentException- If the comment contains a newline. This is not allowed, because the next line could be ordinary PDF content.
-
writeOperand
protected void writeOperand(float real) throws IOExceptionWrites a real number to the content stream.- Parameters:
real- the float value to be added to the content stream.- Throws:
IOException- if something went wrongIllegalArgumentException- if the parameter is not a finite number
-
close
public void close() throws IOExceptionClose the content stream. This must be called when you are done with this object.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException- If the underlying stream has a problem being written to.
-
setRenderingMode
public void setRenderingMode(RenderingMode rm) throws IOException
Set the text rendering mode. This determines whether showing text shall cause glyph outlines to be stroked, filled, used as a clipping boundary, or some combination of the three.- Parameters:
rm- The text rendering mode.- Throws:
IOException- If the content stream could not be written.
-
setCharacterSpacing
public void setCharacterSpacing(float spacing) throws IOExceptionSet the character spacing. The value shall be added to the horizontal or vertical component of the glyph's displacement, depending on the writing mode.- Parameters:
spacing- character spacing- Throws:
IOException- If the content stream could not be written.
-
setWordSpacing
public void setWordSpacing(float spacing) throws IOExceptionSet the word spacing. The value shall be added to the horizontal or vertical component of the ASCII SPACE character, depending on the writing mode.This will have an effect only with Type1 and TrueType fonts, not with Type0 fonts. The PDF specification tells why: "Word spacing shall be applied to every occurrence of the single-byte character code 32 in a string when using a simple font or a composite font that defines code 32 as a single-byte code. It shall not apply to occurrences of the byte value 32 in multiple-byte codes."
- Parameters:
spacing- word spacing- Throws:
IOException- If the content stream could not be written.
-
setHorizontalScaling
public void setHorizontalScaling(float scale) throws IOExceptionSet the horizontal scaling to scale / 100.- Parameters:
scale- number specifying the percentage of the normal width. Default value: 100 (normal width).- Throws:
IOException- If the content stream could not be written.
-
setTextRise
public void setTextRise(float rise) throws IOExceptionSet the text rise value, i.e. move the baseline up or down. This is useful for drawing superscripts or subscripts.- Parameters:
rise- Specifies the distance, in unscaled text space units, to move the baseline up or down from its default location. 0 restores the default location.- Throws:
IOException
-
-