首页 > 解决方案 > 使用 ITextPDF 保存 PDF 文件

问题描述

我正在使用 ITextPDF 创建 PDF。PDF 是在 android 中创建的。我不想将 pdf 保存到 android 设备的本地存储中,而是想将其保存到变量中,例如文件文件;或类似的东西,或直接将其转换为字符串,然后将该值保存到数据库中。

这是我声明文件变量的地方(这可以改变)

File file;

这是执行 pdf 创建的按钮。

PDFTest.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            PDF();
        }
    });

这是创建PDF的方法

public void PDF()
    {
        try {
            Image img = Image.getInstance(IMAGES[0]);
            Document document = new Document(img);
            PdfWriter.getInstance(document, new FileOutputStream(file));
            document.open();
            document.add(new Paragraph("Example"));
            document.close();
        }catch (DocumentException e)
        {
            e.printStackTrace();
        } catch (FileNotFoundException e)
        {
            e.printStackTrace();
        }
    }

FileOutputStream 需要一个我刚刚制作文件的位置。如果文件正确,我如何显示该文件对象中的值。

标签: javaandroiditextfileoutputstreamitext7

解决方案


在 iText 7 API 文档中PdfWriter,您可以读到构造函数采用OutputStream. 这可以是任意OutputStream的,例如 a FileOutputStream或 a ByteArrayOutputStream

另请参阅重复问题如何在内存中创建 pdf 文件


推荐阅读