簡體   English   中英

Pdfbox-找不到PDType0Font.load的符號

[英]Pdfbox - Cannot find symbol for PDType0Font.load

我已經嘗試解決這個問題一段時間了。 我的程序具有最新的PDFBox(2.0.7)和FontBox(2.0.7),但是無論我做什么,我都會遇到相同的編譯錯誤。

在本課程中,這是我的相關導入:

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,我打開了JAR文件以確認該方法是否存在,並且我嘗試了其他方法,例如將“ font”初始化為PDType0Font的實例而不是接口。 PDFont。 同樣的錯誤。 我嘗試導入網站為2.0.7提供的每個JAR。 (Preflight,xmpbox,pdfbox-tools,pdfbox-debugger),我仍然遇到相同的錯誤。 我嘗試從pdmodel和pdmodel.font包中導入每個類。 同樣的錯誤。 其他所有東西都可以正常工作-這只是一種特定的方法。 最初,我使用PDTrueTypeFont代替PDType0Font,這很好。 但是由於外來字符,我不得不切換到PDType0Font。

編輯:解決。 原來我的類路徑中的過時的Tika JAR正在產生沖突,並將PDFBox還原到1.8.13版。

此問題已得到解決。 事實證明,我的課程路徑有沖突。 我有一個非常過時的Tika JAR,其中包含PDFBox 1.8,所以我已經將Tika更新到最新版本,不再有問題。 感謝Tilman Hausherr建議的解決方案。

可能是您的類路徑中有一個舊的.jar文件嗎? 嘗試添加異常e = new COSVisitorException(new Exception());。 如果該方法有效,則表明您的類路徑中有一個1.8版本(您不應該!)

Pdfbox-找不到PDType0Font.load的符號

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM