com.itextpdf.tool.xml.exceptions.

如题,在做html转换成pdf时出现这个异常,求大神帮助。我没有金币了,如果有就悬赏了!
Exception in thread "main" com.itextpdf.tool.xml.exceptions.RuntimeWorkerException: Invalid nested tag head found, expected closing tag meta.
at com.itextpdf.tool.xml.XMLWorker.endElement(XMLWorker.java:135)
at com.itextpdf.tool.xml.parser.XMLParser.endElement(XMLParser.java:397)
at com.itextpdf.tool.xml.parser.state.ClosingTagState.process(ClosingTagState.java:71)
at com.itextpdf.tool.xml.parser.XMLParser.parseWithReader(XMLParser.java:237)
at com.itextpdf.tool.xml.parser.XMLParser.parse(XMLParser.java:215)
at com.itextpdf.tool.xml.parser.XMLParser.parse(XMLParser.java:204)
at com.itextpdf.tool.xml.XMLWorkerHelper.parseXHtml(XMLWorkerHelper.java:237)
at com.itextpdf.tool.xml.XMLWorkerHelper.parseXHtml(XMLWorkerHelper.java:211)
at com.itextpdf.tool.xml.XMLWorkerHelper.parseXHtml(XMLWorkerHelper.java:251)
at com.itextpdf.tool.xml.XMLWorkerHelper.parseXHtml(XMLWorkerHelper.java:199)
at com.hejinonline.pdf.HtmlToPdfTest.createPdf(HtmlToPdfTest.java:71)
at com.hejinonline.pdf.HtmlToPdfTest.main(HtmlToPdfTest.java:83)

0

5个回答

这是代码: public static final String HTML = "E:/1.html";
public static final String DEST = "E:/1.pdf";

    /**
     * Creates a PDF with the words "Hello World"
     * @param file
     * @throws IOException
     * @throws DocumentException
     */
    public void createPdf(String file) throws IOException, DocumentException {
        // step 1
        Document document = new Document();
        // step 2
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(file));
        // step 3
        document.open();
        // step 4
        XMLWorkerHelper.getInstance().parseXHtml(writer, document,
                new FileInputStream(HTML), Charset.forName("UTF-8"));
        // step 5
        document.close();
    }

    /**
     * Main method
     */
    public static void main(String[] args) throws IOException, DocumentException {
        File file = new File(DEST);
        file.getParentFile().mkdirs();
        new HtmlToPdfTest().createPdf(DEST);
    }




        HTML
        <html>



.b1{white-space-collapsing:preserve;}<br> .b2{margin: 0.9847222in 1.0236111in 0.9847222in 1.0236111in;}<br> .s1{font-weight:bold;}<br> .p1{text-align:center;hyphenate:auto;font-family:Times New Roman;font-size:16pt;}<br> .p2{text-align:center;hyphenate:auto;font-family:仿宋_GB2312;font-size:15pt;}<br> .p3{text-align:center;hyphenate:auto;font-family:楷体_GB2312;font-size:12pt;}<br> .p4{text-align:justify;hyphenate:auto;font-family:楷体_GB2312;font-size:10pt;}<br> .p5{text-align:start;hyphenate:auto;font-family:Times New Roman;font-size:10pt;}<br> .p6{text-indent:0.29166666in;text-align:justify;hyphenate:auto;font-family:Times New Roman;font-size:10pt;}<br> .td1{width:1.1583333in;padding-start:0.075in;padding-end:0.075in;border-bottom:thin solid black;border-left:thin solid black;border-right:thin solid black;border-top:thin solid black;}<br> .td2{width:0.8055556in;padding-start:0.075in;padding-end:0.075in;border-bottom:thin solid black;border-left:thin solid black;border-right:thin solid black;border-top:thin solid black;}<br> .td3{width:1.1631944in;padding-start:0.075in;padding-end:0.075in;border-bottom:thin solid black;border-left:thin solid black;border-right:thin solid black;border-top:thin solid black;}<br> .td4{width:2.7909722in;padding-start:0.075in;padding-end:0.075in;border-bottom:thin solid black;border-left:thin solid black;border-right:thin solid black;border-top:thin solid black;}<br> .td5{width:1.96875in;padding-start:0.075in;padding-end:0.075in;border-bottom:thin solid black;border-left:thin solid black;border-right:thin solid black;border-top:thin solid black;}<br> .td6{width:0.8263889in;padding-start:0.075in;padding-end:0.075in;border-bottom:thin solid black;border-left:thin solid black;border-right:thin solid black;border-top:thin solid black;}<br> .td7{width:1.9645833in;padding-start:0.075in;padding-end:0.075in;border-bottom:thin solid black;border-left:thin solid black;border-right:thin solid black;border-top:thin solid black;}<br> .td8{width:4.759722in;padding-start:0.075in;padding-end:0.075in;border-bottom:thin solid black;border-left:thin solid black;border-right:thin solid black;border-top:thin solid black;}<br> .r1{height:0.39375in;keep-together:always;}<br> .r2{height:1.9708333in;keep-together:always;}<br> .r3{height:0.67777777in;keep-together:always;}<br> .r4{height:1.2145833in;keep-together:always;}<br> .r5{height:1.2361112in;keep-together:always;}<br> .r6{height:1.2743056in;keep-together:always;}<br> .t1{table-layout:fixed;border-collapse:collapse;border-spacing:0;}<br>
计算机科学系毕业生论文(设计)管理规定



