listDict(stream); out.println("startstream"); byte[] b = PdfReader.getStreamBytes(stream);
/** * Gets a list of X509CRL objects from a Document Security Store. * @return a list of CRLs * @throws GeneralSecurityException * @throws IOException */ public List<X509CRL> getCRLsFromDSS() throws GeneralSecurityException, IOException { List<X509CRL> crls = new ArrayList<X509CRL>(); if (dss == null) return crls; PdfArray crlarray = dss.getAsArray(PdfName.CRLS); if (crlarray == null) return crls; CertificateFactory cf = CertificateFactory.getInstance("X.509"); for (int i = 0; i < crlarray.size(); i++) { PRStream stream = (PRStream) crlarray.getAsStream(i); X509CRL crl = (X509CRL)cf.generateCRL(new ByteArrayInputStream(PdfReader.getStreamBytes(stream))); crls.add(crl); } return crls; }
/** * Gets a list of X509CRL objects from a Document Security Store. * @return a list of CRLs * @throws GeneralSecurityException * @throws IOException */ public List<X509CRL> getCRLsFromDSS() throws GeneralSecurityException, IOException { List<X509CRL> crls = new ArrayList<X509CRL>(); if (dss == null) return crls; PdfArray crlarray = dss.getAsArray(PdfName.CRLS); if (crlarray == null) return crls; CertificateFactory cf = CertificateFactory.getInstance("X.509"); for (int i = 0; i < crlarray.size(); i++) { PRStream stream = (PRStream) crlarray.getAsStream(i); X509CRL crl = (X509CRL)cf.generateCRL(new ByteArrayInputStream(PdfReader.getStreamBytes(stream))); crls.add(crl); } return crls; }
/** * Gets OCSP responses from the Document Security Store. * @return a list of BasicOCSPResp objects * @throws IOException * @throws GeneralSecurityException */ public List<BasicOCSPResp> getOCSPResponsesFromDSS() throws IOException, GeneralSecurityException { List<BasicOCSPResp> ocsps = new ArrayList<BasicOCSPResp>(); if (dss == null) return ocsps; PdfArray ocsparray = dss.getAsArray(PdfName.OCSPS); if (ocsparray == null) return ocsps; for (int i = 0; i < ocsparray.size(); i++) { PRStream stream = (PRStream) ocsparray.getAsStream(i); OCSPResp ocspResponse = new OCSPResp(PdfReader.getStreamBytes(stream)); if (ocspResponse.getStatus() == 0) try { ocsps.add((BasicOCSPResp) ocspResponse.getResponseObject()); } catch (OCSPException e) { throw new GeneralSecurityException(e); } } return ocsps; } }
/** Get the content from a stream applying the required filters. * @param stream the stream * @throws IOException on error * @return the stream content */ public static byte[] getStreamBytes(final PRStream stream) throws IOException { RandomAccessFileOrArray rf = stream.getReader().getSafeFile(); try { rf.reOpen(); return getStreamBytes(stream, rf); } finally { try{rf.close();}catch(Exception e){} } }
/** * Gets OCSP responses from the Document Security Store. * @return a list of BasicOCSPResp objects * @throws IOException * @throws GeneralSecurityException */ public List<BasicOCSPResp> getOCSPResponsesFromDSS() throws IOException, GeneralSecurityException { List<BasicOCSPResp> ocsps = new ArrayList<BasicOCSPResp>(); if (dss == null) return ocsps; PdfArray ocsparray = dss.getAsArray(PdfName.OCSPS); if (ocsparray == null) return ocsps; for (int i = 0; i < ocsparray.size(); i++) { PRStream stream = (PRStream) ocsparray.getAsStream(i); OCSPResp ocspResponse = new OCSPResp(PdfReader.getStreamBytes(stream)); if (ocspResponse.getStatus() == 0) try { ocsps.add((BasicOCSPResp) ocspResponse.getResponseObject()); } catch (OCSPException e) { throw new GeneralSecurityException(e); } } return ocsps; } }
/** Get the content from a stream applying the required filters. * @param stream the stream * @throws IOException on error * @return the stream content */ public static byte[] getStreamBytes(final PRStream stream) throws IOException { RandomAccessFileOrArray rf = stream.getReader().getSafeFile(); try { rf.reOpen(); return getStreamBytes(stream, rf); } finally { try{rf.close();}catch(Exception e){} } }
ByteArrayOutputStream bout = null; if (contents.isStream()) { return getStreamBytes((PRStream)contents, file); if (item == null || !item.isStream()) continue; byte[] b = getStreamBytes((PRStream)item, file); bout.write(b); if (k != array.size() - 1)
private CMapToUnicode processToUnicode() { CMapToUnicode cmapRet = null; PdfObject toUni = PdfReader.getPdfObjectRelease(this.font.get(PdfName.TOUNICODE)); if (toUni instanceof PRStream) { try { byte[] touni = PdfReader.getStreamBytes((PRStream)toUni); CidLocationFromByte lb = new CidLocationFromByte(touni); cmapRet = new CMapToUnicode(); CMapParserEx.parseCid("", cmapRet, lb); } catch (Exception e) { cmapRet = null; } } return cmapRet; }
private CMapToUnicode processToUnicode() { CMapToUnicode cmapRet = null; PdfObject toUni = PdfReader.getPdfObjectRelease(this.font.get(PdfName.TOUNICODE)); if (toUni instanceof PRStream) { try { byte[] touni = PdfReader.getStreamBytes((PRStream)toUni); CidLocationFromByte lb = new CidLocationFromByte(touni); cmapRet = new CMapToUnicode(); CMapParserEx.parseCid("", cmapRet, lb); } catch (Exception e) { cmapRet = null; } } return cmapRet; }
/** Gets the XML metadata. * @throws IOException on error * @return the XML metadata */ public byte[] getMetadata() throws IOException { PdfObject obj = getPdfObject(catalog.get(PdfName.METADATA)); if (!(obj instanceof PRStream)) return null; RandomAccessFileOrArray rf = getSafeFile(); byte b[] = null; try { rf.reOpen(); b = getStreamBytes((PRStream)obj, rf); } finally { try { rf.close(); } catch (Exception e) { // empty on purpose } } return b; }
/** Gets the XML metadata. * @throws IOException on error * @return the XML metadata */ public byte[] getMetadata() throws IOException { PdfObject obj = getPdfObject(catalog.get(PdfName.METADATA)); if (!(obj instanceof PRStream)) return null; RandomAccessFileOrArray rf = getSafeFile(); byte b[] = null; try { rf.reOpen(); b = getStreamBytes((PRStream)obj, rf); } finally { try { rf.close(); } catch (Exception e) { // empty on purpose } } return b; }
protected void readColorProfile() { PdfObject outputIntents = reader.getCatalog().getAsArray(PdfName.OUTPUTINTENTS); if (outputIntents != null && ((PdfArray) outputIntents).size() > 0) { PdfStream iccProfileStream = null; for (int i = 0; i < ((PdfArray) outputIntents).size(); i++) { PdfDictionary outputIntentDictionary = ((PdfArray) outputIntents).getAsDict(i); if (outputIntentDictionary != null) { iccProfileStream = outputIntentDictionary.getAsStream(PdfName.DESTOUTPUTPROFILE); if (iccProfileStream != null) break; } } if (iccProfileStream instanceof PRStream) { try { colorProfile = ICC_Profile.getInstance(PdfReader.getStreamBytes((PRStream) iccProfileStream)); } catch (IOException exc) { throw new ExceptionConverter(exc); } } } }
protected void readColorProfile() { PdfObject outputIntents = reader.getCatalog().getAsArray(PdfName.OUTPUTINTENTS); if (outputIntents != null && ((PdfArray) outputIntents).size() > 0) { PdfStream iccProfileStream = null; for (int i = 0; i < ((PdfArray) outputIntents).size(); i++) { PdfDictionary outputIntentDictionary = ((PdfArray) outputIntents).getAsDict(i); if (outputIntentDictionary != null) { iccProfileStream = outputIntentDictionary.getAsStream(PdfName.DESTOUTPUTPROFILE); if (iccProfileStream != null) break; } } if (iccProfileStream instanceof PRStream) { try { colorProfile = ICC_Profile.getInstance(PdfReader.getStreamBytes((PRStream) iccProfileStream)); } catch (IOException exc) { throw new ExceptionConverter(exc); } } } }
protected void readColorProfile() { PdfObject outputIntents = reader.getCatalog().getAsArray(PdfName.OUTPUTINTENTS); if (outputIntents != null && ((PdfArray) outputIntents).size() > 0) { PdfStream iccProfileStream = null; for (int i = 0; i < ((PdfArray) outputIntents).size(); i++) { PdfDictionary outputIntentDictionary = ((PdfArray) outputIntents).getAsDict(i); if (outputIntentDictionary != null) { PdfName gts = outputIntentDictionary.getAsName(PdfName.S); if (iccProfileStream == null || PdfName.GTS_PDFA1.equals(gts)) { iccProfileStream = outputIntentDictionary.getAsStream(PdfName.DESTOUTPUTPROFILE); if (iccProfileStream != null && PdfName.GTS_PDFA1.equals(gts)) break; } } } if (iccProfileStream instanceof PRStream) { try { colorProfile = ICC_Profile.getInstance(PdfReader.getStreamBytes((PRStream)iccProfileStream)); } catch(IOException exc) { throw new ExceptionConverter(exc); } } } }
byte[] destProfile = null; if (stream != null) { destProfile = PdfReader.getStreamBytes(stream);
byte destProfile[] = null; if (stream != null) { destProfile = PdfReader.getStreamBytes(stream);
byte destProfile[] = null; if (stream != null) { destProfile = PdfReader.getStreamBytes(stream);
private void processType0(PdfDictionary font) { try { PdfObject toUniObject = PdfReader.getPdfObjectRelease(font.get(PdfName.TOUNICODE)); PdfArray df = (PdfArray)PdfReader.getPdfObjectRelease(font.get(PdfName.DESCENDANTFONTS)); PdfDictionary cidft = (PdfDictionary)PdfReader.getPdfObjectRelease(df.getPdfObject(0)); PdfNumber dwo = (PdfNumber)PdfReader.getPdfObjectRelease(cidft.get(PdfName.DW)); int dw = 1000; if (dwo != null) dw = dwo.intValue(); IntHashtable widths = readWidths((PdfArray)PdfReader.getPdfObjectRelease(cidft.get(PdfName.W))); PdfDictionary fontDesc = (PdfDictionary)PdfReader.getPdfObjectRelease(cidft.get(PdfName.FONTDESCRIPTOR)); fillFontDesc(fontDesc); if (toUniObject instanceof PRStream){ fillMetrics(PdfReader.getStreamBytes((PRStream)toUniObject), widths, dw); } else if (new PdfName("Identity-H").equals(toUniObject)) { fillMetricsIdentity(widths, dw); } } catch (Exception e) { throw new ExceptionConverter(e); } }
private void processType0(PdfDictionary font) { try { PdfObject toUniObject = PdfReader.getPdfObjectRelease(font.get(PdfName.TOUNICODE)); PdfArray df = (PdfArray)PdfReader.getPdfObjectRelease(font.get(PdfName.DESCENDANTFONTS)); PdfDictionary cidft = (PdfDictionary)PdfReader.getPdfObjectRelease(df.getPdfObject(0)); PdfNumber dwo = (PdfNumber)PdfReader.getPdfObjectRelease(cidft.get(PdfName.DW)); int dw = 1000; if (dwo != null) dw = dwo.intValue(); IntHashtable widths = readWidths((PdfArray)PdfReader.getPdfObjectRelease(cidft.get(PdfName.W))); PdfDictionary fontDesc = (PdfDictionary)PdfReader.getPdfObjectRelease(cidft.get(PdfName.FONTDESCRIPTOR)); fillFontDesc(fontDesc); if (toUniObject instanceof PRStream){ fillMetrics(PdfReader.getStreamBytes((PRStream)toUniObject), widths, dw); } else if (new PdfName("Identity-H").equals(toUniObject)) { fillMetricsIdentity(widths, dw); } } catch (Exception e) { throw new ExceptionConverter(e); } }