使用JSF PrimeFaces的文本编辑器,如何使用iText在PDF中添加文本

时间:2014-02-13 17:23:00

标签: java jsf jsf-2 primefaces itext

我们正在使用JSF PrimeFaces的文本编辑器。当我们从支持bean的文本编辑器接收String时,它还包含HTML标记。下面的图片可能有助于理解这个问题。

以下是我们写的:

enter image description here

以下是我们收到的信息:

enter image description here

接下来我们要做的是,使用iText将文本编辑器中编写的内容原样写入PDF。但我们不知道如何将此字符串(带有HTML标记)转换为仅数据。

以下是代码:

enter image description here

2 个答案:

答案 0 :(得分:4)

您可以在iText中找到XMLWorker。下面的代码将为您提供橙色的内容

document.open();
String finall=  "<style>h1{color:orange;} </style><body><h1>This is a Demo</h1></body>";
InputStream is = new ByteArrayInputStream(finall.getBytes());
XMLWorkerHelper.getInstance().parseXHtml(pdfWriter,document, is);
document.close(); 

无论我们提供的HTML内容是什么,都会将其创建为PDF。唯一要注意的是它适用于XHTML意味着所有开始标记都应该有一个结束标记。 例如,在HTML for break中,我们将使用<br>但这里应该是<br/>希望这会对您有所帮助。

答案 1 :(得分:1)

使用JSoup来实现这一目标。 Jsoup

然后在code

Jsoup.parse(textRecievedFromEditor).text();

这将返回没有HTML标签的文本。

e.g.

For example, given HTML {@code <p>Hello <b>there</b> now!</p>}, 
{@code p.text()} returns {@code "Hello there now!"}