计算机科学与技术学院


实习答辩请假条






































学生姓名

专业班级

学号

联系电话

请假原因

请假时间段

(不超过7天)

年 月 日至 年 月 日

指导教

师意见

签名:

年 月 日

辅导员

意见

签名:

年 月 日

系主任意见

签名:

年 月 日


注:1、请假时需持研究生复试通知单或就聘单位面试通知。


2、该假条一式两份,一份交至专业负责人处,一份交至辅导员处。





0

这是代码: public static final String HTML = "E:/1.html";
public static final String DEST = "E:/1.pdf";

    /**
     * Creates a PDF with the words "Hello World"
     * @param file
     * @throws IOException
     * @throws DocumentException
     */
    public void createPdf(String file) throws IOException, DocumentException {
        // step 1
        Document document = new Document();
        // step 2
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(file));
        // step 3
        document.open();
        // step 4
        XMLWorkerHelper.getInstance().parseXHtml(writer, document,
                new FileInputStream(HTML), Charset.forName("UTF-8"));
        // step 5
        document.close();
    }

    /**
     * Main method
     */
    public static void main(String[] args) throws IOException, DocumentException {
        File file = new File(DEST);
        file.getParentFile().mkdirs();
        new HtmlToPdfTest().createPdf(DEST);
    }




        HTML
        <html>



