Java.lang.NoClassDefFoundError: org / fontbox / afm / FontMetric


J'utilise pdfbox-0.7.3.pot. Je sais que les fichiers de classe associés manquants appartiennent au JAR pdfbox-0.7.3 mais lorsque je joins le fichier source. continuez à montrer manquant .les fichiers de classe. je cherche des suggestions sur l'erreur ci-dessous.

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import org.pdfbox.cos.COSDocument;
    import org.pdfbox.pdfparser.PDFParser;
    import org.pdfbox.pdmodel.PDDocument;
    import org.pdfbox.util.PDFTextStripper;
    import java.lang.NoClassDefFoundError;
    import java.util.Scanner;
        public class ggg{
        public static void main(String args[]) {
           // PDFTextStripper pdfStripper = null;
               // PDDocument pdDoc = null;
           // COSDocument cosDoc = null;
            File file = new File("C:\\Users\\firstfile.pdf");
            try {
                PDFParser parser = new PDFParser(new FileInputStream(file));
                parser.parse();
                COSDocument   cosDoc = parser.getDocument();
                PDFTextStripper   pdfStripper = new PDFTextStripper();
                PDDocument pdDoc = new PDDocument(cosDoc); 
                pdfStripper.setStartPage(1);
                pdfStripper.setEndPage(5);
                String parsedText = pdfStripper.getText(pdDoc);
                System.out.println(parsedText);
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } 
        }
    }
Exception in thread "main" java.lang.NoClassDefFoundError: org/fontbox/afm/FontMetric
    at org.pdfbox.pdmodel.font.PDFont.getAFM(PDFont.java:334)
    at org.pdfbox.pdmodel.font.PDSimpleFont.getFontHeight(PDSimpleFont.java:104)
    at org.pdfbox.util.PDFStreamEngine.showString(PDFStreamEngine.java:336)
    at org.pdfbox.util.operator.ShowTextGlyph.process(ShowTextGlyph.java:80)
    at org.pdfbox.util.PDFStreamEngine.processOperator(PDFStreamEngine.java:452)
    at org.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:215)
    at org.pdfbox.util.PDFStreamEngine.processStream(PDFStreamEngine.java:174)
    at org.pdfbox.util.PDFTextStripper.processPage(PDFTextStripper.java:336)
    at org.pdfbox.util.PDFTextStripper.processPages(PDFTextStripper.java:259)
    at org.pdfbox.util.PDFTextStripper.writeText(PDFTextStripper.java:216)
    at org.pdfbox.util.PDFTextStripper.getText(PDFTextStripper.java:149)
    at ggg.main(ggg.java:30)
Author: vasam, 2017-06-14

1 answers

Semble que vous n'utilisez aucun outil de construction.

Malheureusement, cette bibliothèque a des dépendances supplémentaires.

Org.fontbox.AFM.FontMetric est une classe située dans fontbox-0.1.0.jar

Vous pouvez aller à Maven Central - PDF Box et télécharger et ajouter toutes les bibliothèques mentionnées dans les dépendances à votre projet.

entrez la description de l'image ici

Ce que vous pouvez faire d'autre est de configurer un projet maven. Et ajoutez cette dépendance à votre POM.XML. Pour ce faire, vous avez besoin de:

  1. Installer maven
  2. Créer un projet en utilisant la commande de ligne de commande maven

    Archétype Mvn-B: générer \ -DarchetypeGroupId=org.Apache.maven.archétypes \ -DgroupId=com.mycompany.App \ - DartifactId=mon application

  3. Ajouter une dépendance maven PDF à pom.fichier xml à la section <dependendencies>

    <dependency> <groupId>pdfbox</groupId> <artifactId>pdfbox</artifactId> <version>0.7.3</version> </dependency>

  4. Ouvrez votre projet généré en tant que projet Maven dans votreE (dans votre cas, c'est Eclipse)

  5. Actualisez le projet dans ID et laissez Eclipse télécharger la bibliothèque avec toutes les dépendances pour vous.

 0
Author: nikita_pavlenko, 2017-06-14 13:54:28