Example usage for org.apache.pdfbox.pdmodel.graphics.color PDDeviceCMYK INSTANCE

List of usage examples for org.apache.pdfbox.pdmodel.graphics.color PDDeviceCMYK INSTANCE

Introduction

In this page you can find the example usage for org.apache.pdfbox.pdmodel.graphics.color PDDeviceCMYK INSTANCE.

Prototype

PDDeviceCMYK INSTANCE

To view the source code for org.apache.pdfbox.pdmodel.graphics.color PDDeviceCMYK INSTANCE.

Click Source Link

Document

The single instance of this class.

Usage

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

License:Apache License

@Override
public PDColor mapColor(PDPageContentStream contentStream, Color color) {
    if (color == null)
        return new PDColor(new float[] { 1f, 1f, 1f }, PDDeviceRGB.INSTANCE);

    // Support for legacy iText 2 CMYK Color Class
    if (color.getClass().getSimpleName().equals("CMYKColor")) {
        float c = PdfBoxGraphics2DPaintApplier.getPropertyValue(color, "getCyan");
        float m = PdfBoxGraphics2DPaintApplier.getPropertyValue(color, "getMagenta");
        float y = PdfBoxGraphics2DPaintApplier.getPropertyValue(color, "getYellow");
        float k = PdfBoxGraphics2DPaintApplier.getPropertyValue(color, "getBlack");
        return new PDColor(new float[] { c, m, y, k }, PDDeviceCMYK.INSTANCE);
    }//from  ww w  .  j ava  2  s  .c o m

    // Our own CMYK Color class
    if (color instanceof PdfBoxGraphics2DCMYKColor) {
        return ((PdfBoxGraphics2DCMYKColor) color).toPDColor();
    }

    float[] components = new float[] { color.getRed() / 255f, color.getGreen() / 255f, color.getBlue() / 255f };
    return new PDColor(components, PDDeviceRGB.INSTANCE);
}