Java 使用JSF PrimeFaces';文本编辑器,如何使用iText在PDF中添加文本
我们正在使用JSF PrimeFaces的文本编辑器。当我们从支持bean中的文本编辑器接收字符串时,它还包括HTML标记。下图可能有助于理解此问题 下面是我们写的: 以下是我们收到的信息: 我们要做的下一件事是,使用iText将在文本编辑器中编写的内容写入PDF。但是我们不知道如何将这个字符串(带有HTML标记)转换成数据 代码如下:Java 使用JSF PrimeFaces';文本编辑器,如何使用iText在PDF中添加文本,java,jsf,jsf-2,primefaces,itext,Java,Jsf,Jsf 2,Primefaces,Itext,我们正在使用JSF PrimeFaces的文本编辑器。当我们从支持bean中的文本编辑器接收字符串时,它还包括HTML标记。下图可能有助于理解此问题 下面是我们写的: 以下是我们收到的信息: 我们要做的下一件事是,使用iText将在文本编辑器中编写的内容写入PDF。但是我们不知道如何将这个字符串(带有HTML标记)转换成数据 代码如下: 使用JSoup来实现这一点 然后在您的code Jsoup.parse(textRecievedFromEditor).text(); 这将返回没有HTM
使用
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!"}
例如。
例如,给定HTML{@code现在大家好!},
{@code p.text()}返回{@code“你好!”
您可以在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();
document.open();
String finall=“h1{color:orange;}这是一个演示”;
InputStream is=newbytearrayinputstream(finall.getBytes());
XMLWorkerHelper.getInstance().parseXHtml(pdfWriter,document,is);
document.close();
无论我们提供什么HTML
内容,它都将创建为PDF
。唯一需要注意的是,它将适用于XHTML
,这意味着所有的开始标记都应该有一个结束标记。
例如,在HTML For break中,我们将使用
,但这里应该是
,希望这对您有所帮助。谢谢您的友好回复。你们看,我们确实想得到文本,但把它写成PDF格式,我的意思是,粗体的东西在写成PDF格式时应该是粗体的。斜体、字体、颜色等应该像在文本编辑器中一样进行书写。您使用的是什么版本的iText?版本是,iText-5.4.5回答得很好Sathesh S:)非常感谢,它很有效。。。。按照此链接下载XMLWorkerHelper的库(.jar文件)@Asadullah有一件事要记住,iText版本5不再是开源的。在不同的许可下,如果您在内部网络之外部署应用程序,则必须支付许可证费用或使用旧版本。