ParcelFileDescriptor parcelFileDescriptor =
getContentResolver().openFileDescriptor(uri, "r");
assert parcelFileDescriptor != null;
PdfRenderer renderer = new PdfRenderer(parcelFileDescriptor);
int pageCount = renderer.getPageCount();
Log.i("MYTAG", "Page Count :" + pageCount);
for (int i = 0; i < pageCount; i++)
{
PdfRenderer.Page page = renderer.openPage(i);
Log.d("CameraD", String.valueOf(renderer.shouldScaleForPrinting()));
Bitmap imageI = Bitmap.createBitmap(page.getWidth(),page.getHeight(), Bitmap.Config.ARGB_8888);
// say we render for showing on the screen
page.render(imageI, null, null, PdfRenderer.Page.RENDER_MODE_FOR_DISPLAY);
File cameraPath = getExternalFilesDir(Environment.DIRECTORY_PICTURES+"/.original/");
Log.d("CameraD", cameraPath.getAbsolutePath());
String cameraImage = "Image";
File imageFile = null;
try {
imageFile = File.createTempFile(cameraImage,".jpg",cameraPath);
pathlist.add(imageFile.getName());
} catch (IOException e)
{
e.printStackTrace();
}
OutputStream fOut = new FileOutputStream(imageFile);
imageI.compress(Bitmap.CompressFormat.JPEG, 100, fOut);
startCropping(imageFile);
fOut.flush();
fOut.close();
// close the page
page.close();
}
renderer.close();
parcelFileDescriptor.close();
Я хочу сохранить все страницы PDF в разных растровых изображениях. Я использую PDFRenderer для загрузки PDF в растровые изображения, но для некоторых сгенерированных растровых изображений PDF были черные неизвестные пятна. Как мы можем это решить?