Каков самый легкий способ преобразовать строку xhtml в PDF с помощью Летающей тарелки?

Я только что закончил свое образование и работаю в моем первом задании, но здесь - то, что мы делаем:

я связываюсь через третье лицо из той же компании с "более высоким разрядом". Третье лицо - кто-то хорошо осведомленный относительно требований, которые программное обеспечение должно иметь, но не в разработке программного обеспечения. Когда я спрашиваю о спецификациях или отправляю им предложения, он дистиллирует сущность их ответов, отправляют их мне.

я думаю этот способ работать с пределами материала, которые объем запугивания клиента может сойти с рук когда дело доходит до изменяющихся спецификаций, разворачивая спецификации и т.д.

Для меня это особенно полезно, так как мне только 21 год, и люди могли бы испытать затруднения, полагая, что я могу добиться цели.

6
задан Stephen 6 August 2009 в 00:33
поделиться

2 ответа

Следующие работы:

Document document = XMLResource.load(new ByteArrayInputStream(templateString.getBytes())).getDocument();

Раньше я пытался

final DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
dbf.setValidating(false);

final DocumentBuilder documentBuilder = dbf.newDocumentBuilder();
Document document = documentBuilder.parse(new ByteArrayInputStream(templateString.getBytes()));

, но это не удалось, так как он пытается загрузить HTML docType с http://www.w3.org (который возвращает 503 для библиотек Java).

5
ответ дан 17 December 2019 в 02:32
поделиться

Я без проблем использую следующее:

    final DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
    documentBuilderFactory.setValidating(false);
    DocumentBuilder builder = documentBuilderFactory.newDocumentBuilder();
    builder.setEntityResolver(FSEntityResolver.instance());
    org.w3c.dom.Document document = builder.parse(new ByteArrayInputStream(doc.toString().getBytes()));

    ITextRenderer renderer = new ITextRenderer();
    renderer.setDocument(document, null);
    renderer.layout();
    renderer.createPDF(os);

Ключевые различия здесь заключаются в передаче нуля URI, а также предоставил DocumentBuilder преобразователь сущностей.

1
ответ дан 17 December 2019 в 02:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: