Example usage for org.apache.pdfbox.pdmodel.graphics.pattern PDTilingPattern TILING_CONSTANT_SPACING_FASTER_TILING

List of usage examples for org.apache.pdfbox.pdmodel.graphics.pattern PDTilingPattern TILING_CONSTANT_SPACING_FASTER_TILING

Introduction

In this page you can find the example usage for org.apache.pdfbox.pdmodel.graphics.pattern PDTilingPattern TILING_CONSTANT_SPACING_FASTER_TILING.

Prototype

int TILING_CONSTANT_SPACING_FASTER_TILING

To view the source code for org.apache.pdfbox.pdmodel.graphics.pattern PDTilingPattern TILING_CONSTANT_SPACING_FASTER_TILING.

Click Source Link

Document

tiling type 3 = constant spacing and faster tiling.

Usage

From source file:de.rototor.pdfbox.graphics2d.PdfBoxGraphics2D.java

License:Apache License

private void applyShadingAsColor(PDShading shading) throws IOException {
    /*/*from   w w  w  .ja va2s .  c o  m*/
     * If the paint has a shading we must create a tiling pattern and set that as
     * stroke color...
     */
    PDTilingPattern pattern = new PDTilingPattern();
    pattern.setPaintType(PDTilingPattern.PAINT_COLORED);
    pattern.setTilingType(PDTilingPattern.TILING_CONSTANT_SPACING_FASTER_TILING);
    PDRectangle anchorRect = bbox;
    pattern.setBBox(anchorRect);
    pattern.setXStep(anchorRect.getWidth());
    pattern.setYStep(anchorRect.getHeight());

    PDAppearanceStream appearance = new PDAppearanceStream(this.document);
    appearance.setResources(pattern.getResources());
    appearance.setBBox(pattern.getBBox());

    PDPageContentStream imageContentStream = new PDPageContentStream(document, appearance,
            ((COSStream) pattern.getCOSObject()).createOutputStream());
    imageContentStream.addRect(0, 0, anchorRect.getWidth(), anchorRect.getHeight());
    imageContentStream.clip();
    imageContentStream.shadingFill(shading);
    imageContentStream.close();

    PDColorSpace patternCS1 = new PDPattern(null);
    COSName tilingPatternName = xFormObject.getResources().add(pattern);
    PDColor patternColor = new PDColor(tilingPatternName, patternCS1);

    contentStream.setNonStrokingColor(patternColor);
    contentStream.setStrokingColor(patternColor);
}