Java Code Examples for com.lowagie.text.pdf.PdfWriter#PDFX1A2001
The following examples show how to use
com.lowagie.text.pdf.PdfWriter#PDFX1A2001 .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: PdfXConformanceImp.java From gcs with Mozilla Public License 2.0 | 4 votes |
/** * Business logic that checks if a certain object is in conformance with PDF/X. * @param writer the writer that is supposed to write the PDF/X file * @param key the type of PDF/X conformance that has to be checked * @param obj1 the object that is checked for conformance */ public static void checkPDFXConformance(PdfWriter writer, int key, Object obj1) { if (writer == null || !writer.isPdfX()) return; int conf = writer.getPDFXConformance(); switch (key) { case PDFXKEY_COLOR: switch (conf) { case PdfWriter.PDFX1A2001: if (obj1 instanceof ExtendedColor) { ExtendedColor ec = (ExtendedColor)obj1; switch (ec.getType()) { case ExtendedColor.TYPE_CMYK: case ExtendedColor.TYPE_GRAY: return; case ExtendedColor.TYPE_RGB: throw new PdfXConformanceException("Colorspace RGB is not allowed."); case ExtendedColor.TYPE_SEPARATION: SpotColor sc = (SpotColor)ec; checkPDFXConformance(writer, PDFXKEY_COLOR, sc.getPdfSpotColor().getAlternativeCS()); break; case ExtendedColor.TYPE_SHADING: ShadingColor xc = (ShadingColor)ec; checkPDFXConformance(writer, PDFXKEY_COLOR, xc.getPdfShadingPattern().getShading().getColorSpace()); break; case ExtendedColor.TYPE_PATTERN: PatternColor pc = (PatternColor)ec; checkPDFXConformance(writer, PDFXKEY_COLOR, pc.getPainter().getDefaultColor()); break; } } else if (obj1 instanceof Color) throw new PdfXConformanceException("Colorspace RGB is not allowed."); break; } break; case PDFXKEY_CMYK: break; case PDFXKEY_RGB: if (conf == PdfWriter.PDFX1A2001) throw new PdfXConformanceException("Colorspace RGB is not allowed."); break; case PDFXKEY_FONT: if (!((BaseFont)obj1).isEmbedded()) throw new PdfXConformanceException("All the fonts must be embedded. This one isn't: " + ((BaseFont)obj1).getPostscriptFontName()); break; case PDFXKEY_IMAGE: PdfImage image = (PdfImage)obj1; if (image.get(PdfName.SMASK) != null) throw new PdfXConformanceException("The /SMask key is not allowed in images."); switch (conf) { case PdfWriter.PDFX1A2001: PdfObject cs = image.get(PdfName.COLORSPACE); if (cs == null) return; if (cs.isName()) { if (PdfName.DEVICERGB.equals(cs)) throw new PdfXConformanceException("Colorspace RGB is not allowed."); } else if (cs.isArray()) { if (PdfName.CALRGB.equals(((PdfArray)cs).getPdfObject(0))) throw new PdfXConformanceException("Colorspace CalRGB is not allowed."); } break; } break; case PDFXKEY_GSTATE: PdfDictionary gs = (PdfDictionary)obj1; PdfObject obj = gs.get(PdfName.BM); if (obj != null && !PdfGState.BM_NORMAL.equals(obj) && !PdfGState.BM_COMPATIBLE.equals(obj)) throw new PdfXConformanceException("Blend mode " + obj.toString() + " not allowed."); obj = gs.get(PdfName.CA); double v = 0.0; if (obj != null && (v = ((PdfNumber)obj).doubleValue()) != 1.0) throw new PdfXConformanceException("Transparency is not allowed: /CA = " + v); obj = gs.get(PdfName.ca); v = 0.0; if (obj != null && (v = ((PdfNumber)obj).doubleValue()) != 1.0) throw new PdfXConformanceException("Transparency is not allowed: /ca = " + v); break; case PDFXKEY_LAYER: throw new PdfXConformanceException("Layers are not allowed."); } }
Example 2
Source File: PdfXConformanceImp.java From itext2 with GNU Lesser General Public License v3.0 | 4 votes |
/** * Business logic that checks if a certain object is in conformance with PDF/X. * @param writer the writer that is supposed to write the PDF/X file * @param key the type of PDF/X conformance that has to be checked * @param obj1 the object that is checked for conformance */ public static void checkPDFXConformance(PdfWriter writer, int key, Object obj1) { if (writer == null || !writer.isPdfX()) return; int conf = writer.getPDFXConformance(); switch (key) { case PDFXKEY_COLOR: switch (conf) { case PdfWriter.PDFX1A2001: if (obj1 instanceof ExtendedColor) { ExtendedColor ec = (ExtendedColor)obj1; switch (ec.getType()) { case ExtendedColor.TYPE_CMYK: case ExtendedColor.TYPE_GRAY: return; case ExtendedColor.TYPE_RGB: throw new PdfXConformanceException("Colorspace RGB is not allowed."); case ExtendedColor.TYPE_SEPARATION: SpotColor sc = (SpotColor)ec; checkPDFXConformance(writer, PDFXKEY_COLOR, sc.getPdfSpotColor().getAlternativeCS()); break; case ExtendedColor.TYPE_SHADING: ShadingColor xc = (ShadingColor)ec; checkPDFXConformance(writer, PDFXKEY_COLOR, xc.getPdfShadingPattern().getShading().getColorSpace()); break; case ExtendedColor.TYPE_PATTERN: PatternColor pc = (PatternColor)ec; checkPDFXConformance(writer, PDFXKEY_COLOR, pc.getPainter().getDefaultColor()); break; } } else if (obj1 instanceof Color) throw new PdfXConformanceException("Colorspace RGB is not allowed."); break; } break; case PDFXKEY_CMYK: break; case PDFXKEY_RGB: if (conf == PdfWriter.PDFX1A2001) throw new PdfXConformanceException("Colorspace RGB is not allowed."); break; case PDFXKEY_FONT: if (!((BaseFont)obj1).isEmbedded()) throw new PdfXConformanceException("All the fonts must be embedded. This one isn't: " + ((BaseFont)obj1).getPostscriptFontName()); break; case PDFXKEY_IMAGE: PdfImage image = (PdfImage)obj1; if (image.get(PdfName.SMASK) != null) throw new PdfXConformanceException("The /SMask key is not allowed in images."); switch (conf) { case PdfWriter.PDFX1A2001: PdfObject cs = image.get(PdfName.COLORSPACE); if (cs == null) return; if (cs.isName()) { if (PdfName.DEVICERGB.equals(cs)) throw new PdfXConformanceException("Colorspace RGB is not allowed."); } else if (cs.isArray()) { if (PdfName.CALRGB.equals(((PdfArray)cs).getPdfObject(0))) throw new PdfXConformanceException("Colorspace CalRGB is not allowed."); } break; } break; case PDFXKEY_GSTATE: PdfDictionary gs = (PdfDictionary)obj1; PdfObject obj = gs.get(PdfName.BM); if (obj != null && !PdfGState.BM_NORMAL.equals(obj) && !PdfGState.BM_COMPATIBLE.equals(obj)) throw new PdfXConformanceException("Blend mode " + obj.toString() + " not allowed."); obj = gs.get(PdfName.CA); double v = 0.0; if (obj != null && (v = ((PdfNumber)obj).doubleValue()) != 1.0) throw new PdfXConformanceException("Transparency is not allowed: /CA = " + v); obj = gs.get(PdfName.ca); v = 0.0; if (obj != null && (v = ((PdfNumber)obj).doubleValue()) != 1.0) throw new PdfXConformanceException("Transparency is not allowed: /ca = " + v); break; case PDFXKEY_LAYER: throw new PdfXConformanceException("Layers are not allowed."); } }
Example 3
Source File: PdfXConformanceImp.java From gcs with Mozilla Public License 2.0 | 2 votes |
/** * Checks if the PDF has to be in conformance with PDF/X-1a:2001 * @return true of the PDF has to be in conformance with PDF/X-1a:2001 */ public boolean isPdfX1A2001() { return pdfxConformance == PdfWriter.PDFX1A2001; }
Example 4
Source File: PdfXConformanceImp.java From itext2 with GNU Lesser General Public License v3.0 | 2 votes |
/** * Checks if the PDF has to be in conformance with PDF/X-1a:2001 * @return true of the PDF has to be in conformance with PDF/X-1a:2001 */ public boolean isPdfX1A2001() { return pdfxConformance == PdfWriter.PDFX1A2001; }