问题标签 [xmlworker]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1620 浏览

java - IText HTML 到 PDF 内存泄漏

再会,

我正在使用 itext 将 HTML 转换为 PDF。但是当它调用XMLWorkerHelper.getInstance().parseXHtml(writer, document, is);它变得缓慢并且当我检查 JVisualVM 时,似乎存在内存泄漏。

这是我的代码:

它在Tomcat服务器上运行。

这是html代码:

提前致谢。

0 投票
2 回答
554 浏览

java - 转换为 PDF 时的 iText XMLWorker 表异常

好的,基本上我一直在尝试使用 iText 在 Java 中的 XMLWorker 将 HTML 文件转换为 PDF。因为直接从 HTML 转换存在问题,所以我一直使用 JTidy 首先将文件转换为 XHTML(就像一个魅力一样),但是当我尝试将它转换为 PDF 时,它会严重破坏我的布局。
同样,HTML 和 XHTML 文件(在浏览器中查看时是相同的)看起来完全符合我的要求,但 PDF 文件被搞砸了。这是 HTML 代码,显然我用“Bla”替换了表格中包含的所有信息:

现在在转换后的 PDF 中查看时,第一个表格向右延伸穿过屏幕边缘,这显然不是故意的。任何想法为什么会发生这种情况?

0 投票
0 回答
689 浏览

itext - 使用 XMLWorkerHelper 时显示错误

我正在尝试将 HTML 数据转换为 PDF。为此,我使用了 xmlworker-5.5.6.jar。但是在执行代码时,它会显示缺少资源的错误。

任何人都可以帮忙。提前致谢。

这是我的代码

这是我的错误:

08-24 12:28:42.079 14077-15044/com.abc.abc E/AndroidRuntime: 致命异常: AsyncTask #5 进程: com.abc.abc, PID: 14077 java.lang.RuntimeException: 执行 doInBackground 时出错() 在 android.os.AsyncTask$3.done(AsyncTask.java:309) 在 java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354) 在 java.util.concurrent.FutureTask.setException(FutureTask.java: 223) 在 java.util.concurrent。FutureTask.run(FutureTask.java:242) 在 android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 在 java.util。 concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) at java.lang.Thread.run(Thread.java:818) 原因:com.itextpdf.tool.xml.net.FileRetrieveImpl 处的 java.lang.ExceptionInInitializerError。processFromHref(FileRetrieveImpl.java:170) 在 com.itextpdf.tool.xml.css.StyleAttrCSSResolver.addCssFile(StyleAttrCSSResolver.java:404) 在 com.itextpdf.tool.xml.html.head.Link.start(Link.java: 80) com.itextpdf.tool.xml.html.AbstractTagProcessor.startElement(AbstractTagProcessor.java:131) com.itextpdf.tool.xml.pipeline.html.HtmlPipeline.open(HtmlPipeline.java:105) com.itextpdf .tool.xml.XMLWorker.startElement(XMLWorker.java:103) 在 com.itextpdf.tool.xml.parser.XMLParser.startElement(XMLParser.java:372) 在 com.itextpdf.tool.xml.parser.state.SelfClosingTagState.process(SelfClosingTagState.java:71) 在 com.itextpdf .tool.xml.parser.XMLParser.parseWithReader(XMLParser.java:237) 在 com.itextpdf.tool.xml.parser.XMLParser.parse(XMLParser.java:215) 在 com.itextpdf.tool.xml.XMLWorkerHelper.parseXHtml (XMLWorkerHelper.java:174) 在 com.abc.abc。SearchDetailsActivity$DownloadFileAsync.doInBackground(SearchDetailsActivity.java:2316) at com.abc.abc.SearchDetailsActivity$DownloadFileAsync.doInBackground(SearchDetailsActivity.java:2177) at android.os.AsyncTask$2.call(AsyncTask.java:295) at java。 util.concurrent.FutureTask.run(FutureTask.java:237) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 在 java.lang.Thread.run(Thread.java:818) 引起:java.util.MissingResourceException:找不到资源对于 java.util.ResourceBundle.getBundle(ResourceBundle.java:230) 的 java.util.ResourceBundle.missingResourceException(ResourceBundle.java:238) 的包'errors/errors_en_GB',键''。ResourceBundle.getBundle(ResourceBundle.java:159) 在 com.itextpdf.tool.xml.exceptions.LocaleMessages.(LocaleMessages.java:99) 在 com.itextpdf.tool.xml.exceptions.LocaleMessages.(LocaleMessages.java:84)在 com.itextpdf.tool.xml.net.FileRetrieveImpl.processFromHref(FileRetrieveImpl.java:170) 在 com.itextpdf.tool.xml.css.StyleAttrCSSResolver.addCssFile(StyleAttrCSSResolver.java:404) 在 com.itextpdf.tool.xml .html.head.Link.start(Link.java:80) com.itextpdf.tool.xml.html.AbstractTagProcessor.startElement(AbstractTagProcessor.java:131) com.itextpdf.tool.xml.pipeline.html.HtmlPipeline.open(HtmlPipeline.java:105) com.itextpdf .tool.xml.XMLWorker.startElement(XMLWorker.java:103) 在 com.itextpdf.tool.xml.parser.XMLParser.startElement(XMLParser.java:372) 在 com.itextpdf.tool.xml.parser.state.SelfClosingTagState .process(SelfClosingTagState.java:71)在 com.itextpdf.tool.xml.parser.XMLParser.parseWithReader(XMLParser.java:237) 在 com.itextpdf.tool.xml.parser.XMLParser.parse(XMLParser.java:215) 在 com.itextpdf.tool .xml.XMLWorkerHelper.parseXHtml(XMLWorkerHelper.java:174) 在 com.abc.abc.SearchDetailsActivity$DownloadFileAsync.doInBackground(SearchDetailsActivity.java:2316) 在 com.abc.abc.SearchDetailsActivity$DownloadFileAsync.doInBackground(SearchDetailsActivity.java:2177) 在 android.os.AsyncTask$2.call(AsyncTask.java:295) 在 java.util.concurrent.FutureTask.run(FutureTask.java:237) 在 android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java :234) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 在 java.lang.Thread.run(Thread.爪哇:818)818)818)295) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.runWorker(ThreadPoolExecutor.runWorker) 在 android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234) java:1113) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 在 java.lang.Thread.run(Thread.java:818)295) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.runWorker(ThreadPoolExecutor.runWorker) 在 android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234) java:1113) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 在 java.lang.Thread.run(Thread.java:818)237) 在 android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:588) 在 java.lang.Thread.run(Thread.java:818)237) 在 android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:588) 在 java.lang.Thread.run(Thread.java:818)1113) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 在 java.lang.Thread.run(Thread.java:818)1113) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 在 java.lang.Thread.run(Thread.java:818)

