/** * Sets the font resource with the given name. * * @param name the name of the resource * @param font the font to be added */ public void put(COSName name, PDFont font) { put(COSName.FONT, name, font); }
/** * Sets the pattern resource with the given name. * * @param name the name of the resource * @param pattern the pattern to be added */ public void put(COSName name, PDAbstractPattern pattern) { put(COSName.PATTERN, name, pattern); }
/** * Sets the shading resource with the given name. * * @param name the name of the resource * @param shading the shading to be added */ public void put(COSName name, PDShading shading) { put(COSName.SHADING, name, shading); }
/** * Sets the property list resource with the given name. * * @param name the name of the resource * @param properties the property list to be added */ public void put(COSName name, PDPropertyList properties) { put(COSName.PROPERTIES, name, properties); }
/** * Sets the extended graphics state resource with the given name. * * @param name the name of the resource * @param extGState the extended graphics state to be added */ public void put(COSName name, PDExtendedGraphicsState extGState) { put(COSName.EXT_G_STATE, name, extGState); }
/** * Sets the color space resource with the given name. * * @param name the name of the resource * @param colorSpace the color space to be added */ public void put(COSName name, PDColorSpace colorSpace) { put(COSName.COLORSPACE, name, colorSpace); }
/** * Sets the XObject resource with the given name. * * @param name the name of the resource * @param xobject the XObject to be added */ public void put(COSName name, PDXObject xobject) { put(COSName.XOBJECT, name, xobject); }
@Override public void insertInnerFormToHolderResources(PDFormXObject innerForm, PDResources holderFormResources) { holderFormResources.put(COSName.FRM, innerForm); pdfStructure.setInnerFormName(COSName.FRM); LOG.info("Now inserted inner form inside holder form"); }
@Override public void createBackgroundLayerForm(PDResources innerFormResource, PDRectangle bbox) throws IOException { // create blank n0 background layer form PDFormXObject n0Form = new PDFormXObject(pdfStructure.getTemplate().getDocument().createCOSStream()); n0Form.setBBox(bbox); n0Form.setResources(new PDResources()); n0Form.setFormType(1); innerFormResource.put(COSName.getPDFName("n0"), n0Form); LOG.info("Created background layer form"); }
/** * Adds the given resource if it does not already exist. */ private COSName add(COSName kind, String prefix, COSObjectable object) { // return the existing key if the item exists already COSDictionary dict = (COSDictionary)resources.getDictionaryObject(kind); if (dict != null && dict.containsValue(object.getCOSObject())) { return dict.getKeyForValue(object.getCOSObject()); } // add the item with a new key COSName name = createKey(kind, prefix); put(kind, name, object); return name; }
/** * Copies any needed resources from the document’s DR dictionary into the stream’s Resources * dictionary. Resources with the same name shall be left intact. */ void copyNeededResourcesTo(PDAppearanceStream appearanceStream) throws IOException { // make sure we have resources PDResources streamResources = appearanceStream.getResources(); if (streamResources == null) { streamResources = new PDResources(); appearanceStream.setResources(streamResources); } if (streamResources.getFont(getFontName()) == null) { streamResources.put(fontName, getFont()); } // todo: other kinds of resource... } }
/** * Sets the pattern resource with the given name. * * @param name the name of the resource * @param pattern the pattern to be added */ public void put(COSName name, PDAbstractPattern pattern) { put(COSName.PATTERN, name, pattern); }
@Override public void createImageForm(PDResources imageFormResources, PDResources innerFormResource, PDStream imageFormStream, PDRectangle bbox, AffineTransform at, PDImageXObject img) throws IOException { PDFormXObject imageForm = new PDFormXObject(imageFormStream); imageForm.setBBox(bbox); imageForm.setMatrix(at); imageForm.setResources(imageFormResources); imageForm.setFormType(1); imageFormResources.getCOSObject().setDirect(true); COSName imageFormName = COSName.getPDFName("n2"); innerFormResource.put(imageFormName, imageForm); COSName imageName = imageFormResources.add(img, "img"); pdfStructure.setImageForm(imageForm); pdfStructure.setImageFormName(imageFormName); pdfStructure.setImageName(imageName); LOG.info("Created image form"); }
acroFormResources.put(fontResourceName, widgetResources.getFont(fontResourceName));
resources.put(COSName.getPDFName("Helv"), font);
defaultResources.put(COSName.HELV, PDType1Font.HELVETICA); defaultResources.getCOSObject().setNeedToBeUpdated(true); fontDict.setNeedToBeUpdated(true); defaultResources.put(COSName.ZA_DB, PDType1Font.ZAPF_DINGBATS); defaultResources.getCOSObject().setNeedToBeUpdated(true); fontDict.setNeedToBeUpdated(true);
@Override public void insertInnerFormToHolderResources(PDFormXObject innerForm, PDResources holderFormResources) { holderFormResources.put(COSName.FRM, innerForm); pdfStructure.setInnerFormName(COSName.FRM); LOG.info("Now inserted inner form inside holder form"); }
resources.put(COSName.getPDFName("Helv"), font);
resources.put(COSName.getPDFName("Helv"), font);
acroForm.setDefaultResources(dr); dr.put(COSName.getPDFName("Helv"), PDType1Font.HELVETICA);