Использование PDFbox для создания PDF-ссылок на шрифты OTF
Доброе утро!
У меня есть вопрос новичка PDFbox, который я надеюсь на некоторую помощь с...
Я только что (на прошлой неделе) загрузил последний источник PDFbox с github и пытаюсь создать файл HelloWorldOTF.java, основанный на примере HelloWorldTTF.java, в надежде создать файл PDF, который использует шрифт OTF (в данном случае Adobe Caslon Pro Regular) для добавления текста в выходной PDF.
Вот что у меня так далеко:
doc = new PDDocument();
PDPage page = new PDPage();
doc.addPage(page);
String testOtfFontFile = "c:/windows/fonts/ACaslonPro-Regular.otf";
String testTtfFontFile = "c:/windows/fonts/arial.ttf";
String testPdfFile = "c:/tmp/pdfboxtest.pdf";
CFFFont font = loadCFFFont(testOtfFontFile);
PDFont ttfFont = PDTrueTypeFont.loadTTF(doc, new File(testTtfFontFile));
PDPageContentStream contentStream = new PDPageContentStream(doc,
page);
contentStream.beginText();
// How to set the CFFFont?
contentStream.setFont(ttfFont, 12);
contentStream.moveTextPositionByAmount(100, 700);
contentStream.drawString(text);
contentStream.endText();
contentStream.close();
doc.save(testPdfFile);
System.out.println(testPdfFile + " created!");
Я могу загрузить CFFFont, используя этот код: (loadCFFFont ()):
CFFFont cff = null;
input = new FileInputStream(file);
byte[] bytes = IOUtils.toByteArray(input);
CFFParser cffParser = new CFFParser();
cff = cffParser.parse(bytes).get(0);
... но я не могу понять, как перейти от CFFFont к PDFont, чтобы иметь возможность использовать его для установки шрифта с помощью setFont().
Любая помощь или указатели будут с благодарностью...
Спасибо миллион за чтение этого далеко;)
0 ответов
Это сработало для меня, перейдя по этой ссылке.
Использование OTFParser для преобразования otf в ttf.
OTFParser otfParser = new OTFParser();
OpenTypeFont otf = otfParser.parse(new File("C:/Users/beder/Downloads/code/CODE Light.otf"));
PDFont font = PDType0Font.load(document, otf, false);