以下のコードを使用してpdfをレンダリングします。これはtry/catchであり、うまく動作し、pdfを表示します。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); < - これは機能しませんが、pdfイメージはまだ画面の横から流れます – AesculusMaximus
RectとMatrixはオプションです。両方にnullを渡すとどうなりますか? –