'Password protected PDF to Image using iText5
I want to get all PDF pages in Image format, it is possible with PdfRenderer but I can't input a PDF password with it.
Can I get images of a PDF page from PDFReader?
here is my code
private void pdfToImage(Uri pdfFilePath, String password) { //password is input,which is given by user
try {
// Reading pdf in READ Only mode.
// ParcelFileDescriptor fileDescriptor = ParcelFileDescriptor.open(new File(pdfFilePath.getPath()), ParcelFileDescriptor.MODE_READ_ONLY);
ParcelFileDescriptor fileDescriptor = getContentResolver().openFileDescriptor(pdfFilePath, "r");
// Initializing PDFRenderer object.
PdfRenderer renderer = new PdfRenderer(fileDescriptor);
// Getting total pages count.
final int pageCount = renderer.getPageCount();
// Iterating pages
for (int i = 0; i < pageCount; i++) {
// Getting Page object by opening page.
PdfRenderer.Page page = renderer.openPage(i);
// Creating empty bitmap. Bitmap.Config can be changed.
Bitmap bitmap = Bitmap.createBitmap(page.getWidth(), page.getHeight(), Bitmap.Config.ARGB_8888);
// Creating Canvas from bitmap.
Canvas canvas = new Canvas(bitmap);
// Set White background color.
canvas.drawColor(Color.WHITE);
// Draw bitmap.
canvas.drawBitmap(bitmap, 0, 0, null);
// Rednder bitmap and can change mode too.
page.render(bitmap, null, null, PdfRenderer.Page.RENDER_MODE_FOR_DISPLAY);
// closing page
page.close();
// saving image into sdcard.
File file = getImageFile();
// Saving image in PNG format with 100% quality.
FileOutputStream out = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
Log.v("Saved Image - ", file.getAbsolutePath());
out.flush();
out.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
