- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
public PdfPCell richTextRendering(PdfPCell pdfpCell, String HTML) throws DocumentException, IOException {
final String CSS = "";
HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);
htmlContext.setTagFactory(Tags.getHtmlTagProcessorFactory());
CSSResolver cssResolver = new StyleAttrCSSResolver();
CssFile cssFile = XMLWorkerHelper.getCSS(new ByteArrayInputStream(CSS.getBytes()));
cssResolver.addCss(cssFile);
ElementList elements=new ElementList();
ElementHandlerPipeline pdf = new ElementHandlerPipeline(elements, null);
HtmlPipeline html = new HtmlPipeline(htmlContext, pdf);
CssResolverPipeline css = new CssResolverPipeline(cssResolver, html);
XMLWorker worker = new XMLWorker(css, false);
XMLParser p = new XMLParser(worker);
p.parse(new ByteArrayInputStream(HTML.getBytes()));
for (Element element : elements) {
pdfpCell.addElement(element);
}
return pdfpCell;
}
<小时/>
proposalDescriptionTableCell.setBorder(Rectangle.NO_BORDER);
String proposalDescriptionEnglish=proposalInformation.getProposalDescriptionEnglish().trim();
proposalDescriptionEnglish=proposalDescriptionEnglish.replaceAll("div", "p"); //XMLWorkerHelper not taking rendering <div> content its recommended to replace all the <div> with <p>
proposalDescriptionEnglish=proposalDescriptionEnglish.replaceAll("<br>", "<br/>");
proposalDescriptionEnglish="<p>"+proposalDescriptionEnglish+"</p>"; //some tags are not supported the plug-in keep the code inside the <p> for safe execution
proposalDescriptionTableCell=new CustomerViewPdfDelegationServiceImpl().richTextRendering(proposalDescriptionTableCell,proposalDescriptionEnglish); //getting the pdfPCell with HtmlRendered-Text
对于我的代码,除了标题标签之外,所有其他标签都可以正常工作
最佳答案
我得到了答案,请参阅下面的代码
public PdfPCell richTextRendering(PdfPCell pdfpCell, String HTML) throws DocumentException, IOException {
final String CSS = "h1 {display: block;font-size: 2em;-webkit-margin-before: 0.67em;-webkit-margin-after: 0.67em;-webkit-margin-start: 0px;-webkit-margin-end: 0px;font-weight: bold;},"
+ "h2 { display: block;font-size: 1.5em;-webkit-margin-before: 0.83em;-webkit-margin-after: 0.83em;-webkit-margin-start: 0px;-webkit-margin-end: 0px;font-weight: bold;},"
+ "h3 { display: block;font-size: 1.17em;-webkit-margin-before: 1em;-webkit-margin-after: 1em;-webkit-margin-start: 0px;-webkit-margin-end: 0px;font-weight: bold;},"
+ "h4 { display: block;-webkit-margin-before: 1.33em;-webkit-margin-after: 1.33em;-webkit-margin-start: 0px;-webkit-margin-end: 0px;font-weight: bold;},"
+ "h5 { display: block;font-size: 0.83em;-webkit-margin-before: 1.67em;-webkit-margin-after: 1.67em;-webkit-margin-start: 0px;-webkit-margin-end: 0px;font-weight: bold;},"
+ "h6 { display: block;font-size: 0.67em;-webkit-margin-before: 2.33em;-webkit-margin-after: 2.33em;-webkit-margin-start: 0px;-webkit-margin-end: 0px;font-weight: bold;}";
HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);
htmlContext.setTagFactory(Tags.getHtmlTagProcessorFactory());
CSSResolver cssResolver = new StyleAttrCSSResolver();
CssFile cssFile = XMLWorkerHelper.getCSS(new ByteArrayInputStream(CSS.getBytes()));
cssResolver.addCss(cssFile);
ElementList elements=new ElementList();
ElementHandlerPipeline pdf = new ElementHandlerPipeline(elements, null);
HtmlPipeline html = new HtmlPipeline(htmlContext, pdf);
CssResolverPipeline css = new CssResolverPipeline(cssResolver, html);
XMLWorker worker = new XMLWorker(css, false);
XMLParser p = new XMLParser(worker);
p.parse(new ByteArrayInputStream(HTML.getBytes()));
for (Element element : elements) {
pdfpCell.addElement(element);
}
return pdfpCell;
}
关于java - 我无法使用 itext (xmlWorker) 读取 h1 标签 pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49893555/
我有 2 个(或更多)嵌套表:第一个用于布局目的,其他是带有数据的普通表。 我使用第一个表是因为我需要在每个页面中重复页眉和页脚,所以我使用 repeat-header:yes; repeat-foo
如果你检查这段代码: Blah Blah Bla
我正在尝试从 HTML 生成 PDF,生成 PDF 后,在第二步中,在左上角的每个页面上添加水印图像,并在右上角添加某种引用。 但这仅在第 2...n-1 页是必需的。我找到了一个解决方案,即在第一段
我正在使用 iText 和 XMLWorker 生成 PDF。问题是我们需要为页码为 PDF 的目录生成目录。我在列表中有 mt 部分标题。使用此列表,我可以生成没有页码的目录。但我们的要求是我们也需
我一直在使用 iTextSharp 将 MVC View 转换为 pdf。该 View 使用内联样式。以下代码一切正常但解析速度很慢- using (var ms = new Memo
我正在使用以下代码在我的 WPF 应用程序中使用 iTextSharp XMLWorker 解析 HTML 字符串: var css = ""; using (var htmlMS = new Mem
我想使用 HTML 和动态图像创建动态 PDF 文档。我的代码适用于标准 HTML 和图像的完整路径,但是当我尝试将图像内联嵌入到文档中时,出现错误 Exception Details: System
XmlWorker 无法识别表格单元格上的边框底部。 这是我的代码: Your name
当我运行此代码时,文档顶部有一个边距。 我不知道如何摆脱它。我正在运行最新版本的 iText 和 XMLWorker。 Document document = new Document(PageSiz
在 IText XMLWorker 中处理嵌入的图像。 有没有办法在 XMLWorker 中处理嵌入式 (Base64) 图像?在版本 5.3.5我使用的 ImageProvider 不再工作(之前引
我使用xmlWorker最新版本(5.4.3)将XHTML文件转换为PDF。当 TABLE TAG 位于 DIV TAG 内部且表格超出页面时,表格将被截断... 这在我看来很奇怪。或者不是? 有什么
我正在将 ElementList 中的元素添加到 PdfPCell。这些元素可以是从简单的文本短语到要点列表的任何内容。但是,将这些元素打印到 pdf 的字体太大。所以,我的问题是:如何调整解析为 p
如何使用 XMLWorker 将我的 PDF 正文字体大小设置为“6.6pt”? 我已经实现了使用 HTMLWorker 如下所示, var style = new StyleSheet(); sty
我正在尝试在 Java 中使用 iText 7。想要将 HTML/XHTML 转换为 PDF。 显然 xmlworker.jar 在 iText 7 core 中不存在。 iText 7 的替代品是什
我正在使用 Itext 和 xmlworker 创建 PDF。我的问题是我想在新页面中创建内容。下面是我的代码。 File file = new File("D:/PDFFiles/Sathesh.p
有人可以提供一个在 iTextSharp (C#) 中使用 XMLWorkerHelper 将 HTML 解析为元素列表的示例。 文档中给出的 JAVA 版本是: XMLWorkerHelper.ge
我正在使用 itext-pdf 5.4 创建 PDF 文档。在这个过程中,我打算创建一些 HTML,然后使用 xmlworker 附加组件进行解析。但是,不管事实如何,我都在指定 .. 或 我看不到
世界我使用 XMLWorker (5.5.6) 将包含阿拉伯字符的 XHTML 页面转换为 PDF。一切正常,但“分页前”不起作用!这是我的 html 页面: Décla
我创建了一个简单的 JavaFX (2.2) FXML 项目。我正在尝试将 html 字符串转换为不同的元素,并将它们添加到 iText 生成的 PDF 文档中的段落中。由于 HTMLWorker 已
我们使用 iText 从 Java 代码生成 PDF 文件,这在大多数情况下都运行良好。几天前,我们开始生成 PDF/A,而不是需要嵌入所有字体的普通 PDF 文件。 iText Document主要
我是一名优秀的程序员,十分优秀!