Android PDF到位图渲染
我有包含一个图标的PDF文件。 我需要在GridView中呈现这些图标 在Android 5上,我使用的是PdfRenderer系统类,它的工作原理令人惊叹: 在安卓4上,我使用的是“安卓Pdf查看器库”。 它可以工作,但质量很差: 你能推荐一些替代方案来将PDF呈现为位图吗? 或者可能有一种方法可以提高该库的渲染质量? 这是我的密码:Android PDF到位图渲染,android,pdf,Android,Pdf,我有包含一个图标的PDF文件。 我需要在GridView中呈现这些图标 在Android 5上,我使用的是PdfRenderer系统类,它的工作原理令人惊叹: 在安卓4上,我使用的是“安卓Pdf查看器库”。 它可以工作,但质量很差: 你能推荐一些替代方案来将PDF呈现为位图吗? 或者可能有一种方法可以提高该库的渲染质量? 这是我的密码: private static Bitmap renderToBitmap(Context context, InputStream inStream) {
private static Bitmap renderToBitmap(Context context, InputStream inStream) {
Bitmap bitmap = null;
try {
byte[] decode = IOUtils.toByteArray(inStream);
ByteBuffer buf = ByteBuffer.wrap(decode);
PDFPage mPdfPage = new PDFFile(buf).getPage(0, true);
float width = mPdfPage.getWidth();
float height = mPdfPage.getHeight();
bitmap = mPdfPage.getImage((int) (width), (int) (height), null, true,
true);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
inStream.close();
} catch (IOException e) {
}
}
return bitmap;
}
看起来您的PDF可能使用了一些透明对象。通常,当您看到图像中的黑色区域时,情况就是这样。透明度很复杂,所以很多hobbie PDF库都不完全支持它。我猜想在Android 5中,它使用的是PDFium,它是受支持的。看起来你的PDF可能使用了一些透明对象。通常,当您看到图像中的黑色区域时,情况就是这样。透明度很复杂,所以很多hobbie PDF库都不完全支持它。我猜想在Android 5中,它使用的是PDFium,而PDFium是受支持的。