Ich habe versucht, dieses Problem für eine Weile zu lösen. Ich habe die neueste PDFBox (2.0.7) und FontBox (2.0.7) für mein Programm, und egal, was ich mache, bekomme ich den gleichen Kompilierungsfehler.Pdfbox - Kann kein Symbol für PDType0Font.load finden
Innerhalb dieser Klasse, hier sind meine relevanten Importe:
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.font.PDFont;
import org.apache.pdfbox.pdmodel.font.PDTrueTypeFont;
import org.apache.pdfbox.pdmodel.font.PDType0Font;
import org.apache.pdfbox.pdmodel.font.PDType1Font;
import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;
import org.apache.pdfbox.pdmodel.common.PDRectangle;
Ich versuche, die Schriftart mit dem folgenden Beispiel zu setzen:
PDDocument pdfDoc = new PDDocument();
PDPage page = new PDPage();
pdfDoc.addPage(page);
PDPageContentStream contents = new PDPageContentStream(pdfDoc, page);
PDFont font = PDType0Font.load(pdfDoc, new File("/path/to/font/Roboto-Regular.ttf"));
contents.setFont(font, 20);
Leider, wie ich gesagt habe, erhalte ich die folgenden Kompilierungsfehler jedes Mal:
error: cannot find symbol
PDFont font = PDType0Font.load(pdfDoc, new File("/path/to/font/Roboto-Regular.ttf"));
symbol: method load(PDDocument,File)
location: class PDType0Font
Ich habe die Javadocs multip betrachtet Le mal, ich habe die JAR-Datei geöffnet, um zu bestätigen, dass diese Methode da ist (es ist), und ich habe andere Dinge ausprobiert, wie zum Beispiel die "Schriftart" als eine Instanz von PDType0Font anstelle der Schnittstelle PDFont zu initialisieren. Derselbe Fehler. Ich habe versucht, jedes einzelne JAR zu importieren, das die Website für 2.0.7 anbietet. (Preflight, xmpbox, pdfbox-tools, pdfbox-debugger) und ich bekomme immer noch den gleichen Fehler. Ich habe versucht, jede einzelne Klasse aus den Paketen pdmodel und pdmodel.font zu importieren. Derselbe Fehler. Alles andere funktioniert gut - es ist nur diese eine bestimmte Methode. Anfangs hatte ich PDTrueTypeFont anstelle von PDType0Font verwendet und es war in Ordnung. Aber ich muss aufgrund von fremden Zeichen zu PDType0Font wechseln.
BEARBEITEN: Gelöst. Es stellt sich heraus, dass ein veraltetes Tika-JAR in meinem Klassenpfad einen Konflikt verursacht hat und PDFBox auf Version 1.8.13 zurückgesetzt hat.
Problem nur in der Umgebung, die Sie verwenden könnten? Welches Projektbausystem verwenden Sie? Können Sie das gesamte Beispielprojekt anfügen, das das Problem reproduziert? –
Vielleicht ein unsichtbarer Tippfehler? Versuchen Sie, diese Codezeile erneut einzugeben. Eine andere Möglichkeit ist, dass Sie eine veraltete oder kaputte pdfbox-Bibliothek in Ihrem Klassenpfad haben ... versuchen Sie, sie zu löschen und erneut zu laden, oder wenn Sie maven verwenden, löschen Sie Ihr Repository; Starten Sie ein neues Projekt in Ihrer IDE; Löschen Sie den Cache Ihrer IDE. –
Btw Ich spreche aus Erfahrung ... Ich hatte das mit Netbeans passieren. Löschen des Netbeans-Cache hat geholfen. –