gpt4 book ai didi

java - NoNewLineParagraph 无法转换为 Element

转载 作者:行者123 更新时间:2023-11-30 03:31:39 25 4
gpt4 key购买 nike

我正在关注 itextpdf 示例 http://itextpdf.com/sandbox/htmlworker/HtmlContentForCell .

我有以下代码:

// Relevant code from main part of the class:

ByteArrayOutputStream baos = new ByteArrayOutputStream();
Document document = new Document(PageSize.A4, 40, 40, 40, 40);
PdfWriter writer = PdfWriter.getInstance(document, baos);
document.open();
document.add(buildContent());
document.close();

// method that should provide content to the document.

public PdfPTable buildContent() throws IOException {
InfoList infoList = infoListInstance.get();
PdfPTable table = new PdfPTable(2);
for (InfoListMessage message
: infolistList.getMessages()) {
renderMessageMetadata(message, table);
renderMessageContent(message, table);
}
return table;
}

// method where the problem occurs and exception is thrown in the for-loop line

public void renderMessageContent(
InfoListMessage message,
PdfPTable table) throws IOException {

PdfPCell cell = new PdfPCell();

for (Element e : XMLWorkerHelper.parseToElementList(message.getContent(), null)) {
cell.addElement(e);
}
table.addCell(cell);
}

带有 for 循环“for (Element e ...”的行会导致以下异常:

java.lang.ClassCastException:com.itextpdf.tool.xml.html.pdfelement.NoNewLineParagraph 无法转换为 com.itextpdf.text.Element

为什么?我无法通过谷歌搜索找到有关此异常的任何信息。

在这种情况下,html-snippet - 由 message.getContent() 返回 - 我试图使用,最初看起来像这样:

<html>
<head></head>
<body>
justrandomtexthere
</body>
</html>

最佳答案

问题已解决。

这是由于我的 itextpdf 和 xmlworker 版本略有不同造成的。

通过获得两个依赖项的完全相同的版本(在我的例子中为 5.5.5),解决了这个问题和许多其他问题。

经过 2 天的努力,我不得不强调这一点:为了避免 itext 和 xmlworker 出现大量问题,确保它们在您的项目中始终是完全相同的版本。

希望这对其他人有帮助。

关于java - NoNewLineParagraph 无法转换为 Element,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28871767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com