我无法导入com.itextpdf.text.Document类

时间:2016-04-20 19:58:15

标签: java android pdf itext document

我正在构建一个Android应用程序,我想使用iText创建pdf文件,但我不能使用Document类。正如我在教程中看到的,应该使用import com.itextpdf.text.Document来使用Document类。对于这个应用程序,我使用com.itextpdf:itext-pdfa:5.5.9库。我想创建一个包含2个段落的简单pdf文件,如下所示:

    try{
        File pdfFolder = new File(Environment.getExternalStoragePublicDirectory(
                Environment.DIRECTORY_DOCUMENTS), "pdfdemo");
        if (!pdfFolder.exists()) {
            pdfFolder.mkdir();
        }

        Date date = new Date() ;
        String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(date);

        File myFile = new File(pdfFolder + timeStamp + ".pdf");

        OutputStream output = new FileOutputStream(myFile);

        Document document = new Document();

        PdfAWriter.getInstance(document, output);

        document.open();

        document.add(new Paragraph(mSubjectEditText.getText().toString()));
        document.add(new Paragraph(mBodyEditText.getText().toString()));

        document.close();
    }catch (Exception e) {}

有人可以帮我解决这个问题吗?我做错了什么?

2 个答案:

答案 0 :(得分:5)

你说:

  

我正在使用com.itextpdf:itext-pdfa:5.5.9

这有两个原因:

  1. itext-pdfa是iText的插件,用于编写或操作PDF / A文档。它需要核心iText库。在官方网站上了解iText的不同部分:https://developers.itextpdf.com/itext-java
  2. 你说你想在Android上使用iText,但你指的是iText for Java。 iText for Java包含Android上不允许的类(java.awt.*javax.nio,...)。您应该使用iText的Android端口,名为iTextG:https://developers.itextpdf.com/itextg-android
  3. 就好像你在没有访问官方iText网站的情况下使用iText一样。怎么可能呢?

答案 1 :(得分:0)

只需打开您的应用程序级别gradle文件并将以下代码添加到您的依赖项中

实现'com.itextpdf:itext-pdfa:5.5.9'

对我有用