我试图打开一个现有的pdf文件,然后从Android应用程序中将另一个页面添加到pdf文档中。在添加的页面上,我需要添加一些文本和图像。
我想给PDFBox一个尝试。其他解决方案,如iTextPDF不适合我们公司,因为许可条款/价格。
我有一个包含主要代码库的库项目,以及引用库项目的完整的、精巧的项目。
我从http://pdfbox.apache.org/download.html下载了jar并将其复制到库projects lib文件夹中,并将pdfbox 1.6.0.jar文件添加到java构建路径库中。
我能够成功地导入图书馆,如import org.apache.pdfbox.pdmodel.PDDocument;
和编译所有的项目。但是,当我运行应用程序时,它会在PDDocument document = new PDDocument();
上崩溃,出现以下错误。
E/AndroidRuntime(24451):java.lang.NoClassDefFoundError: org.apache.pdfbox.pdmodel.PDDocument
我在某个地方读到PDFBox版本1.5不适用于安卓,所以我试着下载pdfbox-app-1.4.0.jar文件,但也遇到了同样的问题。我还将库添加到我的full和lite项目中的构建路径中,但是我得到了相同的错误,或者eclipse由于内存不足而不断崩溃。
有人能告诉我我做错了什么吗?我下载错文件了吗?我进口正确了吗?
谢谢,
发布于 2012-01-25 02:11:00
PDFBox使用java和swing,即使对于非UI任务,我也尝试删除引用,但是有很多文件,而且我删除了太多的东西
我刚刚测试了PDFjet http://pdfjet.com/os/edition.html it的bsd许可(加上带有更多功能的商业版本),通过这个示例代码(从Example_03.java中提取),我能够将jpeg转换成一个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();
}
我在这里找到了链接,http://java-source.net/open-source/pdf-libraries
发布于 2015-01-11 13:20:32
发布于 2012-01-24 02:15:05
我认为库类文件不包括在apk文件中。库类需要转换为dex文件,只有它将是detected.please引用http://developer.android.com/guide/developing/building/index.html。
https://stackoverflow.com/questions/8980668
复制相似问题