【質問】
解決策を教えて下さい。
(ネットの記事など色々調べましたが探せませんでした)
【やりたいこと】
PDFを画像化して、Androidに表示をしようとしています。
件名にある「android.graphics.pdf.PdfRenderer」を使ってPDFを
画像化しています。表示コンポーネントは、ImageViewを使っています。
【悩んでいること】
実装自体はできたのですが、端末によって画像の内容が変わってしまい、
PDFの文字がすべて消えてしまいます。
端末は
1.Android 8の10インチ(タブレット)
2.Android 7の7インチ(タブレット)
3.Android 9の6インチ(タブレット)
PDFの画像はすみません。乗せることができません。
フォントはFA-Gothic
種類:TrueType(CID)
エンコーディング:Idntity-H
PDFバージョン:1.5
となっております。
文字が消えるのが、1の場合のみです。
なんとなく、フォントが無いから変換できなくて
文字が消えてしまったのかと思っております。
その場合、どうすればよいか教えていただけないでしょうか。
以下がソースになります。
fun getImage(f :File) :Bitmap? { var renderer: PdfRenderer? = null var page: PdfRenderer.Page? = null var df: ParcelFileDescriptor? = null var input: FileInputStream? = null try { var w = imageView.width var h = imageView.height df = ParcelFileDescriptor.open(f,ParcelFileDescriptor.MODE_READ_ONLY) renderer = PdfRenderer(df) if (renderer.pageCount > 0) { page = renderer.openPage(0) var pw = page.width var ph = page.height var bitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888) page.render( bitmap, Rect(0, 0, w, h), null, PdfRenderer.Page.RENDER_MODE_FOR_DISPLAY ) return bitmap }else{ return null } } catch (ex: Exception) { ex.printStackTrace() } finally { if (page != null) { page.close() } if (renderer != null) { renderer.close() } if (df != null) { df.close() } if(input != null){ input.close() } } }
ご教授よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。