Thanks! On Sun, Apr 4, 2021, 15:33 Tilman Hausherr <[email protected]> wrote:
> The best is to start with the examples > > > https://svn.apache.org/viewvc/pdfbox/branches/2.0/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/ExtractEmbeddedFiles.java?view=markup > > Tilman > > Am 04.04.2021 um 14:49 schrieb Gilad Denneboom: > > My approach was wrong, I think. I needed to use createInputStream for > what > > I was after, not createOutputStream... Anyway, thanks for looking into > it! > > > > On Sun, Apr 4, 2021 at 2:41 PM Gilad Denneboom < > [email protected]> > > wrote: > > > >> OK, I see... I thought it would be an OutputStream object, but casting > to > >> that didn't work, but casting to FilterOutputStream does work. > >> I don't think I'll be able to use that to directly open the attached PDF > >> file, though, or is there a way to do it after all? > >> > >> On Sun, Apr 4, 2021 at 2:25 PM Tilman Hausherr <[email protected]> > >> wrote: > >> > >>> Your screenshot shows COSStream.$1. That's an anonymous class in > >>> COSStream. And this is the code in COSStream that is used: > >>> > >>> return new FilterOutputStream(cosOut) > >>> { > >>> @Override > >>> public void write(byte[] b, int off, int len) throws > >>> IOException > >>> { > >>> this.out.write(b, off, len); > >>> } > >>> > >>> @Override > >>> public void close() throws IOException > >>> { > >>> super.close(); > >>> setInt(COSName.LENGTH, (int)randomAccess.length()); > >>> isWriting = false; > >>> } > >>> }; > >>> > >>> So your class is a FilterOutputStream, which is an OutputStream. > >>> > >>> Tilman > >>> > >>> Am 04.04.2021 um 14:20 schrieb Gilad Denneboom: > >>> > https://drive.google.com/file/d/15nTOjbmvysrMhBEg8JF7e6vck80q6J20/view?usp=sharing > >>>> On Sun, Apr 4, 2021 at 2:12 PM Tilman Hausherr <[email protected] > > > >>>> wrote: > >>>> > >>>>> Am 04.04.2021 um 13:48 schrieb Gilad Denneboom: > >>>>>> Sorry, I see that PDEmbeddedFile extends PDStream, so that is the > >>>>>> right function. > >>>>>> Then how do you explain this (see the output in the Console)? > >>>>> I don't see anything because your image was an attachment (mine too > but > >>>>> Thunderbird makes them inline) and your attachment was removed by > >>>>> Apache. You'll have to upload it somewhere. > >>>>> > >>>>> Tilman > >>>>> > >>>>> > >>>>>> image.png > >>>>>> > >>>>>> > >>>>>> On Sun, Apr 4, 2021 at 1:43 PM Gilad Denneboom > >>>>>> <[email protected] <mailto:[email protected]>> > wrote: > >>>>>> > >>>>>> You're looking in the wrong place. Look under PDEmbeddedFile's > >>>>>> createOutputStream method. What does it return? > >>>>>> > >>>>>> On Sun, Apr 4, 2021 at 11:53 AM Tilman Hausherr > >>>>>> <[email protected] <mailto:[email protected]>> wrote: > >>>>>> > >>>>>> Here's what I see in the source code: > >>>>>> > >>>>>> > >>> > https://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDStream.java?revision=1888047&view=markup#l216 > >>>>>> < > >>> > https://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDStream.java?revision=1888047&view=markup#l216 > >>>>>> > >>>>>> Tilman > >>>>>> > >>>>>> Am 04.04.2021 um 11:29 schrieb Gilad Denneboom: > >>>>>>> Hi all, > >>>>>>> > >>>>>>> I'm trying to load an embedded PDF file as a new > PDDocument > >>>>> object so I can > >>>>>>> read its contents and the way to do it seems to be to get > >>> the > >>>>> output stream > >>>>>>> from PDStream, convert it to an ByteArrayOutputStream and > >>> then > >>>>> load that > >>>>>>> directly. > >>>>>>> > >>>>>>> However, when I call the createOutputStream method of my > >>>>> PDStream object, > >>>>>>> the output is a COSStream object, not a OutputStream > one, as > >>>>> both the > >>>>>>> internal method reference and the online documentation > >>> suggest > >>>>> it should be > >>>>>>> (See: > >>>>>>> > >>> > https://pdfbox.apache.org/docs/2.0.13/javadocs/org/apache/pdfbox/pdmodel/common/PDStream.html#createOutputStream > >>>>> < > >>>>> > >>> > https://pdfbox.apache.org/docs/2.0.13/javadocs/org/apache/pdfbox/pdmodel/common/PDStream.html#createOutputStream > >>>>>> -- > >>>>>>> ). > >>>>>>> > >>>>>>> Is this an incorrect documentation or implementation? > What > >>> can > >>>>> I do to > >>>>>>> overcome this issue and load the COSStream object as a > new > >>>>> document? > >>>>>>> I'm using PDFBox 2.0.23, by the way. > >>>>>>> > >>>>>>> Regards, Gilad. > >>>>>>> > >>> > >>> --------------------------------------------------------------------- > >>> To unsubscribe, e-mail: [email protected] > >>> For additional commands, e-mail: [email protected] > >>> > >>> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >

