【发布时间】:2012-03-22 17:17:07
【问题描述】:
我正在尝试使用 pdfrenderer 将 pdf 文件页面转换为图像,但在编译时出现以下错误。如何解决这个问题?
我的代码
File file = new File("image.png");
System.out.println("Inside readFromFiles!!!!!");
String fname = new File(getFilesDir(), "Android Tutorial.pdf")
.getAbsolutePath();
FileChannel fChannel = new FileInputStream(fname).getChannel();
ByteBuffer buffer = fChannel.map(FileChannel.MapMode.READ_ONLY, 0,
fChannel.size());
System.out.println("Buffer" + buffer);
PDFFile pdfFile = new PDFFile(buffer);
PDFPage page = pdfFile.getPage(0);
System.out.println("page" + page);
Rectangle rect = new Rectangle((int) page.getBBox().getWidth(),
(int) page.getBBox().getHeight());
System.out.println("Rect" + rect);
Image img = page.getImage(rect.width, rect.height, rect, null);
System.out.println("img" + img);
RenderedImage rImage = (RenderedImage) img;
ImageIO.write(rImage, "png", file);
System.out.println("Image Created");
我得到的错误是:
03-22 10:56:16.834: ERROR/AndroidRuntime(9572): FATAL EXCEPTION: main
03-2210:56:16.834:ERROR/AndroidRuntime(9572):java.lang.NoClassDefFoundError:java.awt.geom.Rectangle2D$Float
03-22 10:56:16.834: ERROR/AndroidRuntime(9572): at com.sun.pdfview.PDFFile.parseRect(PDFFile.java:1523)
03-22 10:56:16.834: ERROR/AndroidRuntime(9572): at com.sun.pdfview.PDFFile.createPage(PDFFile.java:1419)
03-22 10:56:16.834: ERROR/AndroidRuntime(9572): at com.sun.pdfview.PDFFile.getPage(PDFFile.java:1330)
03-22 10:56:16.834: ERROR/AndroidRuntime(9572): at com.sun.pdfview.PDFFile.getPage(PDFFile.java:1301)
03-22 10:56:16.834: ERROR/AndroidRuntime(9572): at com.example.PdfLibraryActivity.PdfLibraryActivity.readFromFiles(PdfLibraryActivity.java:137)
03-22 10:56:16.834: ERROR/AndroidRuntime(9572): at com.example.PdfLibraryActivity.PdfLibraryActivity.onCreate(PdfLibraryActivity.java:42)
03-22 10:56:16.834: ERROR/AndroidRuntime(9572): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
03-22 10:56:16.834: ERROR/AndroidRuntime(9572): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
03-22 10:56:16.834: ERROR/AndroidRuntime(9572): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
03-22 10:56:16.834: ERROR/AndroidRuntime(9572): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
03-22 10:56:16.834: ERROR/AndroidRuntime(9572): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
【问题讨论】: