나는 한동안이 문제를 해결하려고 시도해 왔습니다. 내 프로그램에 대한 최신 PDFBox (2.0.7) 및 FontBox (2.0.7)가 있지만, 내가하는 일과 상관없이 동일한 컴파일 오류가 발생합니다. 이 클래스 내에서 Pdfbox - PDType0Font.load의 기호를 찾을 수 없습니다.
, 여기 내 관련 수입은 다음과 같습니다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;
나는 다음 샘플 글꼴 설정을 시도하고있다 : 내가 언급 한 바와 같이,
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);
불행하게도을, 내가 얻을 다음 때마다 컴파일 오류가 발생합니다.
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
필자는 Javadocs multip 르 시간, 그 방법이 거기에 있는지 확인하기 위해 JAR 파일을 열었습니다. 그리고 인터페이스 PDFont 대신 PDType0Font의 인스턴스로 "글꼴"을 초기화하는 것과 같은 다른 작업을 시도했습니다. 같은 오류. 2.0.7에서 웹 사이트가 제공하는 모든 단일 JAR 가져 오기를 시도했습니다. (Preflight, xmpbox, pdfbox-tools, pdfbox-debugger) 나는 여전히 같은 오류가 발생합니다. 필자는 pdmodel 및 pdmodel.font 패키지에서 모든 클래스를 가져 오기 위해 노력했습니다. 같은 오류. 그 밖의 모든 것은 잘 작동합니다. 이것은이 하나의 특별한 방법 일뿐입니다. 처음에는 PDType0Font 대신 PDTrueTypeFont를 사용 했었지만 괜찮 았습니다. 하지만 외국 문자 때문에 PDType0Font로 전환해야합니다.
편집 : 해결. 내 classpath에서 오래된 Tika JAR이 충돌을 일으키고 PDFBox를 1.8.13 버전으로 되 돌리는 것으로 나타났습니다.
문제는 당신이 사용하는 환경에있을 수 있습니다 (그리고 당신이해야하지!) 당신이 당신의 클래스 패스에 1.8 버전을 의미? 어떤 프로젝트 구축 시스템을 사용하고 있습니까? 문제를 재현하는 전체 샘플 프로젝트를 첨부 할 수 있습니까? –
보이지 않는 오타가있을 수 있습니까? 해당 코드 행을 다시 입력 해보십시오. 또 다른 가능성은 클래스 경로에 오래된 또는 깨진 pdfbox 라이브러리가 있다는 것입니다 ... 삭제하고 다시로드 해보십시오. 또는 Maven을 사용하는 경우 저장소를 삭제하십시오. IDE에서 새 프로젝트를 시작하십시오. IDE의 캐시를 삭제하십시오. –
Btw 나는 경험으로 말합니다 ... 나는 Netbeans에서 이런 일이 발생했습니다. Netbeans 캐시를 삭제하면 도움이되었습니다. –