在android中创建PDF

时间:2013-09-03 12:26:48

标签: android pdf report itext

我使用此代码在android中生成pdf文件,但它给了我“文件未找到异常”

            try {
    OutputStream file = new FileOutputStream(new File("D:\\Test.pdf"));

    Document document = new Document();
 //   PdfWriter.getInstance(document, new FileOutputStream(FILE));
    PdfWriter.getInstance(document, file);
    document.open();
    addMetaData(document);
    addTitlePage(document);
    addContent(document);
    //createImage();
    document.close();

} catch (Exception e) {
    e.printStackTrace();
}

当我执行此行时:

    PdfWriter.getInstance(document, file);

它说“Java.io.FileNotFOundException”。我必须创建新文件然后为什么打开一个甚至没有生成的文件?这段代码出了什么问题?

2 个答案:

答案 0 :(得分:3)

我不认为“D:\”是android

中的有效文件位置

尝试

OutputStream file = new FileOutputStream(newFile(Environment.getExternalStorageDirectory().toString,"test.pdf"));

作为一个额外的信息,如果你正在处理android中的文件系统,因为android是基于unix的路径分隔符'/'而不是'\'。对于Windows来说,'\'分隔符(就我所知)是D:

所特有的

答案 1 :(得分:0)

此错误是由于您在下面提到的代码行中提供的位置。


    OutputStream file = new FileOutputStream(new File("D:\\Test.pdf"));

我认为您的Android文件系统不存在D盘。以下链接可能有所帮助。

How To Create a PDF file in raw in Android

或者您可以使用以下代码。


    try {
                 File temp = new File(FILE.getAbsolutePath(),"Test.pdf");   
                  PdfWriter.getInstance(document, new FileOutputStream(temp));
    }