.b1{white-space-collapsing:preserve;}<br> .b2{margin: 0.9847222in 1.0236111in 0.9847222in 1.0236111in;}<br> .s1{font-weight:bold;}<br> .p1{text-align:center;hyphenate:auto;font-family:Times New Roman;font-size:16pt;}<br> .p2{text-align:center;hyphenate:auto;font-family:仿宋_GB2312;font-size:15pt;}<br> .p3{text-align:center;hyphenate:auto;font-family:楷体_GB2312;font-size:12pt;}<br> .p4{text-align:justify;hyphenate:auto;font-family:楷体_GB2312;font-size:10pt;}<br> .p5{text-align:start;hyphenate:auto;font-family:Times New Roman;font-size:10pt;}<br> .p6{text-indent:0.29166666in;text-align:justify;hyphenate:auto;font-family:Times New Roman;font-size:10pt;}<br> .td1{width:1.1583333in;padding-start:0.075in;padding-end:0.075in;border-bottom:thin solid black;border-left:thin solid black;border-right:thin solid black;border-top:thin solid black;}<br> .td2{width:0.8055556in;padding-start:0.075in;padding-end:0.075in;border-bottom:thin solid black;border-left:thin solid black;border-right:thin solid black;border-top:thin solid black;}<br> .td3{width:1.1631944in;padding-start:0.075in;padding-end:0.075in;border-bottom:thin solid black;border-left:thin solid black;border-right:thin solid black;border-top:thin solid black;}<br> .td4{width:2.7909722in;padding-start:0.075in;padding-end:0.075in;border-bottom:thin solid black;border-left:thin solid black;border-right:thin solid black;border-top:thin solid black;}<br> .td5{width:1.96875in;padding-start:0.075in;padding-end:0.075in;border-bottom:thin solid black;border-left:thin solid black;border-right:thin solid black;border-top:thin solid black;}<br> .td6{width:0.8263889in;padding-start:0.075in;padding-end:0.075in;border-bottom:thin solid black;border-left:thin solid black;border-right:thin solid black;border-top:thin solid black;}<br> .td7{width:1.9645833in;padding-start:0.075in;padding-end:0.075in;border-bottom:thin solid black;border-left:thin solid black;border-right:thin solid black;border-top:thin solid black;}<br> .td8{width:4.759722in;padding-start:0.075in;padding-end:0.075in;border-bottom:thin solid black;border-left:thin solid black;border-right:thin solid black;border-top:thin solid black;}<br> .r1{height:0.39375in;keep-together:always;}<br> .r2{height:1.9708333in;keep-together:always;}<br> .r3{height:0.67777777in;keep-together:always;}<br> .r4{height:1.2145833in;keep-together:always;}<br> .r5{height:1.2361112in;keep-together:always;}<br> .r6{height:1.2743056in;keep-together:always;}<br> .t1{table-layout:fixed;border-collapse:collapse;border-spacing:0;}<br>
计算机科学系毕业生论文(设计)管理规定



计算机科学与技术学院


实习答辩请假条






































学生姓名

专业班级

学号

联系电话

请假原因

请假时间段

(不超过7天)

年 月 日至 年 月 日

指导教

师意见

签名:

年 月 日

辅导员

意见

签名:

年 月 日

系主任意见

签名:

年 月 日


注:1、请假时需持研究生复试通知单或就聘单位面试通知。


2、该假条一式两份,一份交至专业负责人处,一份交至辅导员处。





0
 <html>
 <head> 
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
  <style type="text/css">.b1{white-space-collapsing:preserve;}
