PdfReader reader = new PdfReader("in.pdf"); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream("out.pdf")); PdfDictionary pagedict = reader.getPageN(1); PdfArray mediabox = pagedict.getAsArray(PdfName.MEDIABOX); mediabox.set(1, new PdfNumber(mediabox.getAsNumber(1).intValue()+50)); mediabox.set(3, new PdfNumber(mediabox.getAsNumber(3).intValue()+50)); stamper.close();
public PdfAnnotation createAnnotation(PdfWriter writer) { PdfAnnotation annotation = writer.createAnnotation(new Rectangle(llx, lly, urx, ury), null); if (newPage != 0) { PdfIndirectReference ref = writer.getPageReference(newPage); destination.set(0, ref); } if (destination != null) annotation.put(PdfName.DEST, destination); annotation.hashMap.putAll(parameters); return annotation; }
public PdfAnnotation createAnnotation(PdfWriter writer) { PdfAnnotation annotation = writer.createAnnotation(new Rectangle(llx, lly, urx, ury), null); if (newPage != 0) { PdfIndirectReference ref = writer.getPageReference(newPage); destination.set(0, ref); } if (destination != null) annotation.put(PdfName.DEST, destination); annotation.hashMap.putAll(parameters); return annotation; }
public void transformDestination(float a, float b, float c, float d, float e, float f) { if (!isInternal()) throw new IllegalArgumentException(MessageLocalization.getComposedMessage("cannot.change.destination.of.external.link")); if (destination.getAsName(1).equals(PdfName.XYZ)) { float x = destination.getAsNumber(2).floatValue(); float y = destination.getAsNumber(3).floatValue(); float xx = x * a + y * c + e; float yy = x * b + y * d + f; destination.set(2, new PdfNumber(xx)); destination.set(3, new PdfNumber(yy)); } }
public void transformDestination(float a, float b, float c, float d, float e, float f) { if (!isInternal()) throw new IllegalArgumentException(MessageLocalization.getComposedMessage("cannot.change.destination.of.external.link")); if (destination.getAsName(1).equals(PdfName.XYZ)) { float x = destination.getAsNumber(2).floatValue(); float y = destination.getAsNumber(3).floatValue(); float xx = x * a + y * c + e; float yy = x * b + y * d + f; destination.set(2, new PdfNumber(xx)); destination.set(3, new PdfNumber(yy)); } }
IndirectReferences indRef = indirects.get(new RefKey((PRIndirectReference)o)); if (indRef != null) { array.set(i, indRef.getRef());
IndirectReferences indRef = indirects.get(new RefKey((PRIndirectReference)o)); if (indRef != null) { array.set(i, indRef.getRef());
/** * Replaces CalRGB and CalGray colorspaces with DeviceRGB and DeviceGray. */ public void simplifyColorspace() { if (additional == null) return; PdfArray value = additional.getAsArray(PdfName.COLORSPACE); if (value == null) return; PdfObject cs = simplifyColorspace(value); PdfObject newValue; if (cs.isName()) newValue = cs; else { newValue = value; PdfName first = value.getAsName(0); if (PdfName.INDEXED.equals(first)) { if (value.size() >= 2) { PdfArray second = value.getAsArray(1); if (second != null) { value.set(1, simplifyColorspace(second)); } } } } additional.put(PdfName.COLORSPACE, newValue); }
/** * Replaces CalRGB and CalGray colorspaces with DeviceRGB and DeviceGray. */ public void simplifyColorspace() { if (additional == null) return; PdfArray value = additional.getAsArray(PdfName.COLORSPACE); if (value == null) return; PdfObject cs = simplifyColorspace(value); PdfObject newValue; if (cs.isName()) newValue = cs; else { newValue = value; PdfName first = value.getAsName(0); if (PdfName.INDEXED.equals(first)) { if (value.size() >= 2) { PdfArray second = value.getAsArray(1); if (second != null) { value.set(1, simplifyColorspace(second)); } } } } additional.put(PdfName.COLORSPACE, newValue); }
public void manipulatePdf(String src, String dest) throws IOException, DocumentException { PdfReader reader = new PdfReader(src); int n = reader.getNumberOfPages(); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest)); // properties PdfContentByte over; PdfDictionary pageDict; PdfArray mediabox; float llx, lly, ury; // loop over every page for (int i = 1; i <= n; i++) { pageDict = reader.getPageN(i); mediabox = pageDict.getAsArray(PdfName.MEDIABOX); llx = mediabox.getAsNumber(0).floatValue(); lly = mediabox.getAsNumber(1).floatValue(); ury = mediabox.getAsNumber(3).floatValue(); mediabox.set(0, new PdfNumber(llx - 36)); over = stamper.getOverContent(i); over.saveState(); over.setColorFill(new GrayColor(0.5f)); over.rectangle(llx - 36, lly, 36, ury - llx); over.fill(); over.restoreState(); } stamper.close(); reader.close(); }
PdfIndirectObject merged = mergedMap.get(annotId.intValue()); if (merged != null) { array.set(i, merged.getIndirectReference());
PdfIndirectObject merged = mergedMap.get(annotId.intValue()); if (merged != null) { array.set(i, merged.getIndirectReference());
if (colorspace != null) { if (colorspace.size() > 1 && PdfName.INDEXED.equals(colorspace.getPdfObject(0))) colorspace.set(1, iccArray); else i.put(PdfName.COLORSPACE, iccArray);
if (colorspace != null) { if (colorspace.size() > 1 && PdfName.INDEXED.equals(colorspace.getPdfObject(0))) colorspace.set(1, iccArray); else i.put(PdfName.COLORSPACE, iccArray);
private PdfObject propagate(PdfObject obj) throws IOException { if (obj == null) { return new PdfNull(); } else if (obj.isArray()) { PdfArray a = (PdfArray)obj; for (int i = 0; i < a.size(); i++) { a.set(i, propagate(a.getPdfObject(i))); } return a; } else if (obj.isDictionary() || obj.isStream()) { PdfDictionary d = (PdfDictionary)obj; for (PdfName key : d.getKeys()) { d.put(key, propagate(d.get(key))); } return d; } else if (obj.isIndirect()) { obj = PdfReader.getPdfObject(obj); return addToBody(propagate(obj)).getIndirectReference(); } else return obj; }
PdfStream tStream = new PdfStream(serializeDoc(form.templateNode)); tStream.flateCompress(writer.getCompressionLevel()); ar.set(t, writer.addToBody(tStream).getIndirectReference()); PdfStream dStream = new PdfStream(serializeDoc(form.datasetsNode)); dStream.flateCompress(writer.getCompressionLevel()); ar.set(d, writer.addToBody(dStream).getIndirectReference()); af.put(PdfName.XFA, new PdfArray(ar)); return;
PdfStream tStream = new PdfStream(serializeDoc(form.templateNode)); tStream.flateCompress(writer.getCompressionLevel()); ar.set(t, writer.addToBody(tStream).getIndirectReference()); PdfStream dStream = new PdfStream(serializeDoc(form.datasetsNode)); dStream.flateCompress(writer.getCompressionLevel()); ar.set(d, writer.addToBody(dStream).getIndirectReference()); af.put(PdfName.XFA, new PdfArray(ar)); return;
private PdfObject propagate(PdfObject obj) throws IOException { if (obj == null) { return new PdfNull(); } else if (obj.isArray()) { PdfArray a = (PdfArray)obj; for (int i = 0; i < a.size(); i++) { a.set(i, propagate(a.getPdfObject(i))); } return a; } else if (obj.isDictionary() || obj.isStream()) { PdfDictionary d = (PdfDictionary)obj; for (PdfName key : d.getKeys()) { d.put(key, propagate(d.get(key))); } return d; } else if (obj.isIndirect()) { obj = PdfReader.getPdfObject(obj); return addToBody(propagate(obj)).getIndirectReference(); } else return obj; }