Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring Boot-Itext-Error-PTagWorker类型的Worker无法处理DivTagWorker_Java_Spring Boot_Itext - Fatal编程技术网

Java Spring Boot-Itext-Error-PTagWorker类型的Worker无法处理DivTagWorker

Java Spring Boot-Itext-Error-PTagWorker类型的Worker无法处理DivTagWorker,java,spring-boot,itext,Java,Spring Boot,Itext,使用IText处理HTML以创建PDF文件时,我在记录器中遇到以下错误: ERROR 9260 --- [nio-8080-exec-2] c.i.h.attach.impl.DefaultHtmlProcessor : Worker of type com.itextpdf.html2pdf.attach.impl.tags.PTagWorker unable to process com.itextpdf.html2pdf.attach.impl.tags.DivTagWorker 该

使用IText处理HTML以创建PDF文件时,我在记录器中遇到以下错误:

ERROR 9260 --- [nio-8080-exec-2] c.i.h.attach.impl.DefaultHtmlProcessor   : Worker of type com.itextpdf.html2pdf.attach.impl.tags.PTagWorker unable to process com.itextpdf.html2pdf.attach.impl.tags.DivTagWorker
该错误不是典型的堆栈跟踪错误,只是记录器中的一个错误。它也不会停止执行,最终生成PDF。我的HTML和PDF文件都相当大,因此很难逐块检查,但快速查看似乎不会显示目标文件中的任何实际错误

是否有发生/显示此错误的具体原因?它最终会阻止生成PDF文件吗


(所有这些都是在Spring Boot应用程序的上下文中发生的。我不知道这是否相关)。

即使您的HTML文件很大,您也不必逐个检查,您可以使用二进制搜索方法—将您的文档分成两个或多或少相等的部分,然后尝试使用文件的前半部分,如果问题再次出现,将其进一步分解为两部分。如果问题没有在文件的前半部分重现,那么它应该在文件的后半部分重现,您将继续将文件分割为两个较小的部分,直到文件足够小,可以看到问题

由于
pdfHTML
插件是开源的,您可以调试问题的根源-只需转到
PTagWorker#processTagChild
的根源,并点击
返回false处的断点行(请参阅)-如果结果为if
false
,则记录相关错误。通过检查
DefaultHtmlProcessor#visit
中调用堆栈下一级的调用,即与HTML元素对应的
element
局部变量,您将能够更好地查看触发日志错误的元素的上下文

因此,可以通过使用上述方法中的一种来推断具体原因-这可能是pdfHTML中的错误/缺失特性,或者是一个块级元素被添加到段落级元素中,并且没有自动规范化


此日志错误本身不会阻止生成PDF文件,但它会导致生成的PDF中缺少某些内容,因此找到根本原因非常重要。

实际上,您发布的消息没有明确说明错误。可能是由于某种原因,调试输出变得太明显了……糟糕的是,一开始我没有复制整个内容。