protected void setViewerPreferences() { reader.setViewerPreferences(viewerPreferences); markUsed(reader.getTrailer().get(PdfName.ROOT)); }
protected void setViewerPreferences() { reader.setViewerPreferences(viewerPreferences); markUsed(reader.getTrailer().get(PdfName.ROOT)); }
PdfIndirectReference iInfo = reader.getTrailer().getAsIndirectObject(PdfName.INFO); if (iInfo != null) { skipInfo = iInfo.getNumber(); PdfDictionary oldInfo = reader.getTrailer().getAsDict(PdfName.INFO); String producer = null; if (oldInfo != null && oldInfo.get(PdfName.PRODUCER) != null) {
PdfIndirectReference iInfo = reader.getTrailer().getAsIndirectObject(PdfName.INFO); if (iInfo != null) { skipInfo = iInfo.getNumber(); PdfDictionary oldInfo = reader.getTrailer().getAsDict(PdfName.INFO); String producer = null; if (oldInfo != null && oldInfo.get(PdfName.PRODUCER) != null) {
/** * Adds keys to the signature dictionary that define * the field permissions. * This method is only used for signatures that lock fields. * @param crypto the signature dictionary */ private void addFieldMDP(PdfDictionary crypto, PdfDictionary fieldLock) { PdfDictionary reference = new PdfDictionary(); PdfDictionary transformParams = new PdfDictionary(); transformParams.putAll(fieldLock); transformParams.put(PdfName.TYPE, PdfName.TRANSFORMPARAMS); transformParams.put(PdfName.V, new PdfName("1.2")); reference.put(PdfName.TRANSFORMMETHOD, PdfName.FIELDMDP); reference.put(PdfName.TYPE, PdfName.SIGREF); reference.put(PdfName.TRANSFORMPARAMS, transformParams); reference.put(new PdfName("DigestValue"), new PdfString("aa")); PdfArray loc = new PdfArray(); loc.add(new PdfNumber(0)); loc.add(new PdfNumber(0)); reference.put(new PdfName("DigestLocation"), loc); reference.put(new PdfName("DigestMethod"), new PdfName("MD5")); reference.put(PdfName.DATA, writer.reader.getTrailer().get(PdfName.ROOT)); PdfArray types = crypto.getAsArray(PdfName.REFERENCE); if (types == null) types = new PdfArray(); types.add(reference); crypto.put(PdfName.REFERENCE, types); }
/** * Adds keys to the signature dictionary that define * the field permissions. * This method is only used for signatures that lock fields. * @param crypto the signature dictionary */ private void addFieldMDP(PdfDictionary crypto, PdfDictionary fieldLock) { PdfDictionary reference = new PdfDictionary(); PdfDictionary transformParams = new PdfDictionary(); transformParams.putAll(fieldLock); transformParams.put(PdfName.TYPE, PdfName.TRANSFORMPARAMS); transformParams.put(PdfName.V, new PdfName("1.2")); reference.put(PdfName.TRANSFORMMETHOD, PdfName.FIELDMDP); reference.put(PdfName.TYPE, PdfName.SIGREF); reference.put(PdfName.TRANSFORMPARAMS, transformParams); reference.put(new PdfName("DigestValue"), new PdfString("aa")); PdfArray loc = new PdfArray(); loc.add(new PdfNumber(0)); loc.add(new PdfNumber(0)); reference.put(new PdfName("DigestLocation"), loc); reference.put(new PdfName("DigestMethod"), new PdfName("MD5")); reference.put(PdfName.DATA, writer.reader.getTrailer().get(PdfName.ROOT)); PdfArray types = crypto.getAsArray(PdfName.REFERENCE); if (types == null) types = new PdfArray(); types.add(reference); crypto.put(PdfName.REFERENCE, types); }
/** * Adds keys to the signature dictionary that define * the certification level and the permissions. * This method is only used for Certifying signatures. * @param crypto the signature dictionary */ private void addDocMDP(PdfDictionary crypto) { PdfDictionary reference = new PdfDictionary(); PdfDictionary transformParams = new PdfDictionary(); transformParams.put(PdfName.P, new PdfNumber(certificationLevel)); transformParams.put(PdfName.V, new PdfName("1.2")); transformParams.put(PdfName.TYPE, PdfName.TRANSFORMPARAMS); reference.put(PdfName.TRANSFORMMETHOD, PdfName.DOCMDP); reference.put(PdfName.TYPE, PdfName.SIGREF); reference.put(PdfName.TRANSFORMPARAMS, transformParams); if (writer.getPdfVersion().getVersion() < PdfWriter.VERSION_1_6) { reference.put(new PdfName("DigestValue"), new PdfString("aa")); PdfArray loc = new PdfArray(); loc.add(new PdfNumber(0)); loc.add(new PdfNumber(0)); reference.put(new PdfName("DigestLocation"), loc); reference.put(new PdfName("DigestMethod"), new PdfName("MD5")); } reference.put(PdfName.DATA, writer.reader.getTrailer().get(PdfName.ROOT)); PdfArray types = new PdfArray(); types.add(reference); crypto.put(PdfName.REFERENCE, types); }
/** * Adds keys to the signature dictionary that define * the certification level and the permissions. * This method is only used for Certifying signatures. * @param crypto the signature dictionary */ private void addDocMDP(PdfDictionary crypto) { PdfDictionary reference = new PdfDictionary(); PdfDictionary transformParams = new PdfDictionary(); transformParams.put(PdfName.P, new PdfNumber(certificationLevel)); transformParams.put(PdfName.V, new PdfName("1.2")); transformParams.put(PdfName.TYPE, PdfName.TRANSFORMPARAMS); reference.put(PdfName.TRANSFORMMETHOD, PdfName.DOCMDP); reference.put(PdfName.TYPE, PdfName.SIGREF); reference.put(PdfName.TRANSFORMPARAMS, transformParams); if (writer.getPdfVersion().getVersion() < PdfWriter.VERSION_1_6) { reference.put(new PdfName("DigestValue"), new PdfString("aa")); PdfArray loc = new PdfArray(); loc.add(new PdfNumber(0)); loc.add(new PdfNumber(0)); reference.put(new PdfName("DigestLocation"), loc); reference.put(new PdfName("DigestMethod"), new PdfName("MD5")); } reference.put(PdfName.DATA, writer.reader.getTrailer().get(PdfName.ROOT)); PdfArray types = new PdfArray(); types.add(reference); crypto.put(PdfName.REFERENCE, types); }