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

I can't import com.itextpdf.text.Document class

我正在构建一个 android 应用程序,我想使用 iText 创建 pdf 文件,但我不能使用文档 class。正如我在教程中看到的,应该有 import com.itextpdf.text.Document 用于使用 Document class。对于这个应用程序,我使用 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) {}

'

谁能帮我解决这个问题?我做错了什么?

你说:

I'm using com.itextpdf:itext-pdfa:5.5.9 library

这是错误的,原因有二:

  1. itext-pdfa is an addon to iText that is meant for writing or manipulating PDF/A documents. It requires the core iText libary. Read about the different parts of iText on the official web site: https://developers.itextpdf.com/itext-java
  2. 你说你想在 Android 上使用 iText,但你指的是 Java 上的 iText。 Java 的 iText 包含 Android 不允许的 类(java.awt.*javax.nio、...)。您应该为 iText 使用 Android 端口,称为 iTextG:https://developers.itextpdf.com/itextg-android

就好像您在使用 iText 而没有访问官方 iText 网站一样。这怎么可能?

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

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

对我有用