如何PDFBox的添加到Android项目或建议的替代 [英] How to add PDFBox to an Android project or suggest alternative

查看:253
本文介绍了如何PDFBox的添加到Android项目或建议的替代的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试打开现有的PDF文件,然后从内部一个Android应用程序中添加另一个页面的PDF文档。在添加页面,我需要添加一些文字和图像。

I'm attempting to open an existing pdf file and then add another page to the pdf document from within an Android application. On the added page, I need to add some text and an image.

我想给PDFBox的一个尝试。其他的解决方案,如iTextPDF是因为授权条款/价格不适合我们公司。

I am wanting to give PDFBox a try. Other solutions such as iTextPDF aren't suitable for our company because of the licencing terms/price.

我有一个库项目与主code碱基,并引用该库的项目还充分和精简版的项目。

I have a library project with the main code base, and also full and lite projects that reference the library project.

我从 http://pdfbox.apache.org/download.html 下载的罐子,把它复制到库项目lib文件夹,并添加了PDFBOX-APP-1.6.0.jar文件添加到Java构建路径库。

I have downloaded the jar from http://pdfbox.apache.org/download.html and copied it into the library projects lib folder and added the pdfbox-app-1.6.0.jar file to the java build path libraries.

我能够成功导入图书馆的如进口org.apache.pdfbox.pdmodel.PDDocument; 和编译所有的项目。然而,当我运行该应用程序崩溃的 PDDocument文档=新PDDocument(); ,出现以下错误

I am able to import the librarys successfully eg import org.apache.pdfbox.pdmodel.PDDocument; and compile all the projects. However when I run the application it crashes on PDDocument document = new PDDocument(); with the following error.

E / AndroidRuntime(24451):java.lang.NoClassDefFoundError的:   org.apache.pdfbox.pdmodel.PDDocument

E/AndroidRuntime(24451): java.lang.NoClassDefFoundError: org.apache.pdfbox.pdmodel.PDDocument

我读的地方PDFBox的该版本1.5开始不与Android合作,所以我尝试下载PDFBOX-APP-1.4.0.jar文件,但得到了同样的问题。我还添加了库到构建路径在我的充分和精简版项目,但我得到了同样的错误或月食跟上内存不足错误而崩溃。

I read somewhere that version 1.5 of PDFBox onwards didn't work with Android so I tried downloading the pdfbox-app-1.4.0.jar file but got the same issue. I also added the library to the build path in my full and lite projects but I got the same error or eclipse kept crashing with an out of memory error.

谁能告诉我什么,我做错了什么?难道我下载了错误的文件吗?我有没有正确导入呢?

Can anyone tell me what I am doing wrong? Have I downloaded the wrong file? Have I imported it correctly?

谢谢

推荐答案

PDFBox的使用Java AWT和Swing,即使是对非UI的任务,我试图删除引用,但也有很多文件,我被删除过太多的东西

PDFBox uses java awt and swing, even for non UI tasks, I've tried to remove references but there are a lot of files, and I was removing too much stuff

我刚刚测试过PDFjet http://pdfjet.com/os/edition.html 它采用BSD授权(再加上商业版有更多的功能),在此示例code(从Example_03.java撕开)我能为JPEG转换为PDF

I've just tested PDFjet http://pdfjet.com/os/edition.html it's bsd licensed (plus commercial version with more features), with this sample code (ripped from Example_03.java) I was able to convert a jpeg to a pdf

    FileOutputStream fos = null;
    try
    {
        fos = new FileOutputStream("/sdcard/sample.pdf");
        PDF pdf = new PDF(fos);
        InputStream f = getApplicationContext().getAssets().open("img0.jpg"); 
        Image image = new Image(pdf, f, ImageType.JPEG);
        Page page = new Page(pdf, A4.PORTRAIT);
        image.setPosition(0, 0);
        image.drawOn(page);
        pdf.flush();
        fos.close();
    } catch (Exception e)
    {
        e.printStackTrace();
    }

我发现这里的链接<一个href="http://java-source.net/open-source/pdf-libraries">http://java-source.net/open-source/pdf-libraries

这篇关于如何PDFBox的添加到Android项目或建议的替代的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