0 投票
1 回答
390 浏览

android - Android中的ItextPdf验证错误

我在我的项目中添加了 itextpdf 库和工作库,用于将字符串html文件内容转换为pdf文件,但是出现以下错误

java.lang.VerifyError:拒绝类 com.itextpdf.text.pdf.PdfName,因为它未能通过编译时验证(“com.itextpdf.text.pdf.PdfName”的声明

我也尝试添加库和编译依赖方式但得到相同的错误案例1:

案例2:

如何解决android studio中的java.lang.verifyerror(运行时错误)?

编辑:

我也试过:

0 投票
0 回答
335 浏览

html - iText XMLworker html到pdf转换嵌套列表丢失顺序

我正在使用 iText 5.5.9 XMLWorker 将 html 转换为 pdf。

我收到的嵌套列表的输出是:

在此处输入图像描述

转换代码为:

使用 iText 7 不是我的选择,因为它不向后兼容。有没有人有 iText 5.5.9 的解决方案。提前致谢。

0 投票
0 回答
246 浏览

html - xmlworker解析后不显示'div'标签内的图像

在使用 xmlworker 将 HTML 转换为 PDF 的过程中,我遇到了两个问题:

问题 1:标题标签的样式不符合预期,例如,h1 标签内容文本字体大小和粗细不受封闭标签的影响。同样的事情也适用于其他标题标签(h1-h6),尽管它们被 PDF 识别和添加书签。

问题 2:如果图像包含在 div 标签内,则不显示图像我正在尝试设置解析图像的对齐属性。但是,当我在 ImageProvider 中手动执行此操作时,对齐不会反映在 PDF 文档中。当我创建自己的 TagProcessor 时,图像在 div 内时不显示。当我将父标签从 div 更改为 p(段落)时,图像显示完美,并且对齐工作正常,包括 textwrap。这是我的代码。

}

