所以我有以下問題。我收到一個包含一組字體的PDF
文件。這些字體沒有嵌入到文件中。下面是一個簡單的例子:用IText在PDF中嵌入非嵌入字體
我想嵌入PDF
內這些字體,所以他們自成一體,隨時可用。但事情似乎並不那麼簡單。我正在使用IText
來處理我的PDF
。
我已閱讀並嘗試了以下問題/回答:這本書的
- how-to-create-pdf-with-font-information-and-embed-actual-font-when-merging-them
- embed-truetype-fonts-in-existing-pdf
- embed-font-into-pdf-file-by-using-itext
- how-to-check-that-all-used-fonts-are-embedded-in-pdf-with-java-itext
- 章
16.1.4 Replacing a font
iText in Action - 2nd Edition
- ...
但最接近我的是以下例子:EmbedFontPostFacto.java
(來自該書)。在提供Arial.ttf
文件時,我能夠嵌入Arial
字體。
但有了這個,跟其他的例子,我需要的字體的源文件,以嵌入它。在我的情況下,我沒有源文件。但是,我可能會讓他們在系統上。所以我想在系統上查詢我的可用字體,並查看它是否與給定的字體相對應。
喜歡的東西作爲
GraphicsEnvironment e = GraphicsEnvironment.getLocalGraphicsEnvironment();
java.awt.Font[] fonts = e.getAllFonts();
for(java.awt.Font f : fonts){
System.out.println(f.getFontName());
}
但我不能改變給定java.awt.Font
成RandomAccessFile
或byte[]
,以便嵌入字體文件本身使用。是否有另一種方法將字體嵌入到PDF
中,而不需要自己的字體源文件?