Guest User

Untitled

a guest
May 19th, 2020
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 13.49 KB | None | 0 0
  1. interface PdfContentStream {
  2.     fun beginText()
  3.     fun endText()
  4.     fun setFont(font: PDFont, fontSize: Float)
  5.     fun showTextWithPositioning(textWithPositioningArray: Array<Any>)
  6.     fun showText(text: String)
  7.     fun setLeading(leading: Float)
  8.     fun newLine()
  9.     fun newLineAtOffset(tx: Float, ty: Float)
  10.     fun setTextMatrix(matrix: Matrix)
  11.     fun drawImage(image: PDImageXObject, x: Float, y: Float)
  12.     fun drawImage(image: PDImageXObject, x: Float, y: Float, width: Float, height: Float)
  13.     fun drawImage(image: PDImageXObject, matrix: Matrix)
  14.     fun drawImage(inlineImage: PDInlineImage, x: Float, y: Float)
  15.     fun drawImage(inlineImage: PDInlineImage, x: Float, y: Float, width: Float, height: Float)
  16.     fun drawForm(form: PDFormXObject)
  17.     fun transform(matrix: Matrix)
  18.     fun saveGraphicsState()
  19.     fun restoreGraphicsState()
  20.     fun setStrokingColor(color: PDColor)
  21.     fun setStrokingColor(color: Color)
  22.     fun setStrokingColor(r: Float, g: Float, b: Float)
  23.     fun setStrokingColor(c: Float, m: Float, y: Float, k: Float)
  24.     fun setStrokingColor(g: Float)
  25.     fun setNonStrokingColor(color: PDColor)
  26.     fun setNonStrokingColor(color: Color)
  27.     fun setNonStrokingColor(r: Float, g: Float, b: Float)
  28.     fun setNonStrokingColor(c: Int, m: Int, y: Int, k: Int)
  29.     fun setNonStrokingColor(c: Float, m: Float, y: Float, k: Float)
  30.     fun setNonStrokingColor(g: Float)
  31.     fun addRect(x: Float, y: Float, width: Float, height: Float)
  32.     fun curveTo(x1: Float, y1: Float, x2: Float, y2: Float, x3: Float, y3: Float)
  33.     fun curveTo2(x2: Float, y2: Float, x3: Float, y3: Float)
  34.     fun curveTo1(x1: Float, y1: Float, x3: Float, y3: Float)
  35.     fun moveTo(x: Float, y: Float)
  36.     fun lineTo(x: Float, y: Float)
  37.     fun stroke()
  38.     fun closeAndStroke()
  39.     fun fill()
  40.     fun fillEvenOdd()
  41.     fun fillAndStroke()
  42.     fun fillAndStrokeEvenOdd()
  43.     fun closeAndFillAndStroke()
  44.     fun closeAndFillAndStrokeEvenOdd()
  45.     fun shadingFill(shading: PDShading)
  46.     fun closePath()
  47.     fun clip()
  48.     fun clipEvenOdd()
  49.     fun setLineWidth(lineWidth: Float)
  50.     fun setLineJoinStyle(lineJoinStyle: Int)
  51.     fun setLineCapStyle(lineCapStyle: Int)
  52.     fun setLineDashPattern(pattern: FloatArray, phase: Float)
  53.     fun setMiterLimit(miterLimit: Float)
  54.     fun beginMarkedContent(tag: COSName)
  55.     fun beginMarkedContent(tag: COSName, propertyList: PDPropertyList)
  56.     fun endMarkedContent()
  57.     fun setGraphicsStateParameters(state: PDExtendedGraphicsState)
  58.     fun addComment(comment: String)
  59.     fun setCharacterSpacing(spacing: Float)
  60.     fun setWordSpacing(spacing: Float)
  61.     fun setHorizontalScaling(scale: Float)
  62.     fun setRenderingMode(rm: RenderingMode)
  63.     fun setTextRise(rise: Float)
  64.     fun close()
  65. }
  66.  
  67. class PdfPageContentStream(pdfDoc: PDDocument, page: PDPage) : PdfContentStream {
  68.  
  69.     private val stream = PDPageContentStream(pdfDoc, page)
  70.  
  71.     override fun beginText() = stream.beginText()
  72.     override fun endText() = stream.endText()
  73.     override fun setFont(font: PDFont, fontSize: Float) = stream.setFont(font, fontSize)
  74.     override fun showTextWithPositioning(textWithPositioningArray: Array<Any>) = stream.showTextWithPositioning(textWithPositioningArray)
  75.     override fun showText(text: String) = stream.showText(text)
  76.     override fun setLeading(leading: Float) = stream.setLeading(leading)
  77.     override fun newLine() = stream.newLine()
  78.     override fun newLineAtOffset(tx: Float, ty: Float) = stream.newLineAtOffset(tx, ty)
  79.     override fun setTextMatrix(matrix: Matrix) = stream.setTextMatrix(matrix)
  80.     override fun drawImage(image: PDImageXObject, x: Float, y: Float) = stream.drawImage(image, x, y)
  81.     override fun drawImage(image: PDImageXObject, x: Float, y: Float, width: Float, height: Float) = stream.drawImage(image, x, y, width, height)
  82.     override fun drawImage(image: PDImageXObject, matrix: Matrix) = stream.drawImage(image, matrix)
  83.     override fun drawImage(inlineImage: PDInlineImage, x: Float, y: Float) = stream.drawImage(inlineImage, x, y)
  84.     override fun drawImage(inlineImage: PDInlineImage, x: Float, y: Float, width: Float, height: Float) = stream.drawImage(inlineImage, x, y, width, height)
  85.     override fun drawForm(form: PDFormXObject) = stream.drawForm(form)
  86.     override fun transform(matrix: Matrix) = stream.transform(matrix)
  87.     override fun saveGraphicsState() = stream.saveGraphicsState()
  88.     override fun restoreGraphicsState() = stream.restoreGraphicsState()
  89.     override fun setStrokingColor(color: PDColor) = stream.setStrokingColor(color)
  90.     override fun setStrokingColor(color: Color) = stream.setStrokingColor(color.toAwtColor())
  91.     override fun setStrokingColor(r: Float, g: Float, b: Float) = stream.setStrokingColor(r, g, b)
  92.     override fun setStrokingColor(c: Float, m: Float, y: Float, k: Float) = stream.setStrokingColor(c, m, y, k)
  93.     override fun setStrokingColor(g: Float) = stream.setStrokingColor(g)
  94.     override fun setNonStrokingColor(color: PDColor) = stream.setNonStrokingColor(color)
  95.     override fun setNonStrokingColor(color: Color) = stream.setNonStrokingColor(color)
  96.     override fun setNonStrokingColor(r: Float, g: Float, b: Float) = stream.setNonStrokingColor(r, g, b)
  97.     override fun setNonStrokingColor(c: Int, m: Int, y: Int, k: Int) = stream.setNonStrokingColor(c, m, y, k)
  98.     override fun setNonStrokingColor(c: Float, m: Float, y: Float, k: Float) = stream.setNonStrokingColor(c, m, y, k)
  99.     override fun setNonStrokingColor(g: Float) = stream.setNonStrokingColor(g)
  100.     override fun addRect(x: Float, y: Float, width: Float, height: Float) = stream.addRect(x, y, width, height)
  101.     override fun curveTo(x1: Float, y1: Float, x2: Float, y2: Float, x3: Float, y3: Float) = stream.curveTo(x1, y1, x2, y2, x3, y3)
  102.     override fun curveTo2(x2: Float, y2: Float, x3: Float, y3: Float) = stream.curveTo2(x2, y2, x3, y3)
  103.     override fun curveTo1(x1: Float, y1: Float, x3: Float, y3: Float) = stream.curveTo1(x1, y1, x3, y3)
  104.     override fun moveTo(x: Float, y: Float) = stream.moveTo(x, y)
  105.     override fun lineTo(x: Float, y: Float) = stream.lineTo(x, y)
  106.     override fun stroke() = stream.stroke()
  107.     override fun closeAndStroke() = stream.closeAndStroke()
  108.     override fun fill() = stream.fill()
  109.     override fun fillEvenOdd() = stream.fillEvenOdd()
  110.     override fun fillAndStroke() = stream.fillAndStroke()
  111.     override fun fillAndStrokeEvenOdd() = stream.fillAndStrokeEvenOdd()
  112.     override fun closeAndFillAndStroke() = stream.closeAndFillAndStroke()
  113.     override fun closeAndFillAndStrokeEvenOdd() = stream.closeAndFillAndStrokeEvenOdd()
  114.     override fun shadingFill(shading: PDShading) = stream.shadingFill(shading)
  115.     override fun closePath() = stream.closePath()
  116.     override fun clip() = stream.clip()
  117.     override fun clipEvenOdd() = stream.clipEvenOdd()
  118.     override fun setLineWidth(lineWidth: Float) = stream.setLineWidth(lineWidth)
  119.     override fun setLineJoinStyle(lineJoinStyle: Int) = stream.setLineJoinStyle(lineJoinStyle)
  120.     override fun setLineCapStyle(lineCapStyle: Int) = stream.setLineCapStyle(lineCapStyle)
  121.     override fun setLineDashPattern(pattern: FloatArray, phase: Float) = stream.setLineDashPattern(pattern, phase)
  122.     override fun setMiterLimit(miterLimit: Float) = stream.setMiterLimit(miterLimit)
  123.     override fun beginMarkedContent(tag: COSName) = stream.beginMarkedContent(tag)
  124.     override fun beginMarkedContent(tag: COSName, propertyList: PDPropertyList) = stream.beginMarkedContent(tag, propertyList)
  125.     override fun endMarkedContent() = stream.endMarkedContent()
  126.     override fun setGraphicsStateParameters(state: PDExtendedGraphicsState) = stream.setGraphicsStateParameters(state)
  127.     override fun addComment(comment: String) = stream.addComment(comment)
  128.     override fun setCharacterSpacing(spacing: Float) = stream.setCharacterSpacing(spacing)
  129.     override fun setWordSpacing(spacing: Float) = stream.setWordSpacing(spacing)
  130.     override fun setHorizontalScaling(scale: Float) = stream.setHorizontalScaling(scale)
  131.     override fun setRenderingMode(rm: RenderingMode) = stream.setRenderingMode(rm)
  132.     override fun setTextRise(rise: Float) = stream.setTextRise(rise)
  133.     override fun close() = stream.close()
  134. }
  135.  
  136. class PdfFormContentStream(form: PDFormXObject) : PdfContentStream {
  137.  
  138.     private val stream = PDFormContentStream(form)
  139.  
  140.     override fun beginText() = stream.beginText()
  141.     override fun endText() = stream.endText()
  142.     override fun setFont(font: PDFont, fontSize: Float) = stream.setFont(font, fontSize)
  143.     override fun showTextWithPositioning(textWithPositioningArray: Array<Any>) = stream.showTextWithPositioning(textWithPositioningArray)
  144.     override fun showText(text: String) = stream.showText(text)
  145.     override fun setLeading(leading: Float) = stream.setLeading(leading)
  146.     override fun newLine() = stream.newLine()
  147.     override fun newLineAtOffset(tx: Float, ty: Float) = stream.newLineAtOffset(tx, ty)
  148.     override fun setTextMatrix(matrix: Matrix) = stream.setTextMatrix(matrix)
  149.     override fun drawImage(image: PDImageXObject, x: Float, y: Float) = stream.drawImage(image, x, y)
  150.     override fun drawImage(image: PDImageXObject, x: Float, y: Float, width: Float, height: Float) = stream.drawImage(image, x, y, width, height)
  151.     override fun drawImage(image: PDImageXObject, matrix: Matrix) = stream.drawImage(image, matrix)
  152.     override fun drawImage(inlineImage: PDInlineImage, x: Float, y: Float) = stream.drawImage(inlineImage, x, y)
  153.     override fun drawImage(inlineImage: PDInlineImage, x: Float, y: Float, width: Float, height: Float) = stream.drawImage(inlineImage, x, y, width, height)
  154.     override fun drawForm(form: PDFormXObject) = stream.drawForm(form)
  155.     override fun transform(matrix: Matrix) = stream.transform(matrix)
  156.     override fun saveGraphicsState() = stream.saveGraphicsState()
  157.     override fun restoreGraphicsState() = stream.restoreGraphicsState()
  158.     override fun setStrokingColor(color: PDColor) = stream.setStrokingColor(color)
  159.     override fun setStrokingColor(color: Color) = stream.setStrokingColor(color.toAwtColor())
  160.     override fun setStrokingColor(r: Float, g: Float, b: Float) = stream.setStrokingColor(r, g, b)
  161.     override fun setStrokingColor(c: Float, m: Float, y: Float, k: Float) = stream.setStrokingColor(c, m, y, k)
  162.     override fun setStrokingColor(g: Float) = stream.setStrokingColor(g)
  163.     override fun setNonStrokingColor(color: PDColor) = stream.setNonStrokingColor(color)
  164.     override fun setNonStrokingColor(color: Color) = stream.setNonStrokingColor(color)
  165.     override fun setNonStrokingColor(r: Float, g: Float, b: Float) = stream.setNonStrokingColor(r, g, b)
  166.     override fun setNonStrokingColor(c: Int, m: Int, y: Int, k: Int) = stream.setNonStrokingColor(c, m, y, k)
  167.     override fun setNonStrokingColor(c: Float, m: Float, y: Float, k: Float) = stream.setNonStrokingColor(c, m, y, k)
  168.     override fun setNonStrokingColor(g: Float) = stream.setNonStrokingColor(g)
  169.     override fun addRect(x: Float, y: Float, width: Float, height: Float) = stream.addRect(x, y, width, height)
  170.     override fun curveTo(x1: Float, y1: Float, x2: Float, y2: Float, x3: Float, y3: Float) = stream.curveTo(x1, y1, x2, y2, x3, y3)
  171.     override fun curveTo2(x2: Float, y2: Float, x3: Float, y3: Float) = stream.curveTo2(x2, y2, x3, y3)
  172.     override fun curveTo1(x1: Float, y1: Float, x3: Float, y3: Float) = stream.curveTo1(x1, y1, x3, y3)
  173.     override fun moveTo(x: Float, y: Float) = stream.moveTo(x, y)
  174.     override fun lineTo(x: Float, y: Float) = stream.lineTo(x, y)
  175.     override fun stroke() = stream.stroke()
  176.     override fun closeAndStroke() = stream.closeAndStroke()
  177.     override fun fill() = stream.fill()
  178.     override fun fillEvenOdd() = stream.fillEvenOdd()
  179.     override fun fillAndStroke() = stream.fillAndStroke()
  180.     override fun fillAndStrokeEvenOdd() = stream.fillAndStrokeEvenOdd()
  181.     override fun closeAndFillAndStroke() = stream.closeAndFillAndStroke()
  182.     override fun closeAndFillAndStrokeEvenOdd() = stream.closeAndFillAndStrokeEvenOdd()
  183.     override fun shadingFill(shading: PDShading) = stream.shadingFill(shading)
  184.     override fun closePath() = stream.closePath()
  185.     override fun clip() = stream.clip()
  186.     override fun clipEvenOdd() = stream.clipEvenOdd()
  187.     override fun setLineWidth(lineWidth: Float) = stream.setLineWidth(lineWidth)
  188.     override fun setLineJoinStyle(lineJoinStyle: Int) = stream.setLineJoinStyle(lineJoinStyle)
  189.     override fun setLineCapStyle(lineCapStyle: Int) = stream.setLineCapStyle(lineCapStyle)
  190.     override fun setLineDashPattern(pattern: FloatArray, phase: Float) = stream.setLineDashPattern(pattern, phase)
  191.     override fun setMiterLimit(miterLimit: Float) = stream.setMiterLimit(miterLimit)
  192.     override fun beginMarkedContent(tag: COSName) = stream.beginMarkedContent(tag)
  193.     override fun beginMarkedContent(tag: COSName, propertyList: PDPropertyList) = stream.beginMarkedContent(tag, propertyList)
  194.     override fun endMarkedContent() = stream.endMarkedContent()
  195.     override fun setGraphicsStateParameters(state: PDExtendedGraphicsState) = stream.setGraphicsStateParameters(state)
  196.     override fun addComment(comment: String) = stream.addComment(comment)
  197.     override fun setCharacterSpacing(spacing: Float) = stream.setCharacterSpacing(spacing)
  198.     override fun setWordSpacing(spacing: Float) = stream.setWordSpacing(spacing)
  199.     override fun setHorizontalScaling(scale: Float) = stream.setHorizontalScaling(scale)
  200.     override fun setRenderingMode(rm: RenderingMode) = stream.setRenderingMode(rm)
  201.     override fun setTextRise(rise: Float) = stream.setTextRise(rise)
  202.     override fun close() = stream.close()
  203. }
Advertisement
Add Comment
Please, Sign In to add comment