2014-05-09 55 views
2

我想在我的應用程序中顯示pdf的拇指圖像。我正在使用this的答案。但我不知道如何在android中使用它,因爲Rectangle2D不能在java中使用。我試着用RectFand修改代碼:Thumb from pdf android

File file = new File(arrayOfResults.get(arg0).filePath); 
RandomAccessFile raf = new RandomAccessFile(file, "r"); 
       FileChannel channel = raf.getChannel(); 
       ByteBuffer buf = channel.map(FileChannel.MapMode.READ_ONLY, 
         0, channel.size()); 
       PDFFile pdffile = new PDFFile(buf); 

       // draw the first page to an image 
       PDFPage page = pdffile.getPage(0); 

       // get the width and height for the doc at the default zoom 
       RectF rect = new RectF(0, 0, (int) page.getWidth(), 
         (int) page.getHeight()); 

但應用程序崩潰並出現以下錯誤:

java.lang.NoClassDefFoundError: java.awt.geom.Rectangle2D$Double 
at com.sun.pdfview.PDFFile.parseNormalisedRectangle(PDFFile.java:1874) 

請幫助。

+0

java.awt。*不是Android框架的一部分...所以你不能在Android上使用這個庫... – Selvin

+0

@Selvin http://andpdf.sourceforge.net/看到那裏,他用它在Android應用程序。 – berserk

回答

1

如果您的項目是個人的或者您是獨立的,請嘗試http://plugpdf.com/ 他們爲您提供免費的Android PDF SDK。您還可以查看他們的博客文章,瞭解如何在Android上將PDF頁面呈現爲位圖圖像。 http://plugpdf.com/how-to-render-a-pdf-document-to-bitmap-image-on-android/

聲明:我是ePapyrus Inc.的創始人&,該公司運行plugpdf.com。

+0

其實我不想查看整個pdf ..我只是想從它生成一個位圖顯示爲縮略圖:) – berserk

+0

是的,你可以使用plugpdf完全爲你的目的。如果您將PDF頁面呈現爲小的位圖,則它是縮略圖。 :-) http://plugpdf.com/how-to-render-a-pdf-document-to-bitmap-image-on-android/ – user3892

5

的Android增添了PdfRenderer類如果你需要去低於能做到這一點在API 21

,你需要用自己的PDF渲染引擎出貨。我們查看了市場,並發現這些選項都缺乏這種或那種方式,併爲Android創建了PSPDFKit。這是一個商業PDF框架和(完全免責聲明)我是構建它的團隊的一部分。

在PSPDFKit for Android中,您可以使用renderPageToBitmap將PDF渲染爲位圖。