page02.html

有没有我错过的配置?如果图像在段落标签内但不在 div 标签内,为什么图像会正确显示?我必须在哪里修改代码才能使其正常工作?注意:如果我使用默认的 tagProcessor,图像显示正确,但没有对齐或文本换行。

0 投票
1 回答
1243 浏览

pdf - 如何使用 iText/XFA Worker 将 XFA xml 数据移动到符合 PDF/A-2 的文件中

在 Adob​​e 的 PDF/A 的 ISO 32000 规范中,它声明 XFA 数据可以存储在 PDF/A-2 确认 PDF 中的特殊位置。这是该部分的文本。

将 XFA 数据集合并到符合 PDF/A-2 的文件中 为了支持符合 PDF/A-2 的文件,ExtensionLevel 3 通过 XFAResources 名称树添加了对 XML 表单数据(XFA 数据集)的支持,它是文档目录。

(请参阅第 23 页上的“名称字典中的表 3.28 条目”。)虽然在符合 PDF/A-2 的文件中允许使用 Acrobat 表单(和表单数据),但不允许使用 XML 表单。此类 XML 表单被指定为从交互式表单字典引用的 XDP 流。XDP 流可以包含 XFA 数据集。

对于将 PDF 文档转换为 PDF/A-2 的应用程序,XFAResources 名称树支持将 XML 表单数据从 PDF 文档中的 XDP 流重新定位到XFAResources名称树中。

XFAResources名称树由字符串名称和对流的间接引用组成字符串名称是在文档转换为符合 PDF/A-2 的文件时创建的。流包含 XFA 的元素,由元素组成。

除了 XML 表单字段的数据值之外,这些元素还支持存储和检索可能对其他工作流有用的其他类型的信息,包括未绑定到表单字段的数据以及一个或多个 XML 签名。

请参阅参考书目中的 XML 架构、XML 表单架构 (XFA) 规范 2.6 版

我们有一个将 xml 传递给的 XFA 表单,现在需要将该文档转换为 PDF/A-2。

我们目前正在测试 XFA Worker,看看它是否允许我们这样做,我一直无法找到可以为我们执行此操作的 XFA Worker 样本。

我首先尝试使用 XFA Worker 进行扁平化,但这会完全删除数据并且不再能够被提取。

您如何将 XFA xml 数据放入 Adob​​e 说要使用 XFA Worker 放入的位置?

更新:感谢布鲁诺,我的代码不允许我将 XFA 表单转换为 PDF/A-2。这是我使用的代码。

我收到错误 com.itextpdf.text.pdf.PdfAConformanceException: Only PDF/A 文档可以在 PdfAStamper 中打开。

所以我现在假设新的 PdfAStamper 不是转换器,而只是读取 XFA PDF 的字节数组。

0 投票
1 回答
484 浏览

java - XMLWorkerHelper 异常 java.lang.IndexOutOfBoundsException:索引:11,大小:11

我正在尝试执行以下代码。但得到这个例外:

java.lang.IndexOutOfBoundsException:索引:11,大小:11

有谁知道是什么导致了这个异常以及如何解决它?

0 投票
2 回答
2613 浏览

android - 使用 iText 库将 html 转换为 pdf 时未应用 hr 的内联 CSS

我正在使用适用于 android 的 Itext 库将 html 转换为 pdf,这工作正常,但在某些情况下它无法正确解析。我想创建一个红色的虚线分隔符,但它总是给我一个深灰色的实线分隔符。

我的html标签是

我的转换代码

0 投票
0 回答
693 浏览

html - 在 iText 5 中格式化 HTML 有序列表编号

我正在使用 Java 使用 iText5(com.itextpdf.tool xmlworker ver 5.5.10)将 HTML 输入转换为 PDF。我有一个需要以特定字体显示的有序列表。我的问题是我无法更改列表编号的字体或大小以匹配列表项的内容。对于以下 HTML,生成的 PDF 中的数字 7. 8. 9. 和 10. 不正确。如何更改数字的字体?

HTML 输入:

Java源码:

这是不工作的 PDF 部分的图片:PDF 输出

在此处输入图像描述