Planet PDF Forum Archive

Planet PDF ForumWowsers! This is page is old, head to the LIVE Planet PDF Forum. It features more than 10 conferences, covering everything from beginner to in-depth developer and pre-press discussions. If you wish to continue... one & two archive covers 1999-2011 (160,000 pages).


New Forum | Previous | Next | (P-PDF) Developers


Topic: java zlib
Conf: (P-PDF) Developers, Msg: 133471
From: Res
Date: 5/27/2005 07:02 AM

I created a pdf (containing text only) using Acrobat Disteller to study the structure of the file. The pdf file contains five content streams, four of which are have to be flatedecoded. I extracted the content of the first stream and tried to inflate it using the following source code, but I don't get text output.



import java.io.*;
import java.util.zip.*;


public class DirectInflater {


public static void main(String[] args) {

Inflater inf = new Inflater();
byte[] input = new byte[1024];
byte[] output = new byte[1024];

for (int i = 0; i < args.length; i++) {

try {
if (!args[i].endsWith(DirectDeflater.DEFLATE_SUFFIX)) {
System.err.println(args[i] + " does not look like a deflated file");
continue;
}
FileInputStream fin = new FileInputStream(args[i]);
FileOutputStream fout = new FileOutputStream(args[i].substring(0,
args[i].length() - DirectDeflater.DEFLATE_SUFFIX.length()));

while (true) { // read and inflate the data

// fill the input array
int numRead = fin.read(input);
if (numRead != -1) { // end of stream, finish inflating
inf.setInput(input, 0, numRead);
} // end if
// inflate the input

int numDecompressed = 0;
while ((numDecompressed = inf.inflate(output, 0, output.length))
!= 0) {
fout.write(output, 0, numDecompressed);
}
// at this point inflate() has returned 0
// let's find out why
if (inf.finished()) { // all done
break;
}
else if (inf.needsDictionary()) { // we don't handle dictionaries
System.err.println("Dictionary required! bailing...");
break;
}
else if (inf.needsInput()) {
continue;
}
} // end while

// close up and get ready for the next file
fin.close();
fout.flush();
fout.close();
inf.reset();
} // end try
catch (IOException e) {
System.err.println(e);
} // end catch
catch (DataFormatException e) {
System.err.println(args[i] + " appears to be corrupt");
System.err.println(e);
} // end catch
}

}

}

PDF In-Depth Free Product Trials Ubiquitous PDF

Debenu Aerialist

The ultimate plug-in for Adobe Acrobat. Advanced splitting, merging, stamping, bookmarking, and link...

Download free demo

Debenu PDF Tools Pro

It's simple to use and will let you preview and edit PDF files, it's a Windows application that makes...

Download free demo

Back to the past, 15 years ago! Open Publish 2002

Looking back to 2002, it's amazing how much of the prediction became a reality. Take a read and see what you think!

September 14, 2017
Platinum Sponsor





Search Planet PDF
more searching options...
Planet PDF Newsletter
Most Popular Articles
Featured Product

Debenu PDF Aerialist

The ultimate plug-in for Adobe Acrobat. Advanced splitting, merging, stamping, bookmarking, and link control. Take Acrobat to the next level.

Features

Adding a PDF Stamp Comment

OK, so you want to stamp your document. Maybe you need to give reviewers some advice about the document's status or sensitivity. This tip from author Ted Padova demonstrates how to add stamps with the Stamp Tool along with related comments.