[英]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版本(您不應該!)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.