Использование PDFbox для создания PDF-файлов со ссылкой на шрифты OTFJAVA

Программисты JAVA общаются здесь
Anonymous
Использование PDFbox для создания PDF-файлов со ссылкой на шрифты OTF

Сообщение Anonymous »

Доброе утро!

У меня вопрос о 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().

Любая помощь или подсказки будут очень признательны...

Огромное спасибо за дочитал до этого места ;)

Подробнее здесь: https://stackoverflow.com/questions/266 ... -otf-fonts

Вернуться в «JAVA»