我正在使用 API 5.0 的 PDFRenderer 创建一个应用程序我必须在外部添加 pdfrenderer.jar 现在它也显示以下错误 - “构造函数 PDFRenderer(ParcelFileDescriptor) 未定义”任何人都可以帮助...这对我来说是新的..
问问题
1628 次
3 回答
0
使用PDFRenderer(ParcelFileDescriptor input)
where input 是可查找的文件描述符。
Pdf Renderer 基本上将文件描述符作为其参数,而您没有提供任何参数。
参考开发者页面 https://developer.android.com/reference/android/graphics/pdf/PdfRenderer.html
于 2014-12-04T05:48:39.653 回答
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();
}
于 2014-12-04T08:04:23.633 回答
0
在清单中添加 api 级别 21 并尝试 .Lolipop pdf 渲染器需要 21 的最低 sdk 级别
<uses-sdk android:minSdkVersion="21" />
于 2014-12-05T05:29:52.783 回答