我在导出应用程序时尝试将文件包含到我的(runnable)jar中。
它是一个ttf文件,对我的pdf生成器很重要。我将文件放在src\pdf_content\
下,但在导出并运行程序后,它告诉我找不到该文件:
java.io.FileNotFoundException: src\pdf_content\bgcs.ttf (The system cannot find the path specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:131)
at org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.loadTTF(PDTrueTypeFont.ja
at org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.loadTTF(PDTrueTypeFont.ja
at com.hp.deu.vw.fis.db.schemavergleich.PDFDocumenter.createPDFDocumentati
at com.hp.deu.vw.fis.db.schemavergleich.MainClass.createPDFandOutput(MainC
at com.hp.deu.vw.fis.db.schemavergleich.MainClass.start(MainClass.java:242
at com.hp.deu.vw.fis.db.schemavergleich.MainClass.main(MainClass.java:191)
在Eclipse中运行程序 可以正常工作。
我使用
访问该文件// APACHE PDFBOX METHOD
bcgsFont = PDTrueTypeFont.loadTTF(doc, "src/pdf_content/bgcs.ttf");
答案 0 :(得分:0)
您应该转到loadTTF
方法InputStream
而不是文件路径。可以使用InputStream
方法获取.class.getResourceAsStream()
。像这样的东西:
bcgsFont = PDTrueTypeFont.loadTTF(doc, PdfContent.class.getResourceAsStream("bgcs.ttf"));
使用哪个类而不是PdfContent
- 我不知道您项目的结构。例如,位于pdf_content
包中的任何类。