- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想在我的java代码中使用itext将html转换为pdf,但似乎strong标签和em标签不起作用。我尝试在网络中搜索解决方案并跟踪我的代码以找出原因,但失败了。下面是我的java代码,我的html文件和生成的pdf快照。
public static boolean html2pdf(String htmlContent, String path) {
try (FileOutputStream fos = new FileOutputStream(path);
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(htmlContent.getBytes())) {
Document document = new Document();
PdfWriter pdfWriter = PdfWriter.getInstance(document, fos);
document.open();
XMLWorkerHelper.getInstance().parseXHtml(pdfWriter, document, byteArrayInputStream,
Charset.forName("UTF-8"), new MyFontProvider());
document.close();
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
static class MyFontProvider extends XMLWorkerFontProvider {
@Override
public Font getFont(String fontname, String encoding, float size, int style) {
Font cnFont = null;
try {
BaseFont baseFont = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
cnFont = new Font(baseFont);
} catch (Exception e) {
e.printStackTrace();
}
if (cnFont == null) {
cnFont = super.getFont(fontname, encoding, size, style);
}
return cnFont;
}
}
和我的依赖项:
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.13</version>
</dependency>
<dependency>
<groupId>com.itextpdf.tool</groupId>
<artifactId>xmlworker</artifactId>
<version>5.5.13</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext-asian</artifactId>
<version>5.2.0</version>
</dependency>
<!DOCTYPE html>
<html>
<head>
<title>title</title>
</head>
<body>
<p >
<strong>overstrike</strong>
</p>
<p>
<em>incline</em>
</p>
</body>
</html>
我使用 itext7 解决了这个问题。
最佳答案
在 MyFontProvider
中,如果第一次尝试加载字体成功(大概是这样),您将忽略 style
参数。
关于java:将 HTML 转换为 PDF 无法处理 <strong> 和 <em> whth itext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50074044/
嵌套内联标签和 anchor 标签时,最佳做法是什么? link或 link 令人惊讶的是,我没有在这里找到答案,也没有用谷歌搜索。 最佳答案 没有一个是正确的。 如果这只是整个 的样式问题标记为粗
我有一个问题,表格内的 strong 标签没有加粗。我有以下 html 代码: 这里我有一个 fiddle :http://jsfiddle.net/JxQCr/
我试图从看起来像这样的HTML输出中获取数据: Target1NoSpaces .... Target2 With Spaces .... 我正在使用管道火车将数据缩减到我要达到的目标。到目前为止,这
请问您能找到解决这个简单问题的方法吗? text1: text2 我正在尝试抓取这个 html 部分,所以我需要分别获取 text1 和 text2。怎么做? 它应该是这样的: x = tree.xp
我正在开发一个 HTML5/javascript/php 项目,我有一个设置为可编辑的项目。 我知道用户可以按 ctrl + b使文本加粗,但我也希望允许用户能够单击网页上的相应按钮来执行相同的操作。
我刚得到一大块别人写的代码。起初我认为它是错别字,但后来在其他几个地方也注意到了它。 要点是另一个程序员(不确定他的“技能水平”)将一些属性声明为 @property (strong, strong)
我在一个网站上有几篇文章;所有这些帖子都是这种类型的聊天对话: AD:嘿! BC:怎么了? 广告:没什么 BC:好的 它们被标记为被 标记包围的简单段落。 使用 javascript 替换功能,我希
我有一个 PHP 文本字符串: MOST of you may have a habit of wearing socks while sleeping. Wear socks while sl
强签名 和强命名 .NET 程序集之间有区别吗? 如果是,我如何确定一个程序集是否使用 Visual Studio 进行了强签名(我知道如何检查它是否被强命名)? 谢谢你的帮助 编辑 背景:WiX:
我使用 xpath 删除 $nodeList = $xpath->query("//p[text()=\"\xC2\xA0\"]"); # foreach(
如何替换用 标记标记到特定的 div? 例如: hellowow! 使用javascript替换为 hellowow! 请帮忙!提前致谢。 ***** 为什么我要尝试更改输出 HTML 代码 至
我在葡萄 api 应用程序中使用 active-record 4.0,但由于强参数仅适用于 rails Controller ,我如何允许葡萄 api 类中的参数 最佳答案 似乎有办法在 Contro
在 JavaScript 中,我使用此正则表达式从文本字符串中删除所有 HTML 标记: t.replace(/]+>/g, ''); 现在我需要同样的东西,但它应该保留以下标签(它们不应该被替换):
好吧,强弱舞的道理我明白了。 一个例子是,假设 B 强引用一个 block ,我们在 B 中设置该 block 以强引用自身 (B)。我们现在有 B 强引用我们的 block ,也许我们的 block
YUI 中的这一行 Reset CSS给我带来了麻烦: address,caption,cite,code,dfn,em,strong,th,var { font-style: normal;
我遇到了“强最终一致性”的概念。 它应该比“最终一致性”强但比“强一致性”弱吗?有人可以用适用的例子解释这三个概念之间的区别吗? http://en.wikipedia.org/wiki/Eventu
这个问题在这里已经有了答案: selenium.common.exceptions.InvalidSelectorException with "span:contains('string')" (
所以我有以下要解析的示例 html。 Title: Sub Editor at NEWS ABC Name: John Where: Everywhe
在我的应用程序中,我有不同的页面:联系我们、关于我们、主页 它们都具有需要填充 View 的相同基本元素: 页面标题 元描述 用户信息 但是在每个页面上,它们都有一些不同的元素: 联系我们 联系信息模
我有这样一个字符串: Foo 我想用PHP来制作 Foo …不影响其他span。 我该怎么做? 最佳答案 $text='Foo'; $text=preg_replace( '/(.*?)/', '$1
我是一名优秀的程序员,十分优秀!