使用iText创建PDF时出错

时间:2015-10-29 04:13:41

标签: java android file pdf io

我对Java和Android比较陌生。说我在我的应用程序中使用iText.jar文件从用户输入的数据创建PDF。我从基本的例子开始,只是为了看它是如何工作和使用它。出于某种原因,我要么得到错误,要么是只读的,要么是不存在的。希望有人遇到类似的修复问题。我的代码低于我正在使用的代码。我在android清单中添加了权限。我没有包含所有代码,只包含相关内容。 GlobalVars是我用来存储所有公共变量的类。另外,我用来帮助调试的toast语句是我收到这些错误消息的地方......

<public static final File location =     Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);>

<try {
        createPdf();
    } catch (FileNotFoundException | DocumentException e) {
        e.printStackTrace();
        errorString = e.getMessage();
        Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_LONG).show();
    }>

<public void createPdf() throws FileNotFoundException, DocumentException {
    FileOutputStream pdfFile = new FileOutputStream(location.getAbsolutePath() + "/temp.pdf");
    // step 1
    Document document = new Document();
    // step 2
    PdfWriter.getInstance(document, pdfFile);
    // step 3
    document.open();
    // step 4
    document.add(createDataTable());
    // step 5
    document.close();
}

public static PdfPTable createDataTable() {
    // a table with two columns
    PdfPTable table = new PdfPTable(4);
    // the cell object
    PdfPCell cell;
    // we add the cells with table.addCell()

    for (int x = 0; x < 40; x++) {
        cell = new PdfPCell(Phrase.getInstance(x + ": " + GlobalVars.inspectionResults[x]));
        table.addCell(cell);
    }
    return table;
}>

以下是Logcat错误:

10-29 01:08:56.730 2283-2340 / com.abc.aeivehicleinspection E / Surface:getSlotFromBufferLocked:unknown buffer:0xb3fd33b0

10-29 01:09:02.722 2283-2340 / com.abc.aeivehicleinspection E / Surface:getSlotFromBufferLocked:unknown buffer:0xabac8a40

0 个答案:

没有答案