I am creating an application using PDFRenderer at API 5.0 I had to add pdfrenderer.jar externally also now it show's the following error - "The constructor PDFRenderer(ParcelFileDescriptor) is undefined" Can anyone help... This is new to me..
Asked
Active
Viewed 1,938 times
3 Answers
0
Use PDFRenderer(ParcelFileDescriptor input)
where input is a seekable file descriptor.
Pdf Renderer basically takes a file descriptor as its parameter and you havent supplied any.
Refer the developer page https://developer.android.com/reference/android/graphics/pdf/PdfRenderer.html

archon92
- 447
- 3
- 13
-
thanx...but I have referred to that first before making my file..Following is my code can u help?? – Diya Dec 04 '14 at 08:03
0
private void render() {
try {
Log.e("In render()","render");
imageView = (ImageView) findViewById(R.id.imageView);
int REQ_WIDTH = 1;
int REQ_HEIGHT = 1;
REQ_WIDTH = imageView.getWidth();
REQ_HEIGHT = imageView.getHeight();
Log.e("In render2()","render2");
System.out.println("req_height"+REQ_HEIGHT+" "+"REQ_WIDTH"+REQ_WIDTH);
Bitmap bitmap = Bitmap.createBitmap(REQ_WIDTH, REQ_HEIGHT, Bitmap.Config.ARGB_4444);
File file = new File("/home/woigames/Desktop/PDF/DebitCards-tc.pdf");
PDFRenderer renderer = new PDFRenderer(ParcelFileDescriptor.open(file, ParcelFileDescriptor.MODE_READ_ONLY));
if(renderer != null)
{
Log.i("renderer not null","check");
}
else
{
Log.i("renderer is null","check");
}
final int pageCount = renderer.getPageCount();
if (currentPage < 0) {
currentPage = 0;
} else if (currentPage > renderer.getPageCount()) {
currentPage = renderer.getPageCount() - 1;
}
Matrix m = imageView.getImageMatrix();
Rect rect = new Rect(0, 0, REQ_WIDTH, REQ_HEIGHT);
renderer.openPage(currentPage).render(bitmap, rect, m, PdfRenderer.Page.RENDER_MODE_FOR_DISPLAY);
imageView.setImageMatrix(m);
imageView.setImageBitmap(bitmap);
imageView.invalidate();
renderer.close();
} catch (Exception e) {
e.printStackTrace();
}

Diya
- 107
- 1
- 11
-
Error - The constructor PDFRenderer(ParcelFileDescriptor) is undefined.The method getPageCount() is undefined for the type PDFRenderer – Diya Dec 04 '14 at 08:05
-
Hey, i have changed my code and new msg at - CONSOLE "[2014-12-04 16:30:34 - Emulator] emulator-arm: .//tcg/optimize.c:158: tcg_opt_gen_mov: Assertion `temps[src].state != TCG_TEMP_CONST' failed. [2014-12-04 16:30:34 - Andro_pdf_two] emulator-5554 disconnected! Cancelling 'com.example.andro_pdf_two.MainActivity activity launch'! " – Diya Dec 04 '14 at 11:03
-
logcat msg - 12-05 00:12:56.980: E/AndroidRuntime(1094): java.lang.NoClassDefFoundError: android.graphics.pdf.PdfRenderer – Diya Dec 05 '14 at 05:18
-
-
the issue is, when running emulator with minsdk = 21 ERROR - "emulator-5554 disconnected! Cancelling 'com.example.andro_pdf_two.MainActivity activity launch'!" and when running the emulator at minsdk = 19 ERROR at logcat- "java.lang.NoClassDefFoundError: android.graphics.pdf.PdfRenderer " and "Call requires API level 21 (current min is 19): android.graphics.pdf.PdfRenderer#openPage" – Diya Dec 05 '14 at 05:32
-
I have already installed wat was required..in sdk manager but still its shows the same error..cant post snapshot of sdk manager..any other suggestions...? – Diya Dec 05 '14 at 06:25
0
Add api level 21 in you manifest and try .Lolipop pdf renderer requires a min sdk level of 21
<uses-sdk android:minSdkVersion="21" />

archon92
- 447
- 3
- 13
-
Thanx, but still with minsdk = 21 ERROR msg- "emulator-5554 disconnected! Cancelling 'com.example.andro_pdf_two.MainActivity activity launch'...what can i do to fix it?? – Diya Dec 05 '14 at 05:39
-
Still the same error - " emulator-5554 disconnected! Cancelling 'com.example.andro_pdf_two.MainActivity activity launch'!" – Diya Dec 05 '14 at 06:51