【发布时间】:2016-09-17 20:09:47
【问题描述】:
我正在使用下面的代码来呈现 pdf。这是一个 try/catch 并且运行良好,显示 pdf。
问题是 pdf 文件对于屏幕来说太大了。有谁知道如何缩小它以适应吗?
谢谢。
imageView = (ImageView) findViewById(R.id.imagePDF);
int REQ_WIDTH = imageView.getWidth();
int REQ_HEIGHT = imageView.getHeight();
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width12 = size.x;
int height12 = size.y;
Bitmap bitmap = Bitmap.createBitmap(width12, height12, Bitmap.Config.ARGB_4444);
File file = new File("/sdcard/Download/sample.pdf");
PdfRenderer renderer = new PdfRenderer(ParcelFileDescriptor.open(file, ParcelFileDescriptor.MODE_READ_ONLY));
if (currentPage < 0) {
currentPage = 0;
} else if (currentPage > renderer.getPageCount()) {
currentPage = renderer.getPageCount();
}
int pages;
pages = renderer.getPageCount();
Matrix m = imageView.getImageMatrix();
Rect rect = new Rect(0, 0, width12, height12);
renderer.openPage(currentPage).render(bitmap, rect, m, PdfRenderer.Page.RENDER_MODE_FOR_DISPLAY);
imageView.setImageMatrix(m);
imageView.setImageBitmap(bitmap);
imageView.invalidate();
【问题讨论】:
-
ImageView.setScaleType (CENTER_INSIDE)
-
imageView.setScaleType (ImageView.ScaleType.CENTER_INSIDE);
-
矩形和矩阵是可选的。如果两者都传递 null 会发生什么?
-
这已将宽度设置为屏幕尺寸,非常感谢!你知道我怎么能保持比例吗?这已经挤压了宽度,我现在需要挤压高度。我希望这有意义吗?
-
我相信我需要以某种方式找出 pdf 文件的原始尺寸,然后按比例缩小以告知位图宽度和高度的尺寸
标签: android pdfrenderer