public String[] getDecodedContentSteam() {
        // Some PDF's won't have any content for a given page.
        try {
            initPageContents();

            if (contents == null) {
                return null;
            }
            String[] decodedContentStream = new String[contents.size()];
            int i = 0;
            for (Stream stream : contents) {
                InputStream input = stream.getInputStreamForDecodedStreamBytes();
                String content;
                if (input instanceof SeekableInput) {
                    content = Utils.getContentFromSeekableInput((SeekableInput) input, false);
                } else {
                    InputStream[] inArray = new InputStream[]{input};
                    content = Utils.getContentAndReplaceInputStream(inArray, false);
                }
                decodedContentStream[i] = content;
                input.close();
                i++;
            }
            return decodedContentStream;
        } catch (InterruptedException e) {
            logger.log(Level.SEVERE, "Error initializing page Contents.", e);
        } catch (IOException e) {
            logger.log(Level.SEVERE, "Error closing content stream");
        }
        return null;
    }