PDF, созданный с помощью Apache FOP, пуст - PullRequest
0 голосов
/ 06 июня 2018

В настоящее время я работаю над модулем для проекта компании и использую 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 и работает.Однако после перехода на последнюю версию у меня возникли эти проблемы.

1 Ответ

0 голосов
/ 11 июня 2018

Я использовал версию Apache-FOP 2.3 для командной строки в своих файлах xsl и example, чтобы получить больше информации из журналов (поскольку eclipse не дает мне контекст или строки ошибки).

С тех пор я исправил свои xsl-файлы, и они выдают правильный вывод в формате pdf.

...