[android] PDF file 읽는 방법
https://commonsware.com/blog/2017/01/04/options-viewing-pdfs.html
-
ACTION_VIEW action Intent 를 통해 third-party app 으로 권한을 양도
-
PdfRenderer 를 써서 직접 구현.
https://developer.android.com/reference/android/graphics/pdf/PdfRenderer.html
API Level 21 부터 사용할 수 있으나, Bitmap 으로 render 를 시키고, 사용하기가 어렵다.
표준을 따른 일부 PDF 들만 rendering 가능하다는 약점이 있다.
-
pdf.js
https://mozilla.github.io/pdf.js/
Mozilla 의 Firefox 에서 PDF rendering 을 위해 사용하는 PDF.js 를 import 해서 WebView 에 rendering 하는 방법도 있다.
Android 4.4+ 이상의 WebView 에서만 제대로 작동하며, APK 사이즈를 약 2MB 늘린다.
그러나 많은 종류의 PDF 에 대해 읽기가 가능하다.
-
pdfium
https://pdfium.googlesource.com/pdfium/
Google 의 Chromium 에서 사용하는 것은 pdfium 이다.
pdfium 은 C/C++ 코드이며, https://github.com/barteksc/AndroidPdfViewer 에서는 이 녀석을 View 형태로 래핑 해놨다.
이 녀석은 사용성이 좋지만, CPU architecture 마다 apk 사이즈를 약 5MB를 증가시키기 때문에, 엄청난 용량증가를 초래할 수 있다.
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
Efficient Android Threading #2 스레드 통신 (0) | 2018.03.18 |
---|---|
Efficient Android Threading #1 자바의 멀티스레딩,안드로이드 스레드 (0) | 2018.03.17 |
[android] Dependency conflict 해결하기 (0) | 2018.03.15 |
[android] 잘 쓰지 않지만 유용한 android library 들 ( Spell Checker,Text Recognizer, TimeLogger, MediaProjection, PDF Creation ) (0) | 2018.03.14 |
[java] enum 의 serialize 에 대한 이야기 (0) | 2018.03.13 |
댓글