PageStamp(PdfStamperImp stamper, PdfReader reader, PdfDictionary pageN) { this.pageN = pageN; pageResources = new PageResources(); PdfDictionary resources = pageN.getAsDict(PdfName.RESOURCES); pageResources.setOriginalResources(resources, stamper.namePtr); } }
/** * Paints using a shading object. * @param shading the shading object */ public void paintShading(final PdfShading shading) { writer.addSimpleShading(shading); PageResources prs = getPageResources(); PdfName name = prs.addShading(shading.getShadingName(), shading.getShadingReference()); content.append(name.getBytes()).append(" sh").append_i(separator); ColorDetails details = shading.getColorDetails(); if (details != null) prs.addColor(details.getColorSpaceName(), details.getIndirectReference()); }
/** * Creates new PdfTemplate * * @param wr the <CODE>PdfWriter</CODE> */ PdfTemplate(PdfWriter wr) { super(wr); type = TYPE_TEMPLATE; pageResources = new PageResources(); pageResources.addDefaultColor(wr.getDefaultColorspace()); thisReference = writer.getPdfIndirectReference(); }
/** * Adds a blank page. * @param rect The page dimension * @param rotation The rotation angle in degrees * @throws DocumentException * @since 2.1.5 */ public void addPage(Rectangle rect, int rotation) throws DocumentException { if (mergeFields && !mergeFieldsInternalCall) { throw new IllegalArgumentException(MessageLocalization.getComposedMessage("1.method.cannot.be.used.in.mergeFields.mode.please.use.addDocument", "addPage")); } PdfRectangle mediabox = new PdfRectangle(rect, rotation); PageResources resources = new PageResources(); PdfPage page = new PdfPage(mediabox, new HashMap<String, PdfRectangle>(), resources.getResources(), 0); page.put(PdfName.TABS, getTabs()); root.addPage(page); ++currentPageNumber; pdf.setPageCount(currentPageNumber); }
/** * Sets the shading stroke pattern * @param shading the shading pattern */ public void setShadingStroke(final PdfShadingPattern shading) { writer.addSimpleShadingPattern(shading); PageResources prs = getPageResources(); PdfName name = prs.addPattern(shading.getPatternName(), shading.getPatternReference()); saveColor(new ShadingColor(shading), false); content.append(PdfName.PATTERN.getBytes()).append(" CS ").append(name.getBytes()).append(" SCN").append_i(separator); ColorDetails details = shading.getColorDetails(); if (details != null) prs.addColor(details.getColorSpaceName(), details.getIndirectReference()); }
public void setColorFill(final PdfLabColor lab, float l, float a, float b) { checkWriter(); state.colorDetails = writer.addSimple(lab); PageResources prs = getPageResources(); PdfName name = state.colorDetails.getColorSpaceName(); name = prs.addColor(name, state.colorDetails.getIndirectReference()); saveColor(new LabColor(lab, l, a, b), true); content.append(name.getBytes()).append(" cs "); content.append(l + " " + a + " " + b + " "); content.append("scn").append_i(separator); }
/** * Adds a PostScript XObject to this content. * * @param psobject the object */ public void addPSXObject(final PdfPSXObject psobject) { if (inText && isTagged()) { endText(); } checkWriter(); PdfName name = writer.addDirectTemplateSimple(psobject, null); PageResources prs = getPageResources(); name = prs.addXObject(name, psobject.getIndirectReference()); content.append(name.getBytes()).append(" Do").append_i(separator); }
pageResources.addDefaultColorDiff(writer.getDefaultColorspace()); if (writer.isRgbTransparencyBlending()) { PdfDictionary dcs = new PdfDictionary(); dcs.put(PdfName.CS, PdfName.DEVICERGB); pageResources.addDefaultColorDiff(dcs); PdfDictionary resources = pageResources.getResources();
PdfName cs = writer.getColorspaceName(); PageResources prs = getPageResources(); prs.addColor(cs, writer.addToBody(value).getIndirectReference()); value = cs; if (maskImage != null) { name = writer.addDirectImageSimple(maskImage); prs.addXObject(name, writer.getImageReference(name)); name = prs.addXObject(name, writer.getImageReference(name)); content.append(' ').append(name.getBytes()).append(" Do Q").append_i(separator);
/** * Set the font and the size for the subsequent text writing. * * @param bf the font * @param size the font size in points */ public void setFontAndSize(final BaseFont bf, final float size) { if (!inText && isTagged()) { beginText(true); } checkWriter(); if (size < 0.0001f && size > -0.0001f) throw new IllegalArgumentException(MessageLocalization.getComposedMessage("font.size.too.small.1", String.valueOf(size))); state.size = size; state.fontDetails = writer.addSimple(bf); PageResources prs = getPageResources(); PdfName name = state.fontDetails.getFontName(); name = prs.addFont(name, state.fontDetails.getIndirectReference()); content.append(name.getBytes()).append(' ').append(size).append(" Tf").append_i(separator); }
private void beginLayer2(final PdfOCG layer) { PdfName name = (PdfName)writer.addSimpleProperty(layer, layer.getRef())[0]; PageResources prs = getPageResources(); name = prs.addProperty(name, layer.getRef()); content.append("/OC ").append(name.getBytes()).append(" BDC").append_i(separator); }
/** Sets the fill color to a pattern. The pattern can be * colored or uncolored. * @param p the pattern */ public void setPatternFill(final PdfPatternPainter p) { if (p.isStencil()) { setPatternFill(p, p.getDefaultColor()); return; } checkWriter(); PageResources prs = getPageResources(); PdfName name = writer.addSimplePattern(p); name = prs.addPattern(name, p.getIndirectReference()); saveColor(new PatternColor(p), true); content.append(PdfName.PATTERN.getBytes()).append(" cs ").append(name.getBytes()).append(" scn").append_i(separator); }
/** * Sets the default colorspace. * @param name the name of the colorspace. It can be <CODE>PdfName.DEFAULTGRAY</CODE>, <CODE>PdfName.DEFAULTRGB</CODE> * or <CODE>PdfName.DEFAULTCMYK</CODE> * @param obj the colorspace. A <CODE>null</CODE> or <CODE>PdfNull</CODE> removes any colorspace with the same name */ public void setDefaultColorspace(final PdfName name, final PdfObject obj) { PageResources prs = getPageResources(); prs.addDefaultColor(name, obj); }
/** Sets the graphic state * @param gstate the graphic state */ public void setGState(final PdfGState gstate) { PdfObject obj[] = writer.addSimpleExtGState(gstate); PageResources prs = getPageResources(); PdfName name = prs.addExtGState((PdfName)obj[0], (PdfIndirectReference)obj[1]); state.extGState = gstate; content.append(name.getBytes()).append(" gs").append_i(separator); }
pageResources = new PageResources();
/** * Sets the shading stroke pattern * @param shading the shading pattern */ public void setShadingStroke(final PdfShadingPattern shading) { writer.addSimpleShadingPattern(shading); PageResources prs = getPageResources(); PdfName name = prs.addPattern(shading.getPatternName(), shading.getPatternReference()); saveColor(new ShadingColor(shading), false); content.append(PdfName.PATTERN.getBytes()).append(" CS ").append(name.getBytes()).append(" SCN").append_i(separator); ColorDetails details = shading.getColorDetails(); if (details != null) prs.addColor(details.getColorSpaceName(), details.getIndirectReference()); }
public void setColorStroke(final PdfLabColor lab, float l, float a, float b) { checkWriter(); state.colorDetails = writer.addSimple(lab); PageResources prs = getPageResources(); PdfName name = state.colorDetails.getColorSpaceName(); name = prs.addColor(name, state.colorDetails.getIndirectReference()); saveColor(new LabColor(lab, l, a, b), true); content.append(name.getBytes()).append(" CS "); content.append(l + " " + a + " " + b + " "); content.append("SCN").append_i(separator); }
/** * Adds a PostScript XObject to this content. * * @param psobject the object */ public void addPSXObject(final PdfPSXObject psobject) { if (inText && isTagged()) { endText(); } checkWriter(); PdfName name = writer.addDirectTemplateSimple(psobject, null); PageResources prs = getPageResources(); name = prs.addXObject(name, psobject.getIndirectReference()); content.append(name.getBytes()).append(" Do").append_i(separator); }
/** * Adds a blank page. * @param rect The page dimension * @param rotation The rotation angle in degrees * @throws DocumentException * @since 2.1.5 */ public void addPage(Rectangle rect, int rotation) throws DocumentException { if (mergeFields && !mergeFieldsInternalCall) { throw new IllegalArgumentException(MessageLocalization.getComposedMessage("1.method.cannot.be.used.in.mergeFields.mode.please.use.addDocument", "addPage")); } PdfRectangle mediabox = new PdfRectangle(rect, rotation); PageResources resources = new PageResources(); PdfPage page = new PdfPage(mediabox, new HashMap<String, PdfRectangle>(), resources.getResources(), 0); page.put(PdfName.TABS, getTabs()); root.addPage(page); ++currentPageNumber; pdf.setPageCount(currentPageNumber); }
pageResources.addDefaultColorDiff(writer.getDefaultColorspace()); if (writer.isRgbTransparencyBlending()) { PdfDictionary dcs = new PdfDictionary(); dcs.put(PdfName.CS, PdfName.DEVICERGB); pageResources.addDefaultColorDiff(dcs); PdfDictionary resources = pageResources.getResources();