У меня есть проект Java, в котором я использую iText 2.1.7 (довольно старая версия, я знаю, но это устаревший проект) для некоторых файлов PDF. Я создал следующий тест, чтобы настроить и отладить некоторые проблемы, связанные со шрифтами:
@Test
public void testGeneratePDF() throws FileNotFoundException, DocumentException {
Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream("test.pdf"));
document.open();
String fontPath = this.getClass().getClassLoader().getResource("NotoSansCJK.ttc").getPath();
FontFactory.register(fontPath);
Set<String> fonts = new TreeSet<String>(FontFactory.getRegisteredFonts());
for (String fontname : fonts) {
showFontInfo(document, fontname);
}
document.close();
}
И когда я запускаю тест, я получаю следующую трассировку ошибки:
ExceptionConverter: com.lowag ie .text.DocumentException: /Users/jdebenitocalzada/dev/myproject/target/test-classes/NotoSansCJK.ttc не является допустимым файлом TTF.
at com.lowagie.text.pdf.EnumerateTTC.findNames(Unknown Source)
at com.lowagie.text.pdf.EnumerateTTC.<init>(Unknown Source)
at com.lowagie.text.pdf.BaseFont.enumerateTTCNames(Unknown Source)
at com.lowagie.text.FontFactoryImp.register(Unknown Source)
at com.lowagie.text.FontFactory.register(Unknown Source)
at com.lowagie.text.FontFactory.register(Unknown Source)
at com.mycompany.myproject.PDFGenerationTest.testGeneratePDF(PDFGenerationTest.java:37)
at ...
Как вы можете видеть выше, в классах пакета com.lowag ie .text нет информации о номерах строк, в которых возникала каждая ошибка. Кроме того, я попытался отладить код в IntelliJ, но отладчик не останавливается на коде библиотеки (он работает на моем собственном коде проекта).
Есть идеи, почему это происходит?