.b2{margin: 0.9847222in 1.0236111in 0.9847222in 1.0236111in;}
.s1{font-weight:bold;}
.p1{text-align:center;hyphenate:auto;font-family:Times New Roman;font-size:16pt;}
.p2{text-align:center;hyphenate:auto;font-family:仿宋_GB2312;font-size:15pt;}
.p3{text-align:center;hyphenate:auto;font-family:楷体_GB2312;font-size:12pt;}
.p4{text-align:justify;hyphenate:auto;font-family:楷体_GB2312;font-size:10pt;}
.p5{text-align:start;hyphenate:auto;font-family:Times New Roman;font-size:10pt;}
.p6{text-indent:0.29166666in;text-align:justify;hyphenate:auto;font-family:Times New Roman;font-size:10pt;}
.td1{width:1.1583333in;padding-start:0.075in;padding-end:0.075in;border-bottom:thin solid black;border-left:thin solid black;border-right:thin solid black;border-top:thin solid black;}
.td2{width:0.8055556in;padding-start:0.075in;padding-end:0.075in;border-bottom:thin solid black;border-left:thin solid black;border-right:thin solid black;border-top:thin solid black;}
.td3{width:1.1631944in;padding-start:0.075in;padding-end:0.075in;border-bottom:thin solid black;border-left:thin solid black;border-right:thin solid black;border-top:thin solid black;}
.td4{width:2.7909722in;padding-start:0.075in;padding-end:0.075in;border-bottom:thin solid black;border-left:thin solid black;border-right:thin solid black;border-top:thin solid black;}
.td5{width:1.96875in;padding-start:0.075in;padding-end:0.075in;border-bottom:thin solid black;border-left:thin solid black;border-right:thin solid black;border-top:thin solid black;}
.td6{width:0.8263889in;padding-start:0.075in;padding-end:0.075in;border-bottom:thin solid black;border-left:thin solid black;border-right:thin solid black;border-top:thin solid black;}
.td7{width:1.9645833in;padding-start:0.075in;padding-end:0.075in;border-bottom:thin solid black;border-left:thin solid black;border-right:thin solid black;border-top:thin solid black;}
.td8{width:4.759722in;padding-start:0.075in;padding-end:0.075in;border-bottom:thin solid black;border-left:thin solid black;border-right:thin solid black;border-top:thin solid black;}
.r1{height:0.39375in;keep-together:always;}
.r2{height:1.9708333in;keep-together:always;}
.r3{height:0.67777777in;keep-together:always;}
.r4{height:1.2145833in;keep-together:always;}
.r5{height:1.2361112in;keep-together:always;}
.r6{height:1.2743056in;keep-together:always;}
.t1{table-layout:fixed;border-collapse:collapse;border-spacing:0;}
</style> 
  <title>计算机科学系毕业生论文(设计)管理规定</title> 
  <meta content="xie" name="author"> 
 </head> 
 <body class="b1 b2"> 
  <p class="p1"> <span class="s1">计算机科学与技术学院</span> </p> 
  <p class="p1"> <span class="s1">实习答辩请假条</span> </p> 
  <p class="p2"></p> 
  <table class="t1"> 
   <tbody> 
    <tr class="r1"> 
     <td class="td1"> <p class="p3"> <span>学生姓名</span> </p> </td>
     <td class="td2"> <p class="p3"></p> </td>
     <td class="td3"> <p class="p3"> <span>专业班级</span> </p> </td>
     <td class="td4" colspan="2"> <p class="p3"></p> </td> 
    </tr> 
    <tr class="r1"> 
     <td class="td1"> <p class="p3"> <span>学号</span> </p> </td>
     <td class="td5" colspan="2"> <p class="p3"></p> </td>
     <td class="td6"> <p class="p3"> <span>联系电话</span> </p> </td>
     <td class="td7"> <p class="p3"></p> </td> 
    </tr> 
    <tr class="r2"> 
     <td class="td1"> <p class="p3"> <span>请假原因</span> </p> </td>
     <td class="td8" colspan="4"> <p class="p3"></p> </td> 
    </tr> 
    <tr class="r3"> 
     <td class="td1"> <p class="p3"> <span>请假时间段</span> </p> <p class="p4"> <span>(不超过7天)</span> </p> </td>
     <td class="td8" colspan="4"> <p class="p3"> <span>年 月 日至 年 月 日</span> </p> </td> 
    </tr> 
    <tr class="r4"> 
     <td class="td1"> <p class="p3"> <span>指导教</span> </p> <p class="p3"> <span>师意见</span> </p> </td>
     <td class="td8" colspan="4"> <p class="p3"></p> <p class="p3"></p> <p class="p3"></p> <p class="p3"> <span> 签名:</span> </p> <p class="p3"> <span> 年 月 日</span> </p> </td> 
    </tr> 
    <tr class="r5"> 
     <td class="td1"> <p class="p3"> <span>辅导员</span> </p> <p class="p3"> <span>意见</span> </p> </td>
     <td class="td8" colspan="4"> <p class="p3"></p> <p class="p3"></p> <p class="p3"></p> <p class="p3"> <span> 签名:</span> </p> <p class="p3"> <span> 年 月 日</span> </p> </td> 
    </tr> 
    <tr class="r6"> 
     <td class="td1"> <p class="p3"> <span>系主任意见</span> </p> </td>
     <td class="td8" colspan="4"> <p class="p3"></p> <p class="p3"></p> <p class="p3"> <span> </span> </p> <p class="p3"> <span> 签名:</span> </p> <p class="p3"> <span> 年 月 日</span> </p> </td> 
    </tr> 
   </tbody> 
  </table> 
  <p class="p5"> <span>注:1、请假时需持研究生复试通知单或就聘单位面试通知。</span> </p> 
  <p class="p5"> <span>2、该假条一式两份,一份交至专业负责人处,一份交至辅导员处。</span> </p> 
  <p class="p6"></p>   
 </body>
</html>
0

刚也出了这个问题,检查标签闭合性

0

