В настоящее время я работаю над модулем для проекта компании и использую Apache FOP 2.3 для создания PDF-файлов из xmls.
У меня проблемы с работой с FOP, когда я пытаюсь протестировать реализацию с нашими тестовыми файлами, FOP генерирует почти пустые PDF-файлы, их единственным содержимым является:
% PDF-1,4% клмн
и я получаю ошибку org.apache.fop.fo.ValidationException: "fo:table-row" is missing child elements. Required content model: (table-cell+) (No context info available)
.Я попытался установить строгий валидатор в false в файле fop.conf, но это не помогло с исключением.
Это мой код генерации PDF:
FopFactory fopFactory = FopFactory.newInstance(FOPCONFIGFILE);
Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, destination);
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer(new StreamSource(xslFile));
JDOMSource docEntreeJDOM = new JDOMSource(docJDOM);
org.w3c.dom.Document doc = transformJdomToDom(docJDOM);
Result result = new SAXResult(fop.getDefaultHandler());
transformer.transform(docEntreeJDOM, result);
Модуль использует fop 0.20.5 и работает.Однако после перехода на последнюю версию у меня возникли эти проблемы.