pdfbox-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gilad Denneboom <gilad.denneb...@gmail.com>
Subject Re: Question about PDFTextStripper.java code
Date Mon, 29 Dec 2014 12:57:29 GMT
All of these variables are references to the same object, so when the
contents of the object are edited inside the writeText function the value
pointed at by the external variable (*outputStream* in getText) are changed
as well.
In other words, when *outputStream *is assigned to *output *(inside
writeText) all it says is for that variable to point to the same object
reference. It does not create a copy of the variable under a new name.

On Mon, Dec 29, 2014 at 1:43 PM, A.M. Sabuncu <amsabuncu@gmail.com> wrote:

> I am reading the PDFTextStripper.java code and I am stuck trying to
> understand a mechanism used within the code.
> Following is the getText() method:
>     public String getText( PDDocument doc ) throws IOException
>     {
>         StringWriter outputStream = new StringWriter();
>         writeText( doc, outputStream );
>         return outputStream.toString();
>     }
> As you can see, getText() calls writeText() with an outputStream.  In
> writeText(), the global variable "Writer output" is set to outputStream:
>     output = outputStream;
> But there is no code that sets outputStream back to output.  Nevertheless,
> outputStream.toString() (in getText) returns the extracted text.
> I know I am missing something here, and any help will be appreciated.  If
> you think I should post this to the developers' list, please let me know.
> Thanks so much.
> PS: I am using the latest version of PDFBox 1.8.8.

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message