我也出现了这个问题,没有解决

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
强连通分量及缩点tarjan算法解析
强连通分量: 简言之 就是找环(每条边只走一次,两两可达) 孤立的一个点也是一个连通分量   使用tarjan算法 在嵌套的多个环中优先得到最大环( 最小环就是每个孤立点)   定义: int Time, DFN[N], Low[N]; DFN[i]表示 遍历到 i 点时是第几次dfs Low[u] 表示 以u点为父节点的 子树 能连接到 [栈中] 最上端的点   int
jquery/js实现一个网页同时调用多个倒计时(最新的)
jquery/js实现一个网页同时调用多个倒计时(最新的) 最近需要网页添加多个倒计时. 查阅网络,基本上都是千遍一律的不好用. 自己按需写了个.希望对大家有用. 有用请赞一个哦! //js //js2 var plugJs={ stamp:0, tid:1, stampnow:Date.parse(new Date())/1000,//统一开始时间戳 ...
关于SpringBoot bean无法注入的问题(与文件包位置有关)
问题场景描述整个项目通过Maven构建,大致结构如下: 核心Spring框架一个module spring-boot-base service和dao一个module server-core 提供系统后台数据管理一个module server-platform-app 给移动端提供rest数据接口一个module server-mobile-api 其中server-platform-app 与
OpenCV学习笔记(09):OpenCV3.2+CMake3.8+VS2013,编译opencv_contrib
Cmake编译opencv contrib部分1. 前言最近才知道,在OpenCV3.0 之后,OpenCV算法包被拆分成两部分,官方发布的OpenCV包只包含最基础最稳定的部分,而某些图像处理的经典算法如SIFT和SURF等被封装到opencv_contrib中。如果想要使用这些包,还需要自己另外编译。这些天看了好多帖子,终于把这件事做成了,现在梳理一下。2. 准备工作opencv3.2 源文件下
Android 自定义xmlns
Android 自定义的xmlns其实很简单,语法规则是: 在使用到自定义View的xml布局文件中需要加入xmlns:前缀=http://schemas.android.com/apk/res/你的自定义View所在的包路径. 下面是一个简单的例子: 结构图: MyView.java package kexc.myView; import android.content.Cont
改造动态framework为静态framework
公司产品之前使用xmpp作为底层库,之前同事编译自己的sdk静态库想生成.a库,但是各种编译问题(其实耐心修改配置都能解决),但是从百度找到方案用framework可以解决,所以最终使用的是framework,后来才发现,xcode6已经不想xcode5那样默认生成的就是静态framework,而是可以选择生成动态framework,而悲剧的是打开我们sdk的工程配置一看: dynamic lib
spring加载bean实例化顺序
问题来源: 有一个bean为A,一个bean为B。想要A在容器实例化的时候的一个属性name赋值为B的一个方法funB的返回值。 如果只是在A里单纯的写着: private B b; private String name = b.funb(); 会报错说nullpointException,因为这个时候b还没被set进来,所以为null。 解决办法为如下代码,同时
使用NASM和CL(或LINK)写HelloWorld
原文地址:http://www.tech-juice.org/2011/02/26/assembler-tutorial-hello-world-with-nasm-and-cl-exe-or-link-exe/ 前言 ... 编译汇编代码 我们来编译链接这个名为helloworld.asm的汇编代码 ; This is a Win32 console prog
matlab 霍夫变换—检测圆
文件1---hough_circle.m function [hough_space,hough_circle,para] = hough_circle(BW,step_r,step_angle,r_min,r_max,p) % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % input % BW:二值图像; % step_r:
Android 合并生成分享图片(View截图)
用以前以前写过的自定义课表软件 ,Android 自定义View课程表表格 原生View截图合成分享的图片 看到的是图片只显示到11节处,下面的没有显示到 所以用到的 ScrollView 因此截图节截取ScrollView View的
Hive小文件合并
Hive的后端存储是HDFS,它对大文件的处理是非常高效的,如果合理配置文件系统的块大小,NameNode可以支持很大的数据量。但是在数据仓库中,越是上层的表其汇总程度就越高,数据量也就越小。而且这些表通常会按日期进行分区,随着时间的推移,HDFS的文件数目就会逐渐增加。 小文件带来的问题 关于这个问题的阐述可以读一读Cloudera的这篇文章。简单来说,HDFS的文件元信息,
滑动窗口机制
(1).窗口机制     滑动窗口协议的基本原理就是在任意时刻,发送方都维持了一个连续的允许发送的帧的序号,称为发送窗口;同时,接收方也维持了一个连续的允许接收的帧的序号,称为接收窗口。发送窗口和接收窗口的序号的上下界不一定要一样,甚至大小也可以不同。不同的滑动窗口协议窗口大小一般不同。发送方窗口内的序列号代表了那些已经被发送,但是还没有被确认的帧,或者是那些可以被发送的帧。下面举一个例子(假设
python:pip install 拒绝访问错误的解决办法
在使用pip安装某个包时,python install xxx,会报拒绝访问的错误,解决方式是修改python安装目录的权限http://blog.csdn.net/shang_jia/article/details/78323496
eclipse编译源码慢的解决方法
以cas为例   1.下载cas源码 单点登录(SSO:Single Sign On),最出名的框架,莫过于CAS(Central Authentication Service) 官方网站:https://www.apereo.org/projects/cas 源码地址:https://github.com/Jasig/cas和https://github.com/Jasig/java-c...
连续特征离散化和归一化
连续特征进行离散化处理。
C# webbrowser Frame操作
<br />利用webBrowser获取页面比较简单,MSDN下有示例,在这里不必多说。<br /><br />可是一些 HTML 文档由“框架”构成,或可以存放它们自己独特 HTML 文档的窗口。使用框架可以轻松地创建 HTML 页面,其中一页或多页在其他框架持续更改它们内容的同时保持静态,例如导航栏。<br />HTML 作者可以采用以下两种方法之一创建框架:<br />使用 FRAMESET 和 FRAME 标记,创建固定窗口。<br />- 或 -<br />使用 IFRAME 标记,创建可以在运行
Linux虚拟机与外面系统ping不通,或者连不上网
很多人在做linux课程设计的时候,用的linux虚拟机与外面的系统ping不通,或者虚拟机里面上不了网,这个主要是与系统的默认设置有关,下面让我帮你们解决这个问题吧 1.首先打开虚拟机的    “编辑〉虚拟网络编辑器” 按照我的截图上设置成一样的就好了,最好的是,先把那三个网络先都移除了,然后再重新一个个添加,添加完3个之后,再按照我的截图配置设置成一样的,然后点击应用,最后点击确定。
Ubuntu 源 16.04 比较全的源 Ubuntu software 里面软件较全
东北大学 deb-src http://mirror.neu.edu.cn/ubuntu/ xenial main restricted #Added by software-properties deb http://mirror.neu.edu.cn/ubuntu/ xenial main restricted deb-src http://mirror.neu.edu.cn/ubuntu
FloatingActionButton 完全解析[Design Support Library(2)]
哈,跟随着上篇:Android 自己实现 NavigationView [Design Support Library(1)]之后,下面介绍个Design Support Library中极其简单的控件:FloatingActionButton。
linux上安装Docker(非常简单的安装方法)
最近比较有空,大四出来实习几个月了,作为实习狗的我,被叫去研究Docker了,汗汗! Docker的三大核心概念:镜像、容器、仓库 镜像:类似虚拟机的镜像、用俗话说就是安装文件。 容器:类似一个轻量级的沙箱,容器是从镜像创建应用运行实例, 可以将其启动、开始、停止、删除、而这些容器都是相互隔离、互不可见的。 仓库:类似代码仓库,是Docker集中存放镜像文件的场所。 简单介绍一
tensorflow学习笔记(二十二):Supervisor
如何使用Supervisor在不使用Supervisor的时候,我们的代码经常是这么组织的variables ... ops ... summary_op ... merge_all_summarie saver init_opwith tf.Session() as sess: writer = tf.tf.train.SummaryWriter() sess.run(init) sa
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 怎么学习互联网大数据 村干部学习大数据心得