use of org.apache.pdfbox.io.RandomAccessBuffer in project tika by apache.
the class PDFEncodedStringDecoder method decode.
/**
* This assumes that {@link #shouldDecode(String)} has been called
* and has returned true. If you run this on a non-octal encoded string,
* disaster will happen!
*
* @param value
* @return
*/
String decode(String value) {
try {
byte[] bytes = new String("(" + value + ")").getBytes(ISO_8859_1);
InputStream is = new ByteArrayInputStream(bytes);
COSStringParser p = new COSStringParser(new RandomAccessBuffer(is));
String parsed = p.myParseCOSString();
if (parsed != null) {
return parsed;
}
} catch (IOException e) {
//oh well, we tried.
}
//just return value if something went wrong
return value;
}
use of org.apache.pdfbox.io.RandomAccessBuffer in project pdfbox by apache.
the class PDDocument method load.
/**
* Parses a PDF.
*
* @param input byte array that contains the document.
* @param password password to be used for decryption
* @param keyStore key store to be used for decryption when using public key security
* @param alias alias to be used for decryption when using public key security
* @param memUsageSetting defines how memory is used for buffering input stream and PDF streams
*
* @return loaded document
*
* @throws InvalidPasswordException If the password is incorrect.
* @throws IOException In case of a reading or parsing error.
*/
public static PDDocument load(byte[] input, String password, InputStream keyStore, String alias, MemoryUsageSetting memUsageSetting) throws IOException {
ScratchFile scratchFile = new ScratchFile(memUsageSetting);
RandomAccessRead source = new RandomAccessBuffer(input);
PDFParser parser = new PDFParser(source, password, keyStore, alias, scratchFile);
parser.parse();
return parser.getPDDocument();
}
